Vizitator Postat August 8, 2012 Partajează Postat August 8, 2012 Am făcut opt oscilatoare dreptunghiulare, cu factor de umplere 50%, fiecare cu o frecvenţă corespunzătoare unei note muzicale: Problema este că, atunci când mixez mai multe oscilatoare, sunetul nu mai e deloc muzical, începe să semene cu cel al unui mistreţ strâns de ouă! Dacă mixez toate oscilatoarele, obţin ceva care sună a zgomot alb (white noise). Ştie cineva de ce? E normal aşa? Dacă aş mixa semnal sinusoidal, aş scăpa de problemele astea? De ce la un pian, sau la un alt instrument muzical, nu se întâmplă la fel? Toate notele sunt generate pornind de la acelaţi ceas. Din cauza asta, apar tot felul de "bătăi" şi intermodulaţii. Mai mult, deşi semnalele sunt sincrone, faza poate să difere. Depinde de momentul când au fost apăsate clapele. Am observat că la ureche se simt foarte clar, şi diferenţele de frecvenţă (apar bătăi), şi defazajele între două frecvenţe (defazaje diferite înseamnă spectru diferit). Ce percepe urechea? Defazajele? Frecvenţele absolute? Frecvenţele relative? Spectrul? Toate?!? S-a mai jucat cineva cu sintetizatoare de sunet? De fapt, ce parametri contează? Acum e târziu şi sunt supărat la maxim! Pun mâine schema bloc şi nişte înregistrări. Link spre comentariu
dan cod Postat August 9, 2012 Partajează Postat August 9, 2012 Parerea mea ca unda dreptunghiulara nu suna muzical niciodata.In urma cu cativa ani m-am jucat cu oscilatoare pe frecvente joase(pana in 15Hz)si cele dreptunghiulare sunau aiurea ,sinusurile sunau cu totul altfel,chiar si cele triunghiulare mi s-au parut mai ok.Am cumparat intre timp si am doua generatoare audio si tot aceeasi parere o am.Sa mixez mai multe nu am incercat atunci,altul era scopul meu. Link spre comentariu
cirip Postat August 9, 2012 Partajează Postat August 9, 2012 Salut RoGeorge,Cred ca mai intai trebuie lamurit ce denumesti mixare.In radio, mixarea este un procedeu multiplicativ, din care apar componente inexistente in spectrele initiale. Operatia este neliniara.In audio, mixare i se spune sumei algebrice a semnalelor. Procedeul este in esenta liniar.Banuiesc ca e vorba de FPGA. Ce intelegi prin "mixare" intr-un circuit digital?Cirip Link spre comentariu
Vizitator Postat August 10, 2012 Partajează Postat August 10, 2012 Schema oscilatoarelor e cam aşa: Mixarea am vrut s-o fac aditiv, ca la un mixer audio analogic. Mai întâi am încercat s-o iau pe scurtătură, am zis că funcţia logică asemănătoare adunării este SAU logic. Am pus o poartă SAU cu 8 intrări, câte o intrare pentru fiecare oscilator. N-a fost bine. Când apăsam toate notele optineam aproape numai 1 logic, sunetul cam dispărea. M-am felicitat pentru "isteţime" şi am încercat să repar, punând XOR în loc de OR. Nu se mai îneca semnalul cu 1, dar tot rău suna. Am renunţat la scurtături şi am făcut ca la carte, cu adunare algebrică. La intrare băgam 8 semnale de 1 bit, iar la ieşire scoteam suma pe 4 biţi, valori între 0 şi 8. Pentru că difuzorul de pe placă este unul piezo, comandat doar cu 0 şi 1 logic, adică pe 1 bit, între sumator şi difuzor am mai intercalat un DAC de tip Sigma-Delta. DAC-ul scoate, de fapt, tot 0 şi 1 logic. Ca să obţin analogic, ar fi trebuit după DAC un integrator analogic, ca să transforme cârnatul de biţi în tensiune medie. Întegrator nu există, am zis că integrează difuzorul + poarta MOSFET-ului care-l comandă. Totuşi am impresia că ceva nu merge bine, prea sună urât. Încă n-am apucat să fac înregistrări, dar voi pune şi nişte sunete, pentru că e greu de descris cum face. Tot mai sper că am greşit pe undeva, altfel, dacă nu merge cu semnal dreptunghiular, înseamnă că va trebui să generez sinusoide. Link spre comentariu
icar Postat August 10, 2012 Partajează Postat August 10, 2012 Din ce stiu eu, este nevoie de un oscilator separat pentru fiecare nota. Apoi se face mixarea lor cu un mixer audio. Eu celm putin asa am facut odata.... Link spre comentariu
Vizitator Postat August 10, 2012 Partajează Postat August 10, 2012 N-am precizat, dar toată schema este într-un singur integrat, un FPGA care se este deja lipit pe placa despre care am scris aici: viewtopic.php?f=14&t=119948Din păcate, totul trebuie să fie digital. FPGA-urile conţin numai circuite digitale (care pot fi configurate după bunul plac), aşa că nu am cum să fac mixare analogică. Nici oscilatoare separate (adică să nu fie sincrone) nu prea am cum să fac, pentru că totul pleacă de la un singur ceas de 50 MHz. S-ar putea face nişte artificii, astfel încât să pară că nu sunt sincrone, dar mă tem că devine prea complicat.Scopul iniţial era să testez dacă se aude difuzorul de pe placă, şi nu ştiu cum am făcut, dar am ajuns la DSP-uri... Link spre comentariu
Vizitator Postat August 10, 2012 Partajează Postat August 10, 2012 Mergeee!!! :yahoo: Mulţumesc pentru sfaturi. Erau mai multe cauze. În primul rând, felul în care se făcea mixarea: 1. Cu OR logic. Nu sună bine. Seamănă cu sunetele de la melodia din , iar atunci când apăs multe butoane deodată, ieşirea tinde să se satureze cu "1" logic şi sunetul se îneacă: 2. Cu XOR logic. Tot nu sună bine, iar dacă apăs multe butoane simultan, sunetul seamănă cu zgomotul alb: 3. Cu adunare pe 4 biţi urmată de un DAC Sigma-Delta. Ar fi trebuit să meargă, dar greşisem convertorul, nu pusesem nişte paranteze, şi ieşise altă bazaconie. După ce am corectat, cu adunare pe 4 biţi urmată de DAC Sigma-Delta, sună ceva mai bine, dar tot nu merge când apăs multe butoane: Bănuiala mea este că se întâmplă aşa pentru că difuzorul este comandat de un MOSFET. Deschiderea se face mai repede, dar blocarea lui durează mult mai mult, pentru că nu are prevăzute circuite care să extragă sarcina stocată în grilă. Conversia Sigma-Delta are proprietatea că "împrăştie cât mai uniform" pulsuri foarte scurte. Asta înseamnă că dacă pulsurile scoase de DAC sunt suficient de apropiate, grila MOSFET-ului se saturează cu sarcini şi MOSFET-ul rămâne deschis în loc să comute în ritmul impulsurilor. De aceea, un DAC cu PWM ar fi mai avantajos, pentru că PWM-ul ţine pulsurile de 1 şi de 0 grupate, nu le împrăştie ca Sigma-Delta. 4. Cu adunare pe 4 biţi urmată de un DAC PWM. Sună cel mai bine din toate, chiar şi cu multe note deodată: L.E. Mă cam mănâncă degetele să complic lucrurile şi mai tare. Dacă aş modula în amplitudine fiecare oscilator cu câte o anvelopă ADSR (Attack Decay Sustain Release) urmată de un filtru IIR, ar ieşi un sintetizator în toată regula. Link spre comentariu
Postări Recomandate
Creează un cont sau autentifică-te pentru a adăuga comentariu
Trebuie să fi un membru pentru a putea lăsa un comentariu.
Creează un cont
Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!
Înregistrează un nou contAutentificare
Ai deja un cont? Autentifică-te aici.
Autentifică-te acum