¿y todo eso lo capturarás con el PIC? Shocked
hola, espero que si, siendo tu quien me lo dice, me tira atras todas mis espectativas
no crees que a 20 Mhz le de tiempo a analizar tres frecuencias diferentes, y la amplitud de la nota, el controlador para midi que monte utiliza 64 potenciometros (tiempo de adquisicion+t. de conversion+mas salvado del resultado de la conversion en eeprom+envio de tres bytes por la usart de 64 canales+un telado de 80 pulsdores......) y le da tiempo mas que de sobra,tambien he visto proyectos de gente que usa un 16f877 para hacer efectos;no se que frecuencia de muestreo alcanzaran, desde luego no creo que sea 24bit/192khz que es a la que trabajan las mejores targetas de sonido, como pro-tools o motu, pero se defienden, que tiempo minimo podria usar para medir una frec ; si es necesario puedo enlazar varios pic por i2c unos se dedican a analizar y otro manejaria un sid pero no creo que sea necesario ya un comodore hacia musica con él ¿a que frecuencia de trabajo se movia este pequeñin?
viva la musica retro de 8 bit
en el datasheet del sid la frecuencia maxima que exponen en la tabla temperada(pag 10) es de 395.106Hz
FREQ LO/FREQ HI (Registros 00,01):
Juntos, estos registros forman un número de 16-bits que controla linearmente la frecuencia del oscilador 1. La frecuencia se determina mediante al siguiente ecuación:
Fout = (Fn * Fclk / 16777216) Hz
Donde Fn es el número de 16-bit en los registros de frecuencia y Fclk es el reloj del sistema aplicado a la entrada ø2 (pin 6). Para un reloj standard de 1.0 MHz, la frecuencia esta dada por:
Fout = (Fn * 0.059604645) Hz
Notese que la resolución de frecuencia del SID es suficiente para cualquier escala de entonación y permite el glisado de nota a nota (portamento) sin saltos discernibles en la frecuencia.
PW LO/PW HI (Registros 02,03)
Juntos estos registros forman un número de 12-bit (bits 4-7 de PW HI no se usan) que controla linearmente el ancho del pulso (ciclo útil) de la forma de onda pulso del oscilador 1. El ancho del pulso es determinado por la siguiente ecuación:
PWout = (PWn/40.95) %
Donde PWn es el número de 12-bit en los registros de ancho de pulso.
La resolucón del ancho del pulso permite que se variada suavemente sin saltos discernibles. La forma de onda pulso debe ser seleccionada para el oscilador 1 para que el valor de estos registros tenga algún efecto audible. Valores de 0 o 4095 ($FFF) en estos registros producira una salida constante de CC, mientras que un valor de 2048 ($800) producira una onda cuadrada [Un valor de 4095 no producira una salida constante de CC]estos son los registros que quiero manejar, con la frec los registros 0 y 1 y con la amplitud al ancho de pulso, aunque se le pone un mando y se regula igual para todas. creo que sera cuestion de probar
para los registros frec_lo,frec_hi se hace la cuenta trabajando a 1Mhz; fn=66288 es igual a una frecuencia de 395.106Hz supongo que para rellenar estos registros tendre que dividir la frec de la cuerda por 0.059604645 y asi obtengo el nº de 0 a ffff asi el sid lo vuelve a reconvertir a la frec original, pero estoy pensando en que este dato puede ser "engañado" en la rutina para contar la frecuencia, variando el tiempo que tarda el programa en adquirir la frec puedo variar el tiempo hasta que coincida con los valores para el sid, o alguna otra ilogica forma que se me ocurrira
igual que en un sintetizador lo son las teclas.
efectivamente
no os he contado que por si acaso, le he puesto dentro del mastil un cablecillo a cada traste, que si bien puede usarse para reconocer que traste se ha pisado utilizandolo como un teclado de resistencias en serie.a ver si lo acabo y le saco unas fotillos para que lo veais, de todas formas si se os ocurre alguna otra forma, aun estoy a tiempo de añadir otro sistema para reconocer la nota
un saludo y gracias