Talaan ng mga Nilalaman:

Module ng Synth ng Raspberry Pi Stompbox: 6 na Hakbang (na may Mga Larawan)
Module ng Synth ng Raspberry Pi Stompbox: 6 na Hakbang (na may Mga Larawan)

Video: Module ng Synth ng Raspberry Pi Stompbox: 6 na Hakbang (na may Mga Larawan)

Video: Module ng Synth ng Raspberry Pi Stompbox: 6 na Hakbang (na may Mga Larawan)
Video: MS-20 filter clones x 2 - MIDIbox CV V2 2024, Hulyo
Anonim
Raspberry Pi Stompbox Synth Module
Raspberry Pi Stompbox Synth Module
Raspberry Pi Stompbox Synth Module
Raspberry Pi Stompbox Synth Module

Ang layunin ng proyektong ito ay upang ilagay ang isang module ng tunog na batay sa Fluidsynth sa isang stompbox. Ang term na tunog na "tunog module" sa tunog na ito ay nangangahulugang isang aparato na tumatagal ng mga mensahe sa MIDI (hal. Halaga ng tala, dami, pitch bend, atbp.) At binubuo ng mga tunay na tunog ng musikal. Isama ito kasama ang isang MIDI controller - na kung saan ay legion, murang, at madalas na napaka cool (tulad ng keytars!) - at mayroon kang isang synthesizer na maaari mong i-mod at mag-tweak nang walang katapusan, at magdisenyo sa isang paraan na nababagay sa iyong istilo ng paglalaro.

Ang isang malawak na pangkalahatang ideya ng proyektong ito ay kumuha kami ng isang maliit na solong-board na linux computer (isang Raspberry Pi 3 sa kasong ito), maglakip ng isang character na LCD, isang pares na pushbutton, at isang USB soundcard (dahil ang onboard na tunog ng Pi ay hindi masyadong maganda), at i-cram ang lahat sa isang Hammond 1590bb stompbox (tulad ng mga ginamit para sa mga effects ng gitara) na may ilang mga panlabas na koneksyon para sa USB MIDI, power, at audio outs. Pagkatapos ay i-configure namin ang panloob na software upang magpatakbo ng isang programa sa startup na nagpapatakbo ng FluidSynth (isang mahusay, multi-platform, libreng software synthesizer), kinokontrol ang LCD, at hinahayaan kaming baguhin ang mga patch at setting gamit ang mga pushbutton.

Hindi ako pupunta sa detalyadong hakbang-hakbang na detalye sa pagbuo na ito (maraming mga hey-i-made-a-cool-raspberry-pi-case na mga tutorial doon), ngunit susubukan kong ituon kung bakit ako gumawa iba't ibang mga pagpipilian sa konstruksyon at disenyo ng pagpunta ko. Sa ganitong paraan maaari mong gawin ang mga pagbabago upang umangkop sa iyong sariling mga layunin nang hindi natigil sa paggawa ng mga bagay na sa paglaon ay hindi gagana.

I-UPDATE (Mayo 2020): Habang ang itinuturo na ito ay pa rin isang magandang lugar upang magsimula para sa isang proyekto tulad nito, gumawa ako ng maraming mga pagpapabuti sa parehong panig ng hardware at software. Ang pinakabagong software ay FluidPatcher, magagamit sa GitHub - suriin ang wiki para sa maraming mga detalye sa pag-set up ng mga bagay sa Raspberry Pi. Suriin ang aking site na Geek Funk Labs para sa patuloy na balita at mga pag-update sa SquishBox!

Mga gamit

Ito ay isang maikling listahan ng (at paliwanag para sa) mas mahahalagang bahagi:

  • Raspberry Pi 3 Computer - Maaaring gumana ang anumang solong board linux computer, ngunit ang Pi 3 ay may sapat na kapangyarihan sa pagpoproseso upang patakbuhin ang Fluidsynth nang walang anumang latency, at sapat na memorya upang mai-load ang malalaking mga soundfonts. Ang sagabal ay mayroon itong mahinang tunog sa onboard, kaya kailangan mo ng isang USB soundcard. Ang CHIP ay isang kahalili na tinitingnan ko (mas maliit ang bakas ng paa, mas mahusay na tunog, ngunit mas mababa ang memorya / processor)
  • Hammond 1590BB enclosure - Iminumungkahi ko ang pagbili ng isa na paunang pulbos kung nais mo ng kulay, maliban kung ang pagpipinta ng mga stompbox ay isang bagay na napapalooban mo. Nag-browse ako ng maraming mga board ng mensahe ngunit sa palagay ko wala akong pasensya o tamang uri ng pintura, dahil pagkatapos ng dalawang pagtatangka ang aking mga resulta ay medyo ganito.
  • USB Sound Card - Maaari kang makahanap ng naaangkop na isa sa mga medyo mura. Ayon sa kaibig-ibig na tutorial ng Adafruit na ito (isa sa marami), dapat kang manatili sa isa na gumagamit ng CM109 chipset para sa maximum na pagiging tugma.
  • Character LCD - maraming mga iba't ibang mga lugar upang makuha ang mga ito, ngunit ang mga pinout ay tila medyo pamantayan. Tiyaking makakakuha ka ng backlight upang makita mo ang iyong mga preset kapag naglalaro sa mga mausok na club.
  • Mga sandali na stompswitches (2) - Medyo mahirap makuha, ngunit nakakuha ako ng panandalian sa halip na magpalipat-lipat upang magkaroon ako ng higit na kagalingan sa maraming kaalaman. Maaari kong gayahin ang toggle sa software kung nais ko ang pag-uugali na iyon, ngunit sa ganitong paraan maaari din akong magkaroon ng iba't ibang mga pag-andar para sa maikling pag-tap, pindutin nang matagal, atbp.
  • Adafruit Perma-Proto Hat for Pi - Nakatulong ito sa akin na makuha ang LCD at iba pang mga sangkap na nakakonekta sa expander port ng Pi nang hindi kumukuha ng labis na puwang. Kung sinubukan kong gumamit ng regular na perfboard kakailanganin itong dumikit sa mga gilid ng Pi para kumonekta ako sa lahat ng kinakailangang mga pin ng GPIO. Ang dobleng panig na kalupkop at pagtutugma ng mga butas sa pag-mount ay lubhang kapaki-pakinabang din. Sa ilaw ng lahat ng ito ito talaga ang pinakamurang pagpipilian.
  • Mga konektor ng USB - 1 B-type na babae para sa lakas, at dalawa bawat isa sa A-type na lalaki at babae kung saan makagagawa ng ilang payat, may kakayahang umangkop na mga extender cable para sa panloob na mga koneksyon.
  • 1/4 "audio jacks - Gumamit ako ng isang stereo at isang mono. Sa ganoong paraan ang stereo ay maaaring maging isang headphone / mono jack, o dalhin lamang ang kaliwang signal kung nakakonekta ang ibang jack.

Hakbang 1: Panloob na Elektronika

Panloob na Elektronika
Panloob na Elektronika
Panloob na Elektronika
Panloob na Elektronika
Panloob na Elektronika
Panloob na Elektronika

Ikonekta namin ang LCD at ang mga kaugnay na bahagi nito at ang mga pushbutton sa Pi Hat. Gayundin, magdagdag kami ng isang USB-B at USB-A jack upang ikonekta ang lakas at isang aparato na MIDI, ayon sa pagkakabanggit. Dinala namin ang USB-A port dahil kailangan naming gumamit ng isa sa mga USB port ng Pi upang ikonekta ang sound card, na nais naming magkaroon sa loob ng enclosure, kaya't hindi namin mapapalabas ang mga USB port sa gilid ng kahon. Gumamit ako ng isang USB-B port para sa lakas dahil sa palagay ko ay maaaring tumagal ng higit na parusa kaysa sa micro-USB power konektor ng Pi, kasama ang hindi ko makita ang isang mahusay na oryentasyon kung saan ang konektor ay maaaring maging tabi ng gilid ng kahon pa rin.

Kakailanganin mong gumamit ng isang kutsilyo upang i-cut ang mga bakas sa pagitan ng mga butas kung saan ka maghinang sa mga pin para sa mga USB jack. Mag-ingat lamang na huwag putulin ang anuman sa mga panloob na bakas sa board na kumokonekta sa iba pang mga pin - o kung hindi mo sinasadyang gawin (tulad ng sa akin) muling ikonekta ang mga ito gamit ang jumper wire. Ang mga V-USB at GND na pin ng USB-B jack ay pumunta sa 5V at GND sa expander port ng Pi, ayon sa pagkakasunod. Sa ganitong paraan maaari mong mapalakas ang iyong stompbox sa isang charger ng telepono (sa pag-aakalang mayroon itong sapat na amperage - tila gagana ang 700mA para sa akin, ngunit maaaring mas gusto mo pa upang matiyak na ang USB port ay may sapat na katas upang mapatakbo ang iyong controller) at isang USB A-B cable.

Nalaman ko na ang haba ng ribbon cable ay gumagana nang maayos para sa pagkonekta ng mga bagay sa maraming mga pin nang hindi masyadong maraming wire spaghetti. Ginawa ko ito sa halip na maghinang ng mga header ng lalaki sa LCD at pagkatapos ay ihihinang ito sa sumbrero dahil pakiramdam ko kailangan ko ng kaunting kalayaan na iposisyon ang LCD upang makuha ko itong nakasentro nang maayos. Ang LCD ay dapat na may potensyomiter na iyong ginagamit upang ayusin ang constrast - siguraduhing inilalagay mo ito sa isang lugar kung saan hindi ito sakop ng LCD, kaya maaari kang gumawa ng isang butas sa kahon upang maabot ito at ayusin ang kaibahan nang isang beses lahat ay nagtipon.

Kumunsulta sa eskematiko para sa mga detalye sa kung ano ang nakakakonekta kung saan. Pansinin na ang mga pushbutton ay konektado sa 3.3V - hindi 5V! Ang mga GPIO pin ay na-rate lamang para sa 3.3V - 5V ay makakasira sa iyong CPU. Ang USB-A jack ay nakakakonekta sa isa pang strip ng ribbon cable, na maaari mong solder sa isang USB plug kung saan makakonekta ka sa isa sa mga USB port ng Pi para sa iyong MIDI controller. Gupitin ang anumang labis na metal sa plug upang mas mababa ang sticks nito, at gumamit ng mainit na pandikit para sa relief ng pilay - hindi ito kailangang maging maganda dahil maitatago ito sa loob ng kahon.

Hakbang 2: Mga Kable ng Output ng Audio

Mga Kable ng Output ng Audio
Mga Kable ng Output ng Audio
Mga Kable ng Output ng Audio
Mga Kable ng Output ng Audio
Mga Kable ng Output ng Audio
Mga Kable ng Output ng Audio

Hindi mahalaga kung gaano ka kaliit ang isang USB sound card na iyong mahahanap, ito o ang plug nito ay malamang na malalabas nang napakalayo mula sa mga USB port ng Pi para sa lahat na magkasya sa kahon. Kaya, magkakasamang maghinang ng isa pang maikling konektor ng USB mula sa ilang mga laso cable, USB plugs, at mainit na pandikit tulad ng ipinakita sa larawan sa itaas. Ang aking sound card ay pa rin medyo chunky upang magkasya sa enclosure sa lahat ng iba pa, kaya't pinatong ko ang plastik at binalot ito sa ilang duct tape upang hindi ito maikli laban sa mga bagay.

Upang makakuha ng audio mula sa sound card sa iyong 1/4 "jacks, gupitin ang dulo ng isang 3.5mm headphone o AUX cable. Tiyaking mayroon itong 3 konektor - tip, singsing, at manggas (TRS), taliwas sa 2 o 4. Ang manggas ay dapat na ground, tip ay karaniwang tamang channel, at ang singsing (ang gitnang konektor) ay naiwan. Maaari mo lamang ikonekta ang tip at singsing sa dalawang mono (TS - tip, manggas) 1/4 "jacks at tapos na kasama nito, ngunit maaari kang makakuha ng higit pang kagalingan sa gamit sa isang maliit na piraso ng labis na mga kable. Humanap ng isang TS jack na mayroong pangatlong pansamantalang pakikipag-ugnay, tulad ng ipinakita sa iskematiko sa diagram sa itaas. Ang pagpasok ng isang plug ay pumutol sa contact na ito, upang maaari mong sabihin mula sa diagram ang kaliwang signal ay pupunta sa TS jack kung ang isang plug ay naipasok, at sa singsing ng TRS jack kung walang plug na naipasok. Sa ganitong paraan maaari mong mai-plug ang mga headphone sa stereo jack, isang solong mono cable sa stereo jack para sa isang pinagsamang kanan / kaliwa (mono) signal, o isang cable sa bawat jack para sa magkakahiwalay na output ng kanan at kaliwa (stereo).

Ikinonekta ko ang mga ground pin ng jacks sa cable na nagmula sa sound card, upang ang lahat sa kahon ay nagbabahagi ng parehong lupa at iniiwasan ko ang hindi magandang buzz ng mga loop ng lupa. Nakasalalay sa kung ano ang naka-plug in sa iyo, gayunpaman, maaari itong magkaroon ng kabaligtaran na epekto - kaya't maaaring nais mong isama ang isang switch upang payagan kang kumonekta o "maiangat" ang lupa sa 1/4 "jacks.

Hakbang 3: Paghahanda ng Enclosure

Paghahanda ng Enclosure
Paghahanda ng Enclosure
Paghahanda ng Enclosure
Paghahanda ng Enclosure
Paghahanda ng Enclosure
Paghahanda ng Enclosure

Saklaw ng hakbang na ito ang paggupit ng mga butas sa kahon para sa screen, mga pindutan, konektor, atbp at mga epoxying standoff sa enclosure upang mai-mount ang sumbrero ng Pi.

Magsimula sa pamamagitan ng paglalagay ng lahat ng mga bahagi sa enclosure upang matiyak na umaangkop ang lahat at nakatuon sa tamang paraan. Pagkatapos, maingat na sukatin at markahan kung saan ka kukuha ng mga butas. Kapag pinuputol ang mga bilog na butas, inirerekumenda ko na magsimula sa isang maliit na piraso at pagtatrabaho hanggang sa laki na kailangan mo - mas madaling i-center ang butas at mas malamang na mag-jam ang iyong drill. Ang mga parihabang butas ay maaaring maputol sa pamamagitan ng pagbabarena ng isang butas sa kabaligtaran na mga sulok ng inilaan na pagbubukas, pagkatapos ay pagputol ng isang lagari sa iba pang dalawang sulok. Ang kapal ng aluminyo na ito ay talagang pinuputol nang maayos gamit ang isang lagari hangga't malumanay kang pumunta. Ang isang parisukat na file ay kapaki-pakinabang para sa pag-squar off ng mga sulok ng openings. Gawin ang mga bukana para sa mga USB plug na medyo mapagbigay kung sakaling mayroon kang mga taba na kable.

Ang isang dalawang yugto na epoxy (tulad ng Gorilla Glue sa larawan) ay gumagana nang maayos upang maikabit ang mga standoff para sa sumbrero sa metal enclosure. I-gasgas ang ibabaw ng enclosure at ang ilalim ng mga standoff nang kaunti sa bakal na bakal o isang distornilyador upang ang epoxy ay maaaring makakuha ng isang mas mahusay na mahigpit na pagkakahawak. Inirerekumenda kong ilakip ang iyong mga standoff sa sumbrero ng Pi bago idikit ang mga ito upang malaman mo na nakaposisyon ang mga ito nang tama - walang maraming wiggle room dito. Gumamit lamang ako ng tatlong standoffs dahil ang aking LCD ay nasa paraan ng pang-apat. Paghaluin ang dalawang bahagi ng epoxy, i-paste ang ilan sa mga standoff at i-clamp ang mga ito sa lugar. Iwasang wiggling o muling pagposisyon ng mga bahagi pagkatapos ng higit sa 10-15 segundo, o ang bono ay magiging malutong. Bigyan ito ng 24 na oras upang mai-set up upang makapagpatuloy ka sa pagtatrabaho. Tumatagal ng ilang araw upang ganap na gumaling, kaya huwag i-stress ang bono nang hindi kinakailangan.

Maliban kung nais mong gumawa ng isa pang libangan sa pagpipinta ng mga stompbox, iminumungkahi kong iwanan ang aluminyo na hubad (hindi talaga isang masamang hitsura) o pagbili ng isang paunang naka-pinturang enclosure. Ang pintura ay hindi nais na bono sa metal. Kung nais mong subukan ito, buhangin saan ka man gusto ng pinturang manatili, gumamit muna ng isang mahusay na auto body primer spraypaint, maglagay ng maraming mga coats ng kulay na gusto mo, pagkatapos ay hayaang matuyo ito hangga't maaari. Seryoso - ang mga maniac sa mga board ng mensahe ay nagmumungkahi ng mga bagay tulad ng pag-iwan ito sa direktang araw sa loob ng tatlong buwan, o sa isang toaster oven na itinakda nang mababa sa isang linggo. Matapos ang pag-off sa crinkled, pagbabalat ng labi ng aking unang trabaho sa pintura, ang aking pangalawang pagtatangka ay nakakakuha pa rin ng mga chips at gouge mula sa mga bagay tulad ng mga panulat sa aking gig bag, at ang tapusin ay maaaring mapunasan ng isang kuko. Nagpasiya akong sumuko at pumunta para sa istilo ng punk, gamit ang white-out marker para sa pagsulat.

Hakbang 4: Pag-setup ng Software

Pag-setup ng Software
Pag-setup ng Software
Pag-setup ng Software
Pag-setup ng Software

Bago mo i-plug ang lahat sa stompbox at i-tornilyo ito nang masikip, kailangan mong i-set up ang software sa Raspberry Pi. Iminumungkahi kong magsimula sa isang sariwang pag-install ng Raspbian OS, kaya kumuha ng isang kamakailang kopya mula sa site ng Raspberry Pi Foundation at sundin ang mga tagubilin doon upang mai-imahe ito sa isang SD card. Grab isang keyboard at screen o gumamit ng isang console cable upang mag-log in sa iyong Pi sa unang pagkakataon, at makapunta sa isang linya ng utos. Upang matiyak na mayroon kang pinakabagong mga pag-update ng software at firmware, ipasok

sudo apt-get update && sudo apt-get upgrade

sudo rpi-update

Susunod, nais mong tiyakin na maaari mong gamitin ang wifi sa ssh sa Pi at gumawa ng mga pagbabago kapag na-button up ito sa loob ng enclosure. Una, i-on ang ssh server sa pamamagitan ng pagta-type

sudo raspi-config

at pagpunta sa "Mga Pagpipilian sa Interfacing" at pagpapagana ng ssh server. Ngayon, magdagdag ng isang wireless network sa pi sa pamamagitan ng pag-edit ng wpa_supplicant.conf file:

sudo vi /etc/wpa_supplicant/wpa_supplicant.conf

at pagdaragdag ng mga sumusunod na linya sa dulo:

network = {

ssid = "your-network" psk = "your-password"}

Palitan ang iyong-network at ang iyong-password sa itaas ng mga halaga para sa anumang network na nais mong kumonekta sa Pi bilang default - malamang na ang iyong wifi router sa bahay, o marahil ang hotspot sa iyong telepono o isang laptop na tumatakbo sa mode ng pag-access point. Ang isa pang kahalili para sa pagkonekta sa iyong Pi ay i-set up ito bilang isang access point ng wifi, upang maaari ka lamang kumonekta dito kahit nasaan ka man. Ang interface na isinulat ko sa ibaba ay nagpapahintulot din sa iyo na ipares ang isa pang aparato ng Bluetooth gamit ang Pi, at pagkatapos ay maaari kang kumonekta dito gamit ang serial-over-bluetooth.

Upang mai-install ang FluidSynth, uri

sudo apt-get install fluidsynth

Ang mga file na nakakabit sa hakbang na ito ay nagbibigay ng isang interface sa pagitan ng mga kontrol ng stompbox at FluidSynth, at dapat makopya sa direktoryo / home / pi. Narito ang isang maikling paliwanag sa kung ano ang ginagawa ng bawat file:

  • squishbox.py - Isang script ng python na nagsisimula at nakikipag-usap sa isang halimbawa ng FluidSynth, nagbabasa ng input mula sa mga pindutan ng stompbox, at nagsusulat ng impormasyon sa LCD
  • config_squishbox.yaml - Isang file ng pagsasaayos sa (karamihan) nababasa ng tao na format na YAML na nag-iimbak ng mga setting at impormasyon sa patch para sa programa ng squishbox
  • fluidsynth.py - Isang pambalot na sawa na nagbibigay ng mga bindings sa mga pagpapaandar ng C sa FluidSynth library, na may maraming mga karagdagang bindings na idinagdag ko upang ma-access ang higit pa sa pagpapaandar ng FluidSynth
  • ModWaves.sf2 - Isang napakaliit na soundbest na ibinigay ko upang maipakita ang paggamit at lakas ng mga modulator sa format na Soundbest

Ang pagkakaroon ng isang python script na naka-set up ang proseso ng FluidSynth at hawakan ang lahat ng mga pindutan / LCD bagay na gumagana nang maayos - MIDI mensahe direktang pumunta sa FluidSynth at ang script lamang nakikipag-ugnay dito kapag kinakailangan nito.

Ang script ng python ay nangangailangan ng ilang mga library ng python na hindi na-install bilang default. Maaari mong mai-install ang mga ito nang direkta mula sa Python Package Index gamit ang madaling gamiting tool ng pip:

sudo pip install RPLCD pyyaml

Sa wakas, nais mong patakbuhin ng Pi ang script ng python sa boot. Upang maganap ito, i-edit ang rc.local file:

sudo vi /etc/rc.local

Ipasok ang sumusunod na linya bago ang huling linya na 'exit 0' sa file:

python /home/pi/squishbox.py &

Hakbang 5: Pangwakas na Assembly

Huling pagtitipon
Huling pagtitipon
Huling pagtitipon
Huling pagtitipon
Huling pagtitipon
Huling pagtitipon

Bago ilagay ang lahat ng mga piraso sa kahon, napakahusay na ideya na i-plug ang lahat at tiyakin na gumagana ang software, tulad ng ipinakita sa mga imahe sa itaas. Ipinapakita ng mga imahe 3-6 ang lahat ng mga indibidwal na bahagi at paunti-unti kung paano sila magkakasya sa aking kahon. Ang LCD ay talagang gaganapin sa lugar ng mga wires na pumipindot laban dito, ngunit maaari kang gumamit ng isang mainit na pandikit o magdagdag ng ilan pang mga mounting screws kung hindi mo gusto iyon. Ang orange duct tape sa takip ng kahon ay upang mapanatili ang Pi mula sa pag-ikli laban sa metal.

Maaaring kailanganin mong mag-eksperimento at muling ayusin upang makuha ang mga bagay upang magkasya. Magaling ang snug - mas mababa ang mga bahagi na umiikot sa kahon, mas mabuti. Ang init ay tila hindi isang isyu, at wala pa akong mga problema sa signal ng wifi na na-block ng enclosure. Hindi nakalarawan ang ilang mga malagkit na paa ng goma (maaari mong makita ang mga ito sa isang tindahan ng hardware) sa ilalim ng kahon upang hindi ito dumulas sa tuwing nagkakaroon ka ng sesyon ng stomp.

Panoorin ang hindi nakikitang pag-bump / squishing / baluktot kapag ang mga bagay ay magkakasama. Ang isang bagay upang suriin ay mayroong sapat na puwang para sa 1/4 jacks kapag ang mga cable ay ipinasok - ang mga tip ay lumalabas nang medyo malayo kaysa sa mga contact ng jack. Gayundin, sa aking pagbuo ay na-mount ko ang Pi nang medyo malapit sa gilid ng kahon at ang labi sa takip na pinindot sa dulo ng SD card at na-snap ito - Kailangan kong mag-file ng isang bingaw sa labi upang hindi ito mangyari.

Hakbang 6: Paggamit

Image
Image
Paggamit
Paggamit
Paggamit
Paggamit

Ang module ng tunog na inilarawan ko sa mga hakbang na ito at pagpapatakbo ng software na ibinigay sa itaas ay medyo magagamit at napapalawak sa labas ng kahon, ngunit maraming mga pagbabago / pagkakaiba-iba ang posible. Maikli ko lamang ilalarawan ang interface dito - Plano ko itong patuloy na i-update sa isang github repository, kung saan inaasahan kong mapanatili rin ang isang na-update na wiki. Panghuli, tatalakayin ko kung paano mo mai-tweak ang mga setting, magdagdag ng mga bagong tunog, at gumawa ng iyong sariling mga pagbabago.

Upang magsimula, isaksak ang isang USB MIDI controller sa USB-A jack ng kahon, isang supply ng kuryente na 5V sa USB-B jack, at ikonekta ang mga headphone o isang amp. Pagkatapos ng kaunti ang LCD ay magpapakita ng isang "squishbox v xx.x" na mensahe. Kapag lumitaw ang isang numero ng patch at pangalan dapat mong i-play ang mga tala. Ang mga maikling taps sa alinman sa pindutan ay binabago ang patch, na hinahawakan ang alinmang pindutan sa loob ng ilang segundo ay dadalhin ka sa isang menu ng mga setting, at ang paghawak ng alinmang pindutan sa halos limang segundo ay magbibigay sa iyo ng pagpipilian upang i-restart ang programa, i-reboot ang Pi, o i-shut down ang Pi (Ang NB Pi ay hindi pinuputol ang kapangyarihan sa mga GPIO pin nito kapag huminto ito, kaya't ang LCD ay hindi kailanman papatayin. Maghintay lamang ng 30 segundo bago i-unplug ito).

Ang mga pagpipilian sa menu ng mga setting ay:

  • I-update ang Patch - nai-save ang anumang mga pagbabagong nagawa mo sa kasalukuyang patch upang mag-file
  • I-save ang Bagong Patch - nai-save ang kasalukuyang patch at anumang mga pagbabago bilang isang bagong patch
  • Piliin ang Bank - ang config file ay maaaring magkaroon ng maraming mga hanay ng mga patch, hinahayaan kang lumipat sa pagitan nila
  • Itakda ang Gain - itakda ang pangkalahatang dami ng output (pagpipilian na 'makakuha' ng fluidsynth), masyadong mataas ay nagbibigay ng baluktot na output
  • Koro / Reverb - baguhin ang mga setting ng reverb at koro ng kasalukuyang set
  • MIDI Connect - subukang ikonekta ang isang bagong aparato ng MIDI kung ipinagpalit mo ito habang tumatakbo ang programa
  • Pares ng Bluetooth - ilagay ang Pi sa mode ng pagtuklas upang maaari mong ipares ang isa pang aparato ng bluetooth dito
  • Katayuan ng Wifi - iulat ang kasalukuyang IP address ng Pi upang maipasok mo ito

Ang config_squishbox.yaml file ay naglalaman ng impormasyon na naglalarawan sa bawat patch, pati na rin ang mga bagay tulad ng pagruruta ng MIDI, mga parameter ng epekto, atbp. Nakasulat ito sa format na YAML, na isang cross-wika na paraan ng kumakatawan sa data na maaaring ma-parse ng mga computer ngunit tao rin -mababasa. Maaari itong makakuha ng kumplikado, ngunit dito ko lang ginagamit ito bilang isang paraan upang kumatawan sa isang istraktura ng mga naka-salad na diksiyonaryo ng Python (mga kaugnay na array / hash sa ibang mga wika), at mga pagkakasunud-sunod (listahan / array). Naglagay ako ng maraming mga puna sa sample na config file at sinubukan itong istraktura upang ang isa ay maaaring progresibong makita kung ano ang ginagawa ng bawat tampok. Tumingin at mag-eksperimento kung kakaiba ka, at huwag mag-atubiling magtanong sa mga komento. Marami kang magagawa upang baguhin ang mga tunog at pag-andar ng module sa pamamagitan lamang ng pag-edit ng file na ito. Maaari mong malayuan mag-log in at i-edit, o FTP isang binagong config file sa Pi, pagkatapos ay muling simulan ang paggamit ng interface o sa pamamagitan ng pagta-type

sudo python /home/pi/squishbox.py &

sa linya ng utos. Ang script ay nakasulat upang patayin ang iba pang mga tumatakbo na pagkakataon ng sarili nito kapag nagsisimula upang walang anumang mga salungatan. Ang iskrip ay maglalabas ng ilang mga babala sa linya ng utos kapag tumatakbo ito habang naghahanap para sa mga aparato ng MIDI na kumonekta at tumingin sa iba't ibang mga lokasyon para sa iyong mga soundfonts. Hindi ito nasira, ito ay tamad na programa lamang sa aking bahagi - mahuhuli ko sila ngunit inaangkin kong diagnostic sila.

Kapag na-install mo ang FluidSynth makakakuha ka rin ng medyo magandang libreng FluidR3_GM.sf2 soundFont. Ang GM ay kumakatawan sa pangkalahatang MIDI na nangangahulugang naglalaman ito ng "lahat" ng mga instrumento, na nakatalaga sa mga naunang napagkasunduan na mga preset at numero ng bangko upang ang mga manlalaro ng MIDI na nagpe-play ng mga file gamit ang sound font na ito ay makakahanap ng halos tamang tunog para sa piano, trumpeta, mga bagpipe, atbp. Kung nais mo ng higit pa / iba't ibang mga tunog maaari kang makahanap ng maraming mga libreng soundfontson sa internet. Pinakamahalaga, ang pagtutukoy ng tunog ng tunog ay malawak na magagamit, ay talagang napakalakas, at mayroong isang kahanga-hangang open-source editor para sa mga soundfonts na tinatawag na Polyphone. Sa pamamagitan nito maaari kang bumuo ng iyong sariling mga soundfonts mula sa mga hilaw na file ng WAV, kasama ang maaari kang magdagdag ng mga modulator sa iyong 'mga font. Pinapayagan ka ng mga modulator na makontrol ang maraming mga elemento ng pagbubuo (hal. Ang sobre ng ADSR, modulate sobre, LFO, atbp.) Sa real time. Ang ModWaves.sf2 file na isinama ko sa itaas ay nagbibigay ng isang halimbawa ng paggamit ng mga modulator upang payagan kang mapa ang resonance ng filter at dalas ng cutoff sa isang pagbabago ng kontrol na mensahe ng MIDI (na maaaring maipadala ng isang pindutan / slider sa iyong controller). Mayroong maraming potensyal dito - maglaro!

Inaasahan ko na ang tutorial na ito ay nagbubunga ng maraming mga ideya at nagbibigay sa iba ng isang mahusay na balangkas upang makabuo ng kanilang sariling natatanging mga nilikha sa synth, pati na rin ang pagsuporta sa patuloy na pagkakaroon at pag-unlad ng magagandang mga soundfonts, ang tunog ng tunog ng tunog, at mahusay na libreng software tulad ng FluidSynth at Polyphone. Ang pagbuo na aking binabalangkas dito ay hindi ang pinakamahusay o ang tanging paraan upang pagsamahin ang isang bagay tulad nito. Sa panig ng hardware, ang mga posibleng pagbabago ay maaaring isang mas malaking kahon na may maraming mga pindutan, legacy (5-pin) MIDI input / output, at / o mga audio input. Maaaring mabago ang script ng python (humihingi ng paumanhin para sa aking kalat-kalat na puna) upang makapagbigay ng iba pang mga pag-uugali na maaaring umangkop sa iyo - Iniisip kong magdagdag ng isang "effects" mode sa bawat patch kung saan ito kikilos tulad ng isang tunay na effects stompbox, pag-toggle ng mga setting sa at off. Maaari ring magdagdag ng ilang karagdagang software upang magbigay ng mga digital audio effects. Sa palagay ko ay mas gagana itong mas mahusay na patakbuhin ang Pi sa wifi AP mode tulad ng inilarawan sa itaas, at pagkatapos ay makapagbigay pa ito ng isang friendly web interface para sa pag-edit ng config file. Mangyaring huwag mag-atubiling mag-post ng iyong sariling mga ideya / katanungan / talakayan sa feed ng mga komento.

Nais kong magbigay ng napakalaking, mega props sa mga gumagawa ng FluidSynth at Polyphone para sa pagbibigay ng libre, open-source na software na magagamit nating lahat upang makagawa ng mahusay na musika. Gusto kong gamitin ang bagay na ito, at ginawang posible mo ito!

Inirerekumendang: