Sugeriría que incluso si desea utilizar etapas de filtrado analógico (pueden dar al sonido una calidez que puede ser difícil de lograr a través de otros medios), puede ser una buena idea generar digitalmente las formas de onda de inicio. Muchas máquinas recreativas de Williams Electronics en la década de 1980 generan sonido utilizando una placa que contenía un microprocesador 6800, una pequeña cantidad de RAM y ROM, y un poco de E / S, incluido un DAC. Todos los efectos de sonido se generaron utilizando lazos de programa ajustados que generaron muestras y las alimentaron al DAC. Como el procesador se usó para nada más que la generación de sonido, la velocidad de ejecución del bucle podría usarse para la sincronización.
En la práctica, incluso los microcontroladores más simples tienen algún tipo de recurso de temporizador, que podría ser útil si desea poder cambiar los parámetros de audio mientras reproduce sonidos. Usando algo como el código 6805, uno comenzaría escribiendo una rutina de sondeo para cada voz; para la velocidad, estas rutinas vivirían en la RAM, algo como:
encuesta1:
brclr TMR_CONTROL, TMR_READY, sondeo; Espere a que comience el próximo 'tic'
bclr TMR_CONTROL, TMR_READY
FRQ1L: lda #PATCH
PH1L: agregue #PATCH
sta PH1L + 1; Valor de parche para LSB de fase
FRQ1M: lda #PATCH
PH1M: agregue #PATCH
sta PH1M + 1; Código de parche
FRQ1H: lda #PATCH
PH1H: agregue #PATCH
sta PH1H + 1; Código de parche
sta FETCH + 2; Parche LSB del objetivo
FETCH: lda TABLE_BASE; Dirección de 16 bits
clr DAC_ENABLES
sta DAC_OUTPUT
lda # ENABLE_1
sta DAC_ENABLES
rts
A continuación, uno tendría un bucle principal que llamaría repetidamente a la rutina de sondeo para cada voz en secuencia y, entre llamadas, realizaría cualquier otra lógica necesaria (por ejemplo, ver si algún parámetro de voz necesitaba ser actualizado). Con este enfoque, es posible actualizar un buen número de voces con una alta frecuencia de muestreo.
Si bien es posible hacer la generación de onda inicial completamente utilizando circuitos analógicos, es difícil tener múltiples generadores analógicos independientes cuyas características de frecuencia sean absolutamente idénticas dentro de una fracción de un porcentaje. El oído humano es muy sensible a las variaciones en el tono, mucho más que a las variaciones en la amplitud, por lo que todo lo que se use para generar la señal debe ser muy consistente. Usar un microcontrolador simple como punto de partida es una buena manera de obtener esa consistencia, incluso si uno alimenta la señal generada a través de un circuito de conformación analógico.