luiscoco escribió:Yo recuerdo que también se pueden hacer 4 voces, aunque sonaba muy, extraño y monótono.
Hola Pser1 revise el fuente y por supuesto no lo entiendo todo, Necesitaría mas datos, a ver si puedes ayudarme,
Los Paterns son los datos a poner en el DAC (6 bits) y contendrían una forma de onda no? aunque los veo muy cambiantes.
Cuantos valores de estos puedes enviar al dac durante cada interrupción?
Las notas son ondas sinusoidales? o hay formas de onda complejas, instrumentos?
La idea es colocar en RAM la melodía a tocar a la vez que se juega, activar, digamos la duración y en el próximo INT se
comenzaría a ejecutar parte de la música o efectos de sonido, (recuerda que puede haber efectos en medio de la música)
Hola Luis,
voy a ir por partes ...
- Hay programas que usan el 100% de la CPU y permiten usar cuatro y hasta cinco voces, por ejemplo Orchestra-90 y no suenan nada mal.
- Para una sola voz con envolventes y otros efectos, busca el programa Synther7, te gustará (100% de CPU)
- Las dudas que te surjan, expónlas aquí mismo así puede que se enganche mas gente!
Lo que en el fuente, Simon llama "Patterns" para mi son compases de una partitura que contiene pares de notas, una para cada canal de sonido
El DAC es un simple convertidor digital -> analógico, por lo tanto convierte el valor que pones en los 6 bits mas altos de $ff20
en un nivel de voltaje que se aplica a la salida de audio. Este nivel debe variar o no oirás nada de nada, la señal sonora es alterna
por lo que debe fluctuar entre un valor máximo y otro mínimo un número de veces por segundo, lo cual determina su frecuencia.
-La forma de onda generada por el programa que se limita a sumar una cantidad al valor anterior hasta desbordar y empezar de cero
nuevamente es una onda de rampa ascendente.
- En cada interrupción de linea (HS) se envía un valor por cada canal (sumados)
Tengo preparada una versión que permite entrar una canción empleando (casi) notación musical estándar:
C_3, Fs3 produce el Do de la octava 3 y el Fa sostenido (F#) de la misma octava, ya lo veréis cuando lo suba
De momento se queda en desarrollo pues he estado hablando con Simon y me ha pasado varias ideas que se
podrían aplicar para ir integrando el player a cualquier juego-programa que disponga de un bucle principal
como es el caso de Tiburón.
Sigue el hilo y ya iremos comentando cosas. Lo importante es conseguir algo que *NO* se coma demasiada CPU
y pueda estar sonando mientras el Jefe Brody se está moviendo ...
Jo, menudo ladrillo te he soltado, lo siento
saludos
pere