Sinth polifonico

Buonasera a tutti e soprattutto felice anno nuovo. Anno nuovo, problemi nuovi...
Allora, avrei bisogno di un aiuto per lo sviluppo di un programma che riesca, da input midi tramite usb, gestire quante più uscite con frequenze diverse in onda quadra. Purtroppo non avendo mai bazzicato troppo con i timer di arduino, vorrei sapere se qualcuno ha idea di come gestire il tutto. La mia idea sarebbe di utilizzare i comparatori del timer 1 e 2 di un arduino uno e cambiare i registri a seconda della frequenza desiderata, ma penso sia un po' di difficile attuazione... Attendo suggerimenti e ringrazio in anticipo per l'aiuto! Buona giornata!

Buongiorno,
essendo il tuo primo post, nel rispetto del regolamento della sezione Italiana del forum (… punto 13, primo capoverso), ti chiedo cortesemente di presentarti IN QUESTO THREAD (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con MOLTA attenzione il su citato REGOLAMENTO ... Grazie. :slight_smile:

P.S.: Ti ricordo che, fino a quando non sarà fatta la presentazione, nessuno ti potrà rispondere, quindi ti consiglio di farla al più presto. :wink:
(... copiato da Guglielmo :wink: )

Mi scuso tanto per la mancata presentazione nel forum, avevo dato solo una scorta veloce al regolamento e non avevo letto della presentazione nell'apposito thread. Spero di poter rimediare, chiedo venia. Buona serata a tutti!

Franz_z99:
Allora, avrei bisogno di un aiuto per lo sviluppo di un programma che riesca, da input midi tramite usb, gestire quante più uscite con frequenze diverse in onda quadra.

Non so se qualcuno mi potrà contraddire, ma mi spiace, non credo che si possa realizzare un output polifonico con Arduino, non ha né l'hardware né la sufficiente potenza di elaborazione, neanche con suoni ad onda quadra (??).

Forse descrivendo meglio l'esigenza ci possono essere altre soluzioni, ma non so...

La mia preoccupazione era quella infatti, in pratica la mia idea sarebbe stata di usare un timer che mi vada in overflow ogni microsecondo, sfruttando gli interrupt incremento un numero di variabili da definire(in base al numero di note da generare in contemporanea) fino ad un loro raggiungimento di variabile di soglia, a questa soglia il pin predefinito cambierà stato. La soglia viene calcolata dalla frequenza. Non so se mi sono spiegato sufficientemente bene. Anche le mie paure erano rivolte alla velocità di esecuzione di queste attività, andando a modificare drasticamente le frequenze in uscita... Non so se possano esistere altre soluzioni...

C'e' chi ha realizzato qualcosa del genere, ma con una Teensy ... con solo arduino la vedo dura ... a meno forse di non trovare un generatore di toni pilotabile in I2C ed usare Arduino solo per pilotarlo ...

EDIT: c'e' anche questa pagina che parla di una cosa minimalista con un tiny, ma non ho idea se possa essere quello che cerchi ...

Ben venga, mi pare che il progetto con l'atiny faccia al caso mio, valuterò comunque l'utilizzo di un microcontrollore più veloce come quelli montati sulle schede della ST Nucleo. Grazie mille ancora per le risposte!