note musicali

Sep 02, 2006 12 Replies

Ciao Ragazzi!



Qualcuno di voi saprebbe dirmi come =E8 possibile riprodurre una nota con un dispositivo elettronico come un microcontrollore? Premetto che ho cercato qualcosa su internet e ho trovato solo le frequenze delle note....ma.... il duty-cycle quanto deve essere ed il segnale deve essere sinusoidale o ad onda quadra?



Grazie e a presto!



Cristian



snipped-for-privacy@libero.it ha scritto:

La frequenza stabilisce l'altezza della nota: es. il classico LA a 440 Hz. La forma del segnale rappresenta il timbro: un oboe è diverso da un pianoforte anche se suonano la stessa nota proprio a causa degli armonici diversi. Una forma d'onda sinusoidale è priva di armonici, il fischio si avvicina molto.

Con un uC puoi ottenere facilmente un'onda quadra (il classico suono dello speaker del PC per intenderci) oppure un'onda sinusoidale. In questo caso puoi usare un filtro passa-banda centrato sulla frequenza che ti serve.

Se però vuoi generare note differenti e/o con timbri diversi da sinusoide e quadra ti conviene usare degli integrati dedicati allo scopo.

Ciao, Marco / iw2nzm

Ah, pensavo che il duty-cycle fosse sempre fisso...quindi,faccio un esempio: a 440 Hz con diversi duty-cycle e forme d'onda ottengo diversi timbri?Pur suonando la stessa nota.

Cristian

snipped-for-privacy@libero.it ha scritto:

Si, è così. La frequenza fondamentale (440 Hz) ti dice di quale nota si tratta a prescindere dalla forma d'onda. Nel caso specifico cambiando il duty-cycle cambiano gli armonici e quindi il timbro, ma non aspettarti granché come suono :)

Ciao, Marco / iw2nzm

Quindi,per capire meglio.... La forma d'onda originariamente emessa dal 'La' a 440 Hz che cosa =E8? Una sinusoide che ha valori solo positivi o anche negativi? Es.: 0 +2 +3 +2 +1 0 -1 -2 -3 -2 -1 0 .....Volts piuttosto che mV....

Mi auguro di essermi fatto capire e ancora Grazie!

Cristian

snipped-for-privacy@libero.it ha scritto:

Semplificando molto, tutti i suoni li puoi pensare come somma di tante (infinte) sinusoidi dove quella a frequenza più bassa ti da la nota (i soliti 440 Hz) e l'ampiezza e la fase delle altre modifica la forma d'onda e quindi il timbro.

Dunque, per avere la nota desiderata è sufficiente che la fondamentale sia alla frequenza voluta. Trattandosi di una sinusoide il valore istantaneo oscillerà rispetto a un valore medio. Che questo sia 0 o diverso da 0 a poca importanza, dipende piuttosto cosa ci devi fare con questo segnale.

Esempio pratico: se devi pilotare una cuffia è necessario che il valore medio sia nullo, altrimenti scaldi e rischi di bruciare gli avvolgimenti (valore medio = continua). Se invece lo devi amplificare può essere utile che il valore medio sia diverso da zero per semplificare l'accoppiamento con gli stadi successivi.

Se hai in mente qualcosa di preciso prova a descriverlo così ti possiamo aiutare.

Ciao, Marco / iw2nzm

B=E8, io vorrei collegare un piccolo altoparlante al mio microcontrollore,per l'esattezza un Pic, e far emettere delle note,niente di che.... Una piccola melodia,ecco,per=F2 suonando le giuste note con le giuste frequenze. Per iniziare va bene anche far suonare la scala di 'Do' o un paio di note addirittura...

Cristian

[CUT]

Potresti spiegarmi il perché di questa affermazione per piacere? Grazie.

Stefano ha scritto:

i=2E

Il discorso =E8 legato alla necessit=E0 di polarizzare gli stadi. In pratica, si aggiunge al segnale che si vuole amplificare una tensione continua adatta a far funzionare gli elementi attivi (transistor, operazionali o quello che vuoi) intorno ad un punto in cui possono amplificare. La loro funzione =E8 proprio quella di trasferire della potenza fornita dall'alimentazione in continua al segnale che si vuole amplificare e per farlo devono trovarsi in condizioni ben appropriate. A grandi linee, puo' capitare che il segnale di uscita di uno stadio non sia direttamente compatibile con le condizioni di lavoro richieste dal transistor successivo. Per questa ragione, si aggiusta un po' il tiro utilizzando qualche componente (un condensatore) per disaccoppiare in continua e per 'ritoccare' la componente continua del segnale che deve essere amplificato.

snipped-for-privacy@libero.it ha scritto:

Concordando quasi in tutto con quanto detto da Stefano (a parte il caso degli amplificatori in continua, per esempio gli stadi di ingresso di un oscilloscopio, ma neppure io avevo pretesa di generalit=E0 nell'intervento), per ritornare nel seminato, io ti consiglierei di utilizzare un transistor NPN all'uscita di un piedino dell'integrato con una resistenza diciamo da 1kOhm sulla base, l'emettitore a massa e di collegare una cuffia fra il collettore del transistor e l'alimentazione, con in serie una resistenza da qualche decina di Ohm che potrai variare empiricamente a seconda del volume che desideri avere. Questo, seppur piuttosto scarno ed ampiamente migliorabile, dovrebbe permetterti di sentire qualcosa. Il problema adesso =E8 software e dovrai riuscire a far produrre al microcontrollore un'onda rettangolare con un qualunque duty cycle, ma alla frequenza dettata dalle tabelle.

Una volta che farai questo, ti interrogherai in seguito su come rendere il suono pi=F9 piacevole e qui la faccenda puo' complicarsi senza limiti. Tuttavia, senza pretendere la luna, penso che si possano avere delle cose accettabili con uno sforzo ragionevole.

Pensavo fosse chiss=E0 che cosa generare un suono ed invece.... Basta sapere le frequenze(che ho gi=E0 trovato su internet) e via..... Sapendo programmare un po' il micro...il tutto si semplifica.

Ragazzi,devo solo ringraziarvi ora per aver dato spiegazione ai miei dubbi!! Grazie e alla prossima!!

Cristian

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required