Paso 5: Diseño de Software
El código de sintetizador fue escrito en Arduino, que escribir es básicamente llano C código. Se utilizaron librerías MIDI y SPI como una conveniencia. El código está escrito como un solo archivo. Hay no incluye a las bibliotecas de referencias.
Codificación de un sintetizador trata de bucles. Existe el bucle principal, cuyo trabajo es girar alrededor comprobando si notas han llegado vía MIDI o si es el momento de servicio uno de los sobres. Hay sobres para VCA y de VCF, así como un simple encendido-apagado LFO para el VCA. También hay un lazo para mantener la función de deslizamiento. El SN76489 salidas una señal una vez ajustada, otra de que MIDI que no es nada muy crítico en el tiempo. Por lo tanto, todo se maneja por votación y no se utilizan las interrupciones (que no sea MIDI).
Si se reproducían las muestras y necesarios para mantener una tasa de bits, entonces sí, interrupciones sería necesarias.
El código se puede encontrar aquí:
https://github.com/quarterturn/squareinator
Usted puede utilizar "git clone https://github.com/quarterturn/squareinator.git" para obtener una copia, o simplemente utilizar la interfaz web en github.
El código está licenciado bajo GPL v2.