Pagina 1 di 1

Effetti voce con microcontrollori

MessaggioInviato: 7 gen 2013, 23:50
da EnneGi
Salve a tutti! Sono sempre stato appassionato di un gruppo musicale chiamati Kraftwerk

http://www.youtube.com/watch?v=VXa9tXcMhXQ

e mi chiedevo se è possibile creare generare l'effetto voce da robot con qualche tipo di microcontrollore, microprocessore o simili. A me interessa che sia un oggetto programmabile :D Al tempo del gruppo sopra citato non so cosa usassero sinceramente, dal momento che loro hanno progettato i loro strumenti (a quanto dice la biografia dei componenti del gruppo).
Se invece non è possibile creare generare l'effetto con l'utilizzo di un microprocessore o microcontrollore (mi sembra strano, ma magari lo si dice perché diventerebbe un lavoro fuori portata), mi interesserebbe conoscere uno schema elettrico che serva a fare quello, così posso anche capire come possa essere creato realizzato questo particolare effetto :D
Grazie per l'attenzione e spero di non aver detto assurdità O_/

Re: Effetti voce con microcontrollori

MessaggioInviato: 8 gen 2013, 0:00
da dimaios
Inizia a leggere questo documento base e poi magari ne riparliamo per la realizzazione digitale.

Re: Effetti voce con microcontrollori

MessaggioInviato: 11 gen 2013, 12:16
da EnneGi
dimaios ha scritto:Inizia a leggere questo documento base e poi magari ne riparliamo per la realizzazione digitale.


Grazie per la risposta :) si mi interesserebbe costruire un Vocoder...ho esperienza con l'utilizzo di PIC Mirco, però sinceramente non saprei come elaborare la forma d'onda entrante in modo che in uscita del PIC esca un segnale analogico...non so se mi sono spiegato :oops: Gli ingressi di conversione A/D li so usare, ditemi se è possibile come realizzazione con i PIC :)

Re: Effetti voce con microcontrollori

MessaggioInviato: 11 gen 2013, 13:59
da TardoFreak
Con un PIC32 si, magari anche con un dsPIC.
Di sicuro non con PIC16/18/24

Re: Effetti voce con microcontrollori

MessaggioInviato: 11 gen 2013, 14:25
da EnneGi
TardoFreak ha scritto:Con un PIC32 si, magari anche con un dsPIC.
Di sicuro non con PIC16/18/24


interessante! potresti darmi qualche dritta? Nel senso, io pensavo di ragionare così:

- acquisisco il segnale tramite porta A/D;
- elaboro il segnale con qualche algoritmo;
- mando in uscita il segnale.

il problema che non so risolvere è l'ultimo, cioè come faccio a far uscire un segnale analogico da un PIC? Perché se elaboro un segnale analogico, per ottenere una forma d'onda particolare penso che debba essere per forza un segnale analogico quello di uscita...So che da un PIC può uscire solo un segnale digitale...fammi sapere così posso mettermi all'opera :) e spero di essermi spiegato :roll:

Re: Effetti voce con microcontrollori

MessaggioInviato: 11 gen 2013, 14:41
da TardoFreak
Puoi usare un DAC collegato tramite l' SPI, oppure puoi generare con le uscite di uon o due timer un segnale PWM, dipende se il segnale è mono o stereo.

Re: Effetti voce con microcontrollori

MessaggioInviato: 11 gen 2013, 15:01
da EnneGi
TardoFreak ha scritto:Puoi usare un DAC collegato tramite l' SPI, oppure puoi generare con le uscite di uon o due timer un segnale PWM, dipende se il segnale è mono o stereo.


Beh visto che il segnale di un microfono è mono, penso che sia meglio un solo PWM :) ma come si trasforma il segnale PWM in forma d'onda analogica?

Re: Effetti voce con microcontrollori

MessaggioInviato: 11 gen 2013, 15:04
da TardoFreak
Con un semplice filtro RC resistenza ed un condensatore. E chiaro che la frequenza deve essere molto elevata.
E comunque io ci metterei un bel filtro per eliminare la componente della frequenza di campionamento.

Ma qui passo la palla agli analogici, io sono solo un microcontrollista.

Re: Effetti voce con microcontrollori

MessaggioInviato: 11 gen 2013, 15:10
da EnneGi
Grazie mille per la risposta :) adesso cerco in internet e aspetto la risposta di qualcuno che sappia dirmi come comportarmi...per caso hai qualche idea su come creare l'algoritmo per ottenere varie modifiche al segnale? Giusto per farmi un'idea, dopo comunque ci penserò io :)

Re: Effetti voce con microcontrollori

MessaggioInviato: 11 gen 2013, 15:38
da EnneGi
Una cosa (ammetto di essere ignorante su ciò ma voglio imparare): siccome conosco il segnale PWM solo a livello teorico ho bisogno di aiuto...io so che devo fare questo:

implementare una funzione di setup:
Codice: Seleziona tutto
void PWMSetup(void) {
CCP1CON=0; //resetto il modulo CCP1
CCP2CON=0; //resetto il modulo CCP2
PR2=0xFF; //inserire qui il valore di PR2 desiderato
PWMDuty1(512); //DC 50% con LAP
PWMDuty2(512); //DC 50% con LAP
TRISC2=0; //setto come out il pin
TRISC1=0;
T2CON=0b00000100; //senza prescaler e post scaler e attivo Timer2
CCP1M3=1; CCP1M2=1; CCP1M1=0; CCP1M0=0; //modalit... PWM
CCP2M3=1; CCP2M2=1; CCP2M1=0; CCP2M0=0; //modalit... PWM
}


implementare una funzione di variazione di duty cycle del primo e secondo modulo:

Codice: Seleziona tutto
void PWMDuty1(unsigned int duty1) {
CCP1Y= 0b00000001&duty1;
CCP1X= 0b00000001&(duty1>>1);
CCPR1L=0b11111111&(duty1>>2);
}
void PWMDuty2(unsigned int duty2) {
CCP2Y= 0b00000001&duty2;
CCP2X= 0b00000001&(duty2>>1);
CCPR2L=0b11111111&(duty2>>2);
}
void PWMDuty(unsigned int duty1,unsigned int duty2){
PWMDuty1(duty1);
PWMDuty2(duty2);
}


Però come faccio a mandare in uscita il segnale nella porta output PWM? Viene inviato continuamente il segnale?