Cov txheej txheem:

Lub Sij Hawm Tiag Tiag Suab rau MIDI Converter: 7 Kauj Ruam
Lub Sij Hawm Tiag Tiag Suab rau MIDI Converter: 7 Kauj Ruam

Video: Lub Sij Hawm Tiag Tiag Suab rau MIDI Converter: 7 Kauj Ruam

Video: Lub Sij Hawm Tiag Tiag Suab rau MIDI Converter: 7 Kauj Ruam
Video: NLP with Python! Term Frequency-Inverse Document Frequency (tf-idf) 2024, Hlis ntuj nqeg
Anonim
Real-time Suab rau MIDI Converter
Real-time Suab rau MIDI Converter

Cov neeg phem! Nov yog qhov haujlwm uas kuv tau ua haujlwm rau ib qho ntawm kuv cov kev kawm (Real-Time Digital Signal Processing) hauv kuv daim bachelor's program. Lub phiaj xwm phiaj xwm ntawm kev ua DSP system uas "mloog" cov ntaub ntawv audio thiab tawm MIDI cov lus ntawm cov ntawv sib xws hla UART. Arduino Nano tau siv rau lub hom phiaj no. Zaj dab neeg luv luv micro-maub los ua FFT ntawm cov ntaub ntawv audio thiab ua qee qhov kev tshuaj xyuas ntawm qhov siab tshaj thiab xa cov lus MIDI tsim nyog. Tsis txhob txhawj xeeb txog MOSFETs txawm hais tias vim tias lawv yog rau qee qhov haujlwm (uas yuav muab tso rau tom qab ntawm cov lus qhia ib yam) thiab tsis xav tau rau txoj haujlwm no. Yog li cia peb pib ua ntej !!

Kauj Ruam 1: Cov Cheeb Tsam Yuav Tsum Tau

Cov Cheeb Tsam Yuav Tsum Tau
Cov Cheeb Tsam Yuav Tsum Tau

Peb yuav xav tau cov khoom siv hauv qab no los tsim txoj haujlwm no txawm hais tias ntau ntawm cov no yog cov dav thiab tuaj yeem hloov pauv nrog lawv qhov sib npaug. Kuj xa mus rau daim duab qhia chaw kom ua haujlwm thiab yos hav zoov rau kev ua haujlwm zoo dua.

Cheeb Tsam Muaj Peev Xwm

1. Electret Microphone. 1

2. 30 Kilo Ohm resistor. 1

3. 150 Kilo Ohm resistor. 1

4. 100 ohm resistor. 1

5. 2.2 Kilo Ohm resistors. 3

6. 10 Kilo Ohm preset lauj kaub. 1

7. 10 Kilo Ohm trimmer lauj kaub. 1

8. 47 Kilo Ohm lub tso suab lub lauj kaub. 1

9. 470 Ohms resistors. 2

10. 0.01uF capacitors. 2

11. 2.2uF capacitors. 3

12. 47uF capacitors. 2

13. 1000uF capacitor. 1

14. 470uF capacitor. 1

15. 7805 tus tswj hluav taws xob. 1

16. Poj niam thiab txiv neej header strip. 1 ib cdo

17. Barrel Jack txuas. 1

18. 12 V 1 Amp DC Adapter. 1

19. SPST hloov. (Tsis teb los tau) 1

20. Phab ntsa. 1

Kauj Ruam 2: Cov Lus Qhia Tshwj Xeeb

Kev Qhia Tshwj Xeeb
Kev Qhia Tshwj Xeeb

Sampling zaus: 3840 kuaj/sec

Tus naj npawb ntawm kev kuaj ib FFT: 256

Zaus Daws Teeb Meem: 15Hz

Tus nqi tshiab: Ib puag ncig 15 Hz

Qhov qis thiab siab dua ntawm cov suab paj nruas sau tseg tsis raug. Cov ntawv qis dua raug kev txom nyem los ntawm kev daws teeb meem tsawg zaus uas yog ntau dua qhov kev txom nyem los ntawm tus nqi qis. Arduino twb tsis nco lawm yog li tsis muaj txoj hauv kev kom tau txais kev daws teeb meem zoo dua. Thiab kev daws teeb meem zoo dua yuav los ntawm tus nqi ntawm kev txo tus nqi tshiab yog li kev lag luam tawm yog qhov tsis yooj yim sua. Layman version ntawm Heisenberg txoj cai tsis paub tseeb.

Thawj qhov nyuaj yog qhov sib nrug deb ntawm cov ntawv (Raws li pom hauv daim duab. Txhua qhov kev xav ntawm cov zaus zaus yog suab paj nruas sau tseg). Cov txheej txheem zoo li LFT yuav pab tau tab sis qhov ntawd nce qib me ntsis thiab nyuaj me ntsis rau cov cuab yeej zoo li arduino Nano.

Kauj Ruam 3: Daim duab qhia chaw

Daim duab qhia chaw
Daim duab qhia chaw
Daim duab qhia chaw
Daim duab qhia chaw
Daim duab qhia chaw
Daim duab qhia chaw
Daim duab qhia chaw
Daim duab qhia chaw

Nco tseg: Tsis txhob cuam tshuam los ntawm peb MOSFETs thiab cov ntsia hlau txuas hauv cov duab. Lawv tsis xav tau rau txoj haujlwm no. Daim ntawv ceeb toom tias lub rooj tswj hwm lub microphone tuaj yeem tshem tawm lossis raws li lawv hu nws ua Modular. Cov lus piav qhia me me ntawm ntau yam thaiv tau muab rau hauv qab no.

1) Ob qho 470 ohm resistors sib txuas ua ke lub tso suab tso suab rau mono suab teeb liab. Ua kom ntseeg tau tias lub hauv paus ntawm lub teeb liab mus rau hauv av virtual (vg hauv daim duab qhia chaw) thiab tsis yog rau hauv av ntawm Circuit Court.

2) Cov thaiv tom ntej yog qhov kev txiav txim zaum thib ob sallen-key low pass lim uas yog lub luag haujlwm rau band txwv cov teeb liab nkag mus kom tsis txhob muaj npe cuav. Txij li thaum peb tab tom ua haujlwm nrog tsuas yog +12v khoom peb ua rau op-amp los ntawm kev ua RC qhov faib hluav taws xob. uas dag op -amp rau hauv kev xav tias cov khoom siv yog 6 0 -6 volts muab (ob txoj kev tsheb nqaj hlau) qhov twg vg yog qhov siv hauv av rau op amp.

3) Tom qab ntawd cov zis tau qis dhau los txhawm rau thaiv DC offset ntawm 6 volts thiab txuas nrog DC ntawm ib puag ncig 0.55 volts vim tias ADC yuav teeb tsa los siv sab hauv 1.1 v li Vref.

Nco tseg: Lub suab nrov ua ntej rau lub tshuab electret microphone tsis yog qhov zoo tshaj plaws hauv internet. Ib lub voj voog uas cuam tshuam nrog op-amp yuav yog qhov kev xaiv zoo dua. Peb xav kom cov lus teb zaus ua kom tiaj li sai tau. Lub 47 kilo ohms lub tso suab lub lauj kaub tau siv los txheeb xyuas qhov txiav tawm zaus uas yuav tsum yog ib nrab piv txwv piv txwv. Lub 10 kilo ohm preset (Lub lauj kaub me me nrog lub taub hau dawb) yog siv los qhib qhov nce thiab Q tus nqi ntawm lub lim. Lub lauj kaub tais diav 10 kilo ohm (ib qho nrog lub pob zeb hloov kho qhov muag uas zoo li lub taub hau me me ntsia hlau) tau siv los teeb tsa qhov hluav taws xob kom ze li ib nrab ntawm Vref.

Nco tseg: Thaum koj txuas Nano mus rau PC khaws SPST qhov qhib qhib lwm qhov kaw. Khaws kev saib xyuas tshwj xeeb ntawm qhov ua tsis tiav no tuaj yeem ua teeb meem rau lub Circuit/computer/tus tswj hluav taws xob lossis ib qho ua ke ntawm cov saum toj no

Kauj Ruam 4: Cov Ntawv Thov Tsim Nyog thiab IDEs

Cov Ntawv Thov Tsim Nyog thiab IDEs
Cov Ntawv Thov Tsim Nyog thiab IDEs
Cov Ntawv Thov Tsim Nyog thiab IDEs
Cov Ntawv Thov Tsim Nyog thiab IDEs
Cov Ntawv Thov Tsim Nyog thiab IDEs
Cov Ntawv Thov Tsim Nyog thiab IDEs
Cov Ntawv Thov Tsim Nyog thiab IDEs
Cov Ntawv Thov Tsim Nyog thiab IDEs
  1. Txog kev txheeb xyuas Arduino Nano Kuv tau mus nrog qhov qub AVR studio 5.1 vim tias nws zoo li ua haujlwm rau kuv. Koj tuaj yeem pom tus installer ntawm no.
  2. Rau lub cajmeem Arduino Nano Kuv siv Xloader. Nws yooj yim heev los siv lub cuab yeej hnyav kom hlawv.hex cov ntaub ntawv rau Arduinos. Koj tuaj yeem tau txais ntawm no.
  3. Rau me ntsis ntxiv mini project thiab kho lub Circuit Court Kuv siv ua. Koj tuaj yeem tau txais nws los ntawm no txawm hais tias ua rau muaj qhov hloov pauv loj hauv txhua qhov kev hloov kho yog li koj yuav tsum tau fiddle nrog cov haujlwm tsis txaus los ua kom cov duab kos ua haujlwm.
  4. FL studio lossis lwm yam MIDI ua software. Koj tuaj yeem tau txais FL studio txwv tsis pub siv dawb los ntawm no.
  5. Loop MIDI tsim qhov chaw nres nkoj MIDI virtual thiab kuaj pom los ntawm FL studio zoo li nws yog MIDI ntaus ntawv. Tau txais daim ntawv theej los ntawm no.
  6. Hairless MIDI yog siv los nyeem MIDI cov lus los ntawm COM chaw nres nkoj thiab xa nws mus rau lub voj MIDI chaw nres nkoj. Nws kuj tseem debug MIDI cov lus ntawm lub sijhawm tiag tiag uas ua kom debugging yooj yim. Tau Hairless MIDI los ntawm no.

Kauj Ruam 5: Cov lej muaj feem rau txhua yam

Kuv xav ua tsaug Electronic Lifes MFG (Lub Vev Xaib Ntawm No !!) rau qhov chaw ruaj FFT lub tsev qiv ntawv uas kuv siv hauv txoj haujlwm no. Lub tsev qiv ntawv tau ua kom zoo rau mega AVR tsev neeg. Nov yog qhov txuas rau cov ntaub ntawv hauv tsev qiv ntawv thiab cov lej uas nws tau siv. Kuv tab tom txuas kuv tus lej hauv qab no. Nws suav nrog kev kos duab ua haujlwm thiab AVR C code ib yam. Thov nco ntsoov tias qhov no yog kev teeb tsa uas ua haujlwm rau kuv thiab kuv tsis ua lub luag haujlwm dab tsi-li-puas yog koj ua puas yam khoom vim yog cov lej no. Tsis tas li, kuv muaj ntau qhov teeb meem sim ua kom txoj cai ua haujlwm. Piv txwv li, DDRD (Cov Ntaub Ntawv Teev Npe Sau Npe) muaj DDDx (x = 0-7) raws li lub qhov ncauj me ntsis es tsis siv DDRDx (x = 0-7). Saib xyuas qhov ua yuam kev no thaum ua ke. Kuj hloov pauv tus tswj hwm micro cuam tshuam rau cov ntsiab lus no yog li ua tib zoo saib qhov no ib yam thaum ua haujlwm nrog kev suav sau yuam kev. Thiab yog tias koj xav tsis thoob vim li cas qhov phiaj xwm phiaj xwm hu ua DDT_Arduino_328p.rar, zoo cia peb hais tias nws tsaus ntuj heev thaum yav tsaus ntuj thaum kuv pib thiab kuv tub nkeeg txaus tsis qhib lub teeb.: P

Los txog rau kev kos duab kos duab, Kuv tau siv ua 3.3.6 los sau cov duab kos no. Koj yuav tsum tau teeb tsa tus lej COM chaw nres nkoj hauv daim duab kos. Koj tuaj yeem tshawb xyuas cov lus pom hauv cov cai.

Yog tias leej twg tuaj yeem pab kuv xa cov lej rau Arduino IDE thiab ua cov txheej txheem tshiab kawg, Kuv zoo siab thiab yuav muab cov qhab nia rau cov tsim tawm kev koom tes ib yam.

Kauj Ruam 6: Teeb Nws

  1. Qhib tus lej thiab suav cov lej nrog #define pcvisual tsis pom zoo thiab #define midi_out tau tawm tswv yim.
  2. Qhib xloader thiab xauj mus rau phau ntawv teev npe nrog tus lej, xauj mus rau.hex cov ntaub ntawv thiab hlawv nws mus rau nano los ntawm kev xaiv lub rooj tsav xwm tsim nyog thiab COM chaw nres nkoj.
  3. Qhib cov txheej txheem kos duab thiab khiav nws nrog qhov tsim nyog COM chaw nres nkoj ntsuas. Yog tias txhua yam mus tau zoo koj yuav tsum tuaj yeem pom qhov pom ntawm lub teeb liab ntawm tus pin A0.
  4. Tau txais cov ntsia hlau tsav thiab tig lub lauj kaub tais diav kom txog thaum lub ntsej muag tiaj tus (DC tivthaiv yuav tsum nyob ze rau xoom). Tsis txhob nkag lub teeb liab mus rau lub rooj tsavxwm. (Tsis txhob txuas lub microphone module).
  5. Tam sim no siv txhua lub tshuab tsim hluav taws xob zoo li qhov no los muab cov tswv yim rau hauv pawg thawj coj los ntawm lub xov tooj micro thiab saib cov spectrum.
  6. Yog tias koj tsis pom qhov nrawm ntawm cov zaus, txo qhov txiav tawm los ntawm kev hloov 47 kilo ohm tsis kam. Tsis tas li nce qhov nce los ntawm kev siv 10 kilo ohm preset lauj kaub. Sim kom tau txais lub tiaj thiab muaj txiaj ntsig cheb tawm los ntawm kev hloov cov ntsuas no. Nov yog qhov lom zem (qhov tau txais me ntsis!), Ua si koj cov nkauj nyiam thiab txaus siab rau lawv lub sijhawm tiag. (Saib cov yees duab)
  7. Tam sim no suav sau cov lej C ntxiv rau lub sijhawm no nrog #define pcvisual tawm tswv yim thiab #define midi_out tsis suav nrog.
  8. Rov ua dua tus lej tshiab suav sau mus rau arduino Nano.
  9. Qhib LoopMidi thiab tsim chaw nres nkoj tshiab.
  10. Qhib FL studio lossis lwm yam MIDI interface software thiab xyuas kom lub voj midi chaw nres nkoj pom hauv MIDI chaw nres nkoj chaw.
  11. Qhib tsis muaj plaub hau MIDI nrog arduino txuas. Xaiv qhov chaw nres nkoj tso tawm los ua LoopMidi chaw nres nkoj. Mus rau kev teeb tsa thiab teeb tsa Baud tus nqi kom yog 115200. Tam sim no xaiv qhov chaw nres nkoj COM sib xws rau Arduino Nano thiab qhib qhov chaw nres nkoj.
  12. Ua si qee lub suab "ntshiab" nyob ze lub microphone thiab koj yuav tsum hnov cov lus sib dhos ntaus hauv MIDI software ib yam. Yog tias tsis muaj lus teb sim txo qis up_threshold txhais hauv C code. Yog tias cov ntawv sau tau tshwm sim tshwm sim los ntawm qhov ntawd ua rau nce_threshold.
  13. Tau txais koj lub piano thiab ntsuas seb koj lub cev nrawm npaum li cas !! Qhov zoo tshaj plaws yog tias nyob hauv thaj tsam kub-xauv ntawm cov ntawv nws tuaj yeem yooj yim txheeb xyuas ntau qhov tseem ceeb ua ke ib txhij nias yooj yim.

Nco tseg: Thaum qhov chaw nres nkoj COM nkag los ntawm ib daim ntawv thov nws tsis tuaj yeem nyeem los ntawm lwm qhov. Piv txwv tias yog Hairless MIDI ws nyeem COM chaw nres nkoj, Xloader yuav tsis tuaj yeem nyem lub rooj tsavxwm

Kauj Ruam 7: Cov Ntsiab Lus/Yeeb Yaj Kiab

Qhov ntawd yog rau tam sim no cov txiv neej! Vam tias koj nyiam. Yog tias koj muaj lus pom lossis txhim kho hauv txoj haujlwm qhia rau kuv paub hauv ntu lus. Kev thaj yeeb!

Pom zoo: