Სარჩევი:

Raspberry Pi Stompbox Synth მოდული: 6 ნაბიჯი (სურათებით)
Raspberry Pi Stompbox Synth მოდული: 6 ნაბიჯი (სურათებით)

ვიდეო: Raspberry Pi Stompbox Synth მოდული: 6 ნაბიჯი (სურათებით)

ვიდეო: Raspberry Pi Stompbox Synth მოდული: 6 ნაბიჯი (სურათებით)
ვიდეო: Raspberry PI effects plugins vs. ZOOM MS100BT 2024, ივლისი
Anonim
Raspberry Pi Stompbox Synth მოდული
Raspberry Pi Stompbox Synth მოდული
Raspberry Pi Stompbox Synth მოდული
Raspberry Pi Stompbox Synth მოდული

ამ პროექტის მიზანია Fluidsynth– ზე დაფუძნებული ხმის მოდულის ჩასმა stompbox– ში. ტერმინი "ხმის მოდული" ამ შემთხვევაში ნიშნავს მოწყობილობას, რომელიც იღებს MIDI შეტყობინებებს (მაგ. ნოტის მნიშვნელობა, მოცულობა, სიმაღლის მოხრა და სხვა) და სინთეზირებს რეალურ მუსიკალურ ბგერებს. განათავსეთ ეს MIDI კონტროლერთან ერთად - ლეგიონი, იაფი და ხშირად ძალიან მაგარი (კლავიშების მსგავსად!) - და თქვენ გაქვთ სინთეზატორი, რომლის საშუალებითაც შეგიძლიათ უსასრულოდ მოაწყოთ და შეცვალოთ და შეიმუშაოთ ისე, როგორც შეესაბამება თქვენს სათამაშო სტილს.

ამ პროექტის ფართო მიმოხილვა ის არის, რომ ჩვენ ვიღებთ პატარა ერთ დაფაზე linux კომპიუტერს (ამ შემთხვევაში Raspberry Pi 3), ვამაგრებთ პერსონაჟის LCD- ს, რამდენიმე ღილაკს და USB ხმოვან ბარათს (რადგან Pi- ს საბორტო ხმა არ არის ძალიან კარგი) და შეავსეთ ყველაფერი Hammond 1590bb stompbox– ში (ისევე როგორც გიტარის ეფექტებისთვის გამოყენებული) გარე გარე კავშირებით USB MIDI, დენის და აუდიო ჩამონტაჟებისთვის. შემდეგ ჩვენ ვაკონფიგურირებთ შიდა პროგრამულ უზრუნველყოფას პროგრამის გაშვებისას, რომელიც მუშაობს FluidSynth (შესანიშნავი, მრავალპლატფორმული, უფასო პროგრამული სინთეზატორი), აკონტროლებს LCD- ს და გვაძლევს საშუალებას შეცვალოთ პატჩები და პარამეტრები ღილაკების გამოყენებით.

მე არ შევალ ამ ნაბიჯზე დეტალურ დეტალებში (არსებობს უამრავი hey-i-made-a-cool-raspberry-pi-case გაკვეთილები), მაგრამ შევეცდები გავამახვილო ყურადღება იმაზე, თუ რატომ გავაკეთე მშენებლობისა და დიზაინის სხვადასხვა არჩევანი, როგორც მე წავედი. ამ გზით თქვენ შეგიძლიათ იმედოვნოთ, რომ განახორციელებთ ცვლილებებს თქვენი მიზნებისათვის, ისე რომ არ დაელოდოთ ისეთ რაღაცეებს, რაც მოგვიანებით აღმოჩნდება, რომ არ მუშაობს.

განახლება (2020 წლის მაისი): მიუხედავად იმისა, რომ ეს ინსტრუქცია ჯერ კიდევ შესანიშნავი ადგილია მსგავსი პროექტის დასაწყებად, მე ბევრი გაუმჯობესება გავაკეთე როგორც აპარატურის, ასევე პროგრამული უზრუნველყოფის მხრივ. უახლესი პროგრამული უზრუნველყოფა არის FluidPatcher, რომელიც ხელმისაწვდომია GitHub– ზე - იხილეთ ვიკი ბევრი დეტალი Raspberry Pi– ს შექმნის შესახებ. შეამოწმეთ ჩემი საიტი Geek Funk Labs უწყვეტი სიახლეებისა და განახლებების შესახებ SquishBox– ზე!

მარაგები

ეს არის ყველაზე მნიშვნელოვანი კომპონენტების (და ახსნა) მოკლე ჩამონათვალი:

  • Raspberry Pi 3 კომპიუტერი - ნებისმიერ დაფაზე linux კომპიუტერი შეიძლება მუშაობდეს, მაგრამ Pi 3 – ს აქვს საკმარისი დამუშავების ძალა Fluidsynth– ის გასაშვებად ყოველგვარი შეყოვნების გარეშე და საკმარისი მეხსიერება დიდი ხმოვანი შრიფტების ჩასატვირთად. ნაკლი ის არის, რომ მას აქვს დაბალი ხმის ბორტზე, ასე რომ თქვენ გჭირდებათ USB ხმის ბარათი. CHIP არის ალტერნატივა, რომელსაც მე ვიკვლევ (მცირე ნაკვალევი, უკეთესი ხმა, მაგრამ ნაკლები მეხსიერება/პროცესორი)
  • Hammond 1590BB დანართი - მე გირჩევთ შეიძინოთ ის, რაც წინასწარ არის დაფარული, თუ ფერი გინდათ, თუკი მუწუკების ყუთების დახატვა არ მოგწონთ. მე გადავიხედე ბევრი შეტყობინების დაფა, მაგრამ მე ვფიქრობ, რომ მე არ მაქვს მოთმინება ან სწორი ტიპის საღებავი, რადგან ორი მცდელობის შემდეგ ჩემი შედეგები საკმაოდ ასეა.
  • USB ხმის ბარათი - თქვენ შეგიძლიათ იპოვოთ შესაბამისი მათგანი საკმაოდ იაფად. ამ მშვენიერი ადაფრუტის სამეურვეო პროგრამის თანახმად (ბევრიდან ერთ -ერთი), თქვენ უნდა დაიცვათ ის, რომელიც იყენებს CM109 ჩიპსეტს მაქსიმალური თავსებადობისთვის.
  • ხასიათი LCD - ბევრი სხვადასხვა ადგილია მათი მისაღებად, მაგრამ პინუტები საკმაოდ სტანდარტული ჩანს. დარწმუნდით, რომ მიიღებთ შუქნიშანს, რათა ნახოთ თქვენი წინასწარ განსაზღვრული პარამეტრები შებოლილ კლუბებში თამაშისას.
  • Momentary stompswitches (2) - ცოტა ძნელი მოსაპოვებელი, მაგრამ გადატანის ნაცვლად მომენტალური გავხდი, რათა მეტი მრავალფეროვნება შემეძლოს. შემიძლია პროგრამული უზრუნველყოფის გადართვის სიმულაცია, თუ მსურს ეს ქცევა, მაგრამ ამ გზით მე ასევე შემიძლია სხვადასხვა ფუნქცია მქონდეს მოკლე შეხების, გრძელი დაჭერის და ა.შ.
  • Adafruit Perma -Proto Hat for Pi - ეს დამეხმარა მივიღო LCD და სხვა კომპონენტები, რომლებიც დაკავშირებულია Pi- ს გაფართოების პორტთან, ბევრი დამატებითი სივრცის გარეშე. მე რომ შევეცადე გამომეყენებინა ჩვეულებრივი პერფორდი, ის უნდა გამხდარიყო Pi- ს გვერდებზე, რათა მე შემეერთებინა ყველა საჭირო GPIO ქინძისთავთან. ორმაგი ცალმხრივი მოპირკეთება და შესაბამისი სამონტაჟო ხვრელები ასევე ძალიან სასარგებლო იყო. ამ ყველაფრის ფონზე ეს მართლაც ყველაზე იაფი ვარიანტი იყო.
  • USB კონექტორები-1 B ტიპის ქალი ძალაუფლებისთვის და ორი A ტიპის მამრობითი და მდედრობითი, რომლითაც შეგიძლიათ გააკეთოთ გამხდარი, მოქნილი გამაძლიერებელი კაბელი შიდა კავშირებისთვის.
  • 1/4 "აუდიო ჯეკები - მე გამოვიყენე ერთი სტერეო და ერთი მონო. ამ გზით სტერეო შეიძლება იყოს ყურსასმენის/მონო ჯეკი, ან უბრალოდ ატაროს მარცხენა სიგნალი, თუ მეორე ჯეკი არის დაკავშირებული.

ნაბიჯი 1: შიდა ელექტრონიკა

შიდა ელექტრონიკა
შიდა ელექტრონიკა
შიდა ელექტრონიკა
შიდა ელექტრონიკა
შიდა ელექტრონიკა
შიდა ელექტრონიკა

ჩვენ დავაკავშირებთ LCD და მასთან დაკავშირებულ კომპონენტებს და ღილაკებს Pi Hat– თან. ასევე, ჩვენ დავამატებთ USB-B და USB-A ჯეკს, რათა დავუკავშიროთ ძალა და MIDI მოწყობილობა, შესაბამისად. ჩვენ მოვიყვანთ USB-A პორტს, რადგან ჩვენ უნდა გამოვიყენოთ Pi– ს ერთი USB პორტი ხმის ბარათის დასაკავშირებლად, რომელიც ჩვენ გვსურს გვქონდეს შიგთავსში, ასე რომ ჩვენ არ შეგვიძლია USB პორტები ყუთის გვერდით ჩავრთოთ. მე გამოვიყენე USB-B პორტი ენერგიისთვის, რადგან ვიგრძენი, რომ მას შეეძლო მეტი დასჯა, ვიდრე Pi- ს მიკრო USB დენის კონექტორი, გარდა ამისა, მე ვერ ვიპოვე კარგი ორიენტაცია, სადაც კონექტორი მაინც იქნებოდა ყუთის კიდეზე.

თქვენ დაგჭირდებათ დანა, რათა გაჭრათ კვალი ხვრელებს შორის, სადაც USB ჯეკებისთვის დაიჭერთ ქინძისთავებში. უბრალოდ ფრთხილად იყავით, რომ არ გაჭრათ რომელიმე შიდა დაფა სხვა ქინძისთავებთან დამაკავშირებელ დაფაზე - ან თუ შემთხვევით (ჩემნაირი) ხელახლა დააკავშირეთ ისინი მხტუნავი მავთულის გამოყენებით. USB-B ჯეკის Vcc და GND ქინძისთავები მიდის შესაბამისად 5V და GND Pi- ს გაფართოების პორტზე, შესაბამისად. ამ გზით თქვენ შეგიძლიათ ჩართოთ თქვენი stompbox ტელეფონის დამტენი (თუ ვივარაუდოთ, რომ აქვს საკმარისი ამპერაჟი - 700mA მეჩვენება, რომ მე მუშაობს, მაგრამ შეიძლება უფრო მეტად გინდათ იყოთ დარწმუნებული, რომ USB პორტს აქვს საკმარისი წვენი თქვენი კონტროლერის გასაძლიერებლად) და USB A -B კაბელი.

მე მესმის, რომ სიგრძის ლენტი კაბელი მართლაც კარგად მუშაობს ნივთების დასაკავშირებლად უამრავ ქინძისთავთან, ზედმეტი მავთულის სპაგეტის გარეშე. მე ეს გავაკეთე იმის ნაცვლად, რომ მამაკაცის სათაურები შევაერთე LCD– ში და შემდეგ შევაერთე ქუდი, რადგან ვიგრძენი, რომ მჭირდებოდა თავისუფლება LCD– ის პოზიციონირებისთვის, რათა შემეძლო მისი ლამაზად ორიენტირება. LCD უნდა მოყვეს პოტენომეტრი, რომელსაც იყენებთ კონტრასტის დასარეგულირებლად - დარწმუნდით, რომ განათავსეთ ის ადგილი, სადაც ის არ იქნება დაფარული LCD– ით, ასე რომ თქვენ შეგიძლიათ გააკეთოთ ხვრელი ყუთში მის მისაღწევად და კონტრასტის ერთხელ დარეგულირებისთვის. ყველაფერი აწყობილია

მიმართეთ სქემატურ დეტალებს იმის შესახებ, თუ რა სად არის დაკავშირებული. გაითვალისწინეთ, რომ ღილაკები უკავშირდება 3.3 ვ - არა 5 ვ! GPIO ქინძისთავები შეფასებულია მხოლოდ 3.3V– ით - 5V დააზიანებს თქვენს პროცესორს. USB-A ბუდე უკავშირდება ლენტის კაბელის სხვა ზოლს, რომელიც შეგიძლიათ შეაერთოთ USB შტეფსელთან, რომელსაც დაუკავშირებთ Pi- ს ერთ USB პორტს თქვენი MIDI კონტროლერისთვის. ამოიღეთ ზედმეტი ლითონი შტეფსელიდან ისე, რომ ის ნაკლებად გამოვიდეს და გამოიყენეთ ცხელი წებო დაძაბულობის შესამსუბუქებლად - ის არ უნდა იყოს ლამაზი, რადგან ის დაფარული იქნება ყუთში.

ნაბიჯი 2: აუდიო გამომავალი გაყვანილობა

აუდიო გამომავალი გაყვანილობა
აუდიო გამომავალი გაყვანილობა
აუდიო გამომავალი გაყვანილობა
აუდიო გამომავალი გაყვანილობა
აუდიო გამომავალი გაყვანილობა
აუდიო გამომავალი გაყვანილობა

რაც არ უნდა პატარა USB ხმის ბარათი იპოვოთ, ის ან მისი დანამატი სავარაუდოდ ძალიან შორს იქნება Pi- ს USB პორტებისგან, რათა ყველაფერი მოთავსდეს ყუთში. ასე რომ, შეაერთეთ კიდევ ერთი მოკლე USB კონექტორი ლენტის კაბელიდან, USB შტეფსელიდან და ცხელი წებოდან, როგორც ეს მოცემულია ზემოთ მოცემულ სურათზე. ჩემი ხმის ბარათი ჯერ კიდევ ზედმეტად მოცულობითი იყო, რომ არ მოერგო ყველაფერში, ამიტომ პლასტმასი ამოვიღე და შემოვიხვიე ლენტით, რომ არ შეემთხვეს ნივთებს.

ხმის ბარათიდან 1/4 "ჯეკებამდე აუდიოს მისაღებად, გათიშეთ 3.5 მმ ყურსასმენი ან AUX კაბელი. დარწმუნდით, რომ მას აქვს 3 კონექტორი - წვერი, ბეჭედი და ყდის (TRS), განსხვავებით 2 ან 4 -ისგან. ყდის უნდა იყოს დაფქული, წვერი, როგორც წესი, მარჯვენა არხია და ბეჭედი (შუა კონექტორი), როგორც წესი, მარცხენაა. თქვენ უბრალოდ შეგიძლიათ დააკავშიროთ წვერი და ბეჭედი ორ მონო (TS - წვერი, ყდის) 1/4 "ჯეკებით და გაკეთდეს მასთან ერთად, მაგრამ თქვენ შეგიძლიათ მიიღოთ მეტი მრავალფეროვნება მცირე ზედმეტი გაყვანილობით. იპოვეთ TS ბუდე, რომელსაც აქვს მესამე წამიერი კონტაქტი, როგორც სქემატურად არის ნაჩვენები ზემოთ დიაგრამაში. დანამატის ჩასმა არღვევს ამ კონტაქტს, ასე რომ, დიაგრამაზე შეგიძლიათ თქვათ, რომ მარცხენა სიგნალი გადადის TS ჯეკზე, თუ დანამატი არის ჩასმული, ხოლო TRS ბუდის ბეჭედზე, თუ დანამატი არ არის ჩასმული. ამ გზით თქვენ შეგიძლიათ ყურსასმენი შეაერთოთ სტერეო ჯეკში, ერთი მონო კაბელი სტერეო ჯეკში კომბინირებული მარჯვენა/მარცხენა (მონო) სიგნალისთვის, ან კაბელი თითოეულ ჯეკში ცალკე მარჯვენა და მარცხენა (სტერეო) გამოსასვლელებისთვის.

ბუდეების დამჭერი მიმაგრებული მაქვს ხმის ბარათიდან მოსული კაბელის კაბელთან, ისე რომ ყუთში ყველაფერი ერთნაირია და თავიდან ავიცილო მიწის მარყუჟების უსიამოვნო ხმაური. იმისდა მიხედვით, თუ რაში ხართ ჩართული, ამას შეიძლება ჰქონდეს საპირისპირო ეფექტი - ასე რომ თქვენ შეიძლება მოგინდეთ ჩართოთ გადამრთველი, რომელიც მოგცემთ საშუალებას დააკავშიროთ ან "აწიოთ" მიწა 1/4 "ჯეკებზე.

ნაბიჯი 3: დანართის მომზადება

დანართის მომზადება
დანართის მომზადება
დანართის მომზადება
დანართის მომზადება
დანართის მომზადება
დანართის მომზადება

ეს ნაბიჯი მოიცავს ეკრანის ყუთში არსებული ხვრელების, ღილაკების, კონექტორების და ა.შ. და ეპოქსიზირებას ჩარჩოებში, Pi ქუდის დასამაგრებლად.

დაიწყეთ ყველა კომპონენტის დანართით მოთავსებით, რათა დარწმუნდეთ, რომ ყველაფერი ჯდება და სწორი მიმართულებით არის ორიენტირებული. შემდეგ, ყურადღებით გაზომეთ და მონიშნეთ სად აპირებთ ხვრელების გაკეთებას. მრგვალი ხვრელების გაჭრისას გირჩევთ დაიწყოთ მცირედით და იმ ზომით იმუშაოთ, რაც გჭირდებათ - უფრო ადვილია ხვრელის ცენტრში მოთავსება და ნაკლებად სავარაუდოა, რომ თქვენი საბურღი დაიჭერს. მართკუთხა ხვრელების მოჭრა შესაძლებელია ხვრელის გაბურღვით განზრახვის გახსნის მოპირდაპირე კუთხეებში, შემდეგ კი ორმხრივ დაჭერით დანარჩენ ორ კუთხეში. ალუმინის ეს სისქე ფაქტიურად წყვეტს თავსატეხს, სანამ ნაზად მიდიხარ. კვადრატული ფაილი ძალიან სასარგებლოა ღიობების კუთხეების კვადრატში. ცოტა გულუხვი გახადეთ USB სანთლების გახსნის შემთხვევაში, თუ ცხიმის კაბელები გაქვთ.

ორსაფეხურიანი ეპოქსია (გორილას წებოს მსგავსად სურათზე) კარგად მუშაობს ლითონის გარსზე ქუდის საყრდენების ჩასამაგრებლად. ოდნავ გახეხეთ ზედაპირის ზედაპირი და ძირის ქვედა ნაწილი ფოლადის ბამბა ან ხრახნიანი საფარით, რათა ეპოქსიდმა უკეთესად დაიჭიროს ხელი. მე გირჩევთ მიამაგროთ თქვენი უკუჩვენებები Pi- ს ქუდზე, სანამ დააწებებთ მათ, რათა იცოდეთ, რომ ისინი სწორად არის განლაგებული - აქ ბევრი ადგილი არ არის. მე მხოლოდ სამი დამთხვევა გამოვიყენე, რადგან ჩემი LCD იყო მეოთხეზე. შეურიეთ ერთმანეთს ეპოქსიდის ორი კომპონენტი, ჩასვით ცოტაოდენი ჩამორჩენილ მდგომარეობაში და მიამაგრეთ ისინი ადგილზე. თავიდან აიცილეთ მოძრაობა ან ნაწილების შეცვლა 10-15 წამის შემდეგ, წინააღმდეგ შემთხვევაში კავშირი მყიფე იქნება. მიეცით მას 24 საათი, რომ გააგრძელოს მუშაობა. სრულად განკურნებას რამდენიმე დღე სჭირდება, ასე რომ ზედმეტად ნუ გაამხნევებთ კავშირს.

თუ თქვენ არ გსურთ კიდევ ერთი ჰობის გაკეთება სტომბოქსების ხატვისგან, მე გირჩევთ დატოვოთ ალუმინი შიშველი (სინამდვილეში არ არის ცუდი გარეგნობა) ან შეიძინოთ წინასწარ შეღებილი დანართი. საღებავს არ სურს ლითონთან შეერთება. თუ გსურთ სცადოთ, ქვიშა ყველგან, სადაც გინდათ რომ საღებავი დარჩეს, ჯერ გამოიყენეთ კარგი მანქანის პრაიმერი სპრეი, წაისვით თქვენთვის სასურველი რამდენიმე ფენა, შემდეგ გააშრეთ რაც შეიძლება დიდხანს. სერიოზულად - შეტყობინებების დაფებზე მანიაკები გვთავაზობენ ისეთებს, როგორიცაა მისი დატოვება პირდაპირ მზეზე სამი თვის განმავლობაში, ან ტოსტერის ღუმელში დაბალ ტემპერატურაზე ერთი კვირის განმავლობაში. მას შემდეგ, რაც ჩემი პირველი შეღებვის ნამსხვრევები დამსხვრეული დარჩა, ჩემი მეორე მცდელობა კვლავ იღებს ჩიპსს და გუგებს საგნებიდან, როგორიცაა კალამი, და დასრულება შეიძლება თითის ფრჩხილით. მე გადავწყვიტე დანებება და წავიღე პანკის სტილში, ასოების გასათეთრებლად თეთრი მარკირების მარკერის გამოყენებით.

ნაბიჯი 4: პროგრამული უზრუნველყოფის დაყენება

პროგრამული უზრუნველყოფის დაყენება
პროგრამული უზრუნველყოფის დაყენება
პროგრამული უზრუნველყოფის დაყენება
პროგრამული უზრუნველყოფის დაყენება

სანამ ყველაფერს ჩაყრით სტოპბოქსში და გააფუჭებთ მას, თქვენ უნდა შექმნათ პროგრამული უზრუნველყოფა Raspberry Pi– ზე. მე გირჩევთ დაიწყოთ Raspbian OS– ის ახალი ინსტალაცია, ასე რომ მიიღეთ Raspberry Pi Foundation– ის უახლესი ასლი და მიჰყევით იქ მითითებებს SD ბარათზე გამოსახვის მიზნით. აიღეთ კლავიატურა და ეკრანი ან გამოიყენეთ კონსოლის კაბელი, რომ პირველად შეხვიდეთ თქვენს Pi– ში და მიხვიდეთ ბრძანების ხაზზე. დარწმუნდით, რომ გაქვთ უახლესი პროგრამული უზრუნველყოფის და პროგრამული უზრუნველყოფის განახლებები, შეიყვანეთ

sudo apt-get განახლება && sudo apt-get განახლება

sudo rpi- განახლება

შემდეგი, თქვენ გინდათ დარწმუნდეთ, რომ შეგიძლიათ გამოიყენოთ wifi, რომ ssh შეიტანოთ Pi- ში და შეიტანოთ ცვლილებები მას შემდეგ, რაც ის ჩაკეტილია შიგთავსში. პირველი, ჩართეთ ssh სერვერი აკრეფით

sudo raspi-config

გადადით "ინტერფეისის პარამეტრებში" და ჩართეთ ssh სერვერი. ახლა დაამატეთ უკაბელო ქსელი pi– ს wpa_supplicant.conf ფაილის რედაქტირებით:

sudo vi /etc/wpa_supplicant/wpa_supplicant.conf

და დასასრულს დაამატეთ შემდეგი სტრიქონები:

ქსელი = {

ssid = "შენი ქსელი" psk = "შენი პაროლი"}

შეცვალეთ თქვენი ქსელი და პაროლი ზემოთ მოცემული მნიშვნელობებით იმ ქსელისთვის, რომელთანაც ნაგულისხმევად გსურთ Pi დაკავშირება-სავარაუდოდ თქვენი wifi როუტერი სახლში, ან შესაძლოა თქვენი ტელეფონის ცხელი წერტილი ან ლეპტოპი, რომელიც მუშაობს წვდომის წერტილის რეჟიმში. თქვენს Pi– სთან დაკავშირების კიდევ ერთი ალტერნატივა არის მისი დაყენება როგორც wifi წვდომის წერტილი, ასე რომ თქვენ შეგიძლიათ უბრალოდ დაუკავშიროთ მას, სადაც არ უნდა იყოთ. ინტერფეისი, რომელიც ქვემოთ დავწერე, ასევე გაძლევთ საშუალებას დააკავშიროთ სხვა bluetooth მოწყობილობა Pi– სთან, რის შემდეგაც შეგიძლიათ დაუკავშირდეთ მას სერიული bluetooth– ის გამოყენებით.

FluidSynth– ის დასაყენებლად ჩაწერეთ

sudo apt-get დააინსტალირეთ fluidsynth

ამ საფეხურზე თანდართული ფაილები უზრუნველყოფენ ინტერფეისს stompbox კონტროლსა და FluidSynth- ს შორის და უნდა იყოს კოპირებული /home /pi დირექტორიაში. აქ არის მოკლე განმარტება, თუ რას აკეთებს თითოეული ფაილი:

  • squishbox.py - პითონის სკრიპტი, რომელიც იწყება და ურთიერთობს FluidSynth– ის მაგალითთან, კითხულობს სტოპბოქსის ღილაკების შეყვანას და წერს ინფორმაციას LCD– ზე
  • config_squishbox.yaml - კონფიგურაციის ფაილი (უმეტესწილად) ადამიანისთვის წაკითხული YAML ფორმატში, რომელიც ინახავს პარამეტრებს და ინფორმაციას პატჩის შესახებ squishbox პროგრამისთვის
  • fluidsynth.py - პითონის შეფუთვა, რომელიც უზრუნველყოფს FluidSynth ბიბლიოთეკაში C ფუნქციებთან დაკავშირებას, ჩემ მიერ დამატებით დამატებით კავშირებს FluidSynth– ის უფრო ფუნქციონალურობაზე წვდომისათვის
  • ModWaves.sf2 - ძალიან მცირე ხმოვანი შრიფტი, რომელიც მე მომაწოდა Soundfont ფორმატში მოდულატორების გამოყენების და სიმტკიცის საჩვენებლად

პითონის სკრიპტის დაყენება FluidSynth პროცესში და ყველა ღილაკის/LCD პერსონალის დამუშავება საკმაოდ კარგად მუშაობს - MIDI შეტყობინებები პირდაპირ FluidSynth– ზე მიდის და სკრიპტი მას ურთიერთქმედებს მხოლოდ საჭიროების შემთხვევაში.

პითონის სკრიპტს სჭირდება რამდენიმე პითონის ბიბლიოთეკა, რომლებიც სტანდარტულად არ არის დაინსტალირებული. თქვენ შეგიძლიათ დააინსტალიროთ ისინი პირდაპირ Python პაკეტის ინდექსიდან მოსახერხებელი პიპ ინსტრუმენტის გამოყენებით:

sudo pip დააინსტალირეთ RPLCD pyyaml

დაბოლოს, თქვენ გინდათ რომ Pi აწარმოებს პითონის სკრიპტს ჩატვირთვისას. ამის გასაკეთებლად, შეცვალეთ rc.local ფაილი:

sudo vi /etc/rc.local

ჩადეთ შემდეგი სტრიქონი ფაილში საბოლოო 'გასასვლელი 0' ხაზის წინ:

პითონი /home/pi/squishbox.py &

ნაბიჯი 5: საბოლოო შეკრება

დასკვნითი ასამბლეა
დასკვნითი ასამბლეა
დასკვნითი ასამბლეა
დასკვნითი ასამბლეა
დასკვნითი ასამბლეა
დასკვნითი ასამბლეა

ყუთში ყველა ნაჭრის ჩადებამდე, ძალიან კარგი იდეაა, რომ შეაერთოთ ყველაფერი და დარწმუნდეთ, რომ პროგრამული უზრუნველყოფა მუშაობს, როგორც ეს ნაჩვენებია ზემოთ მოცემულ სურათებში. სურათები 3-6 აჩვენებს ყველა ცალკეულ ნაწილს და თანდათანობით როგორ ჯდება ისინი ჩემს ყუთში. LCD ეკრანი რეალურად დგას მის მავთულხლართებზე დაჭერით, მაგრამ შეგიძლიათ არ გამოიყენოთ ცხელი წებო ან დაამატოთ სამონტაჟო ხრახნები, თუ ეს არ მოგწონთ. ფორთოხლის ფირფიტა ყუთის სახურავზე არის იმისთვის, რომ Pi არ შეუმცირდეს ლითონს.

შეიძლება დაგჭირდეთ ექსპერიმენტების ჩატარება და კონფიგურაცია იმისათვის, რომ ყველაფერი მოერგოს. კარგად არის მოთავსებული - რაც ნაკლები ნაწილი ირევა ყუთში, მით უკეთესი. როგორც ჩანს, სითბო არ არის პრობლემა და მე არ მქონია არანაირი პრობლემა wifi სიგნალის გადაკეტვით. სურათზე გამოსახული არ არის წებოვანი რეზინის ფეხები (შეგიძლიათ იპოვოთ ისინი ტექნიკის მაღაზიაში) ყუთის ბოლოში, რათა ის არ დაიხუროს გარშემო, როდესაც თქვენ გაქვთ სტომის სესია.

ფრთხილად იყავით უსიამოვნო დარტყმის/გახეხვის/მოღუნვისას, როდესაც საგნები ერთმანეთთან არის დამაგრებული. ერთი რამ არის შესამოწმებელი, რომ არის საკმარისი ადგილი 1/4 ჯეკებისათვის, როდესაც კაბელები არის ჩასმული - რჩევები უფრო შორს არის ვიდრე ჯეკის კონტაქტები. ასევე, ჩემს აღნაგობაში მე Pi ძალიან ცოტა ახლოს დავაყენე ზღვარზე ყუთისა და ტუჩის სახურავი დააჭირა SD ბარათის ბოლოში და მოხსნა იგი - მე მომიწია ტუჩში ჩავარდნა, რათა ეს არ მომხდარიყო.

ნაბიჯი 6: გამოყენება

Image
Image
გამოყენება
გამოყენება
გამოყენება
გამოყენება

ამ ნაბიჯებში აღწერილი ხმის მოდული და ზემოთ მოყვანილი პროგრამული უზრუნველყოფის გაშვება საკმაოდ გამოსაყენებელია და გაფართოებულია ყუთში, მაგრამ ბევრი მოდიფიკაცია/ვარიაციაა შესაძლებელი. მე მოკლედ აღვწერ ინტერფეისს აქ - ვგეგმავ განუწყვეტლივ განაახლოთ ის github საცავში, სადაც იმედია განახლებულ ვიკისაც შევინახავ. და ბოლოს, მე განვიხილავ, თუ როგორ შეგიძლიათ შეცვალოთ პარამეტრები, დაამატოთ ახალი ხმები და გააკეთოთ საკუთარი ცვლილებები.

დასაწყებად, შეაერთეთ USB MIDI კონტროლერი ყუთში USB-A ჯეკში, 5V დენის წყარო USB-B ჯეკში და შეაერთეთ ყურსასმენები ან გამაძლიერებელი. ცოტა ხნის შემდეგ LCD გამოჩნდება შეტყობინება "squishbox v xx.x". მას შემდეგ რაც გამოჩნდება პატჩის ნომერი და სახელი თქვენ უნდა შეგეძლოთ ნოტების დაკვრა. ნებისმიერ ღილაკზე მოკლე შეხება ცვლის პატჩს, რომელიმე ღილაკის დაჭერით რამდენიმე წამი მიგიყვანთ პარამეტრების მენიუში, ხოლო ღილაკის დაჭერა დაახლოებით ხუთი წამის განმავლობაში გაძლევთ შესაძლებლობას გადატვირთოთ პროგრამა, გადატვირთოთ Pi ან გამორთოთ Pi (NB Pi არ წყვეტს ენერგიას მის GPIO ქინძისთავებზე, როდესაც ის ჩერდება, ამიტომ LCD არასოდეს გამორთულია. უბრალოდ დაელოდეთ დაახლოებით 30 წამი, სანამ არ გაერთებით დენიდან).

პარამეტრების მენიუს ვარიანტებია:

  • პატჩის განახლება - ინახავს ნებისმიერ ცვლილებას, რაც თქვენ შეიტანეთ მიმდინარე პაჩში ფაილში
  • Save New Patch - ინახავს მიმდინარე პატჩს და ნებისმიერ ცვლილებას, როგორც ახალ პატჩს
  • შეარჩიეთ ბანკი - კონფიგურაციის ფაილს შეიძლება ჰქონდეს პატჩების მრავალი ნაკრები, ეს საშუალებას გაძლევთ გადართოთ მათ შორის
  • Set Gain - დააყენეთ გამომავალი მთლიანი მოცულობა (fluidsynth- ის 'მოგების' ვარიანტი), ძალიან მაღალი იძლევა დამახინჯებულ გამომუშავებას
  • Chorus/Reverb - შეცვალეთ მიმდინარე ნაკრების რევერბი და გუნდის პარამეტრები
  • MIDI დაკავშირება - სცადეთ ახალი MIDI მოწყობილობის დაკავშირება, თუ პროგრამის გაშვებისას გადააცილებთ მას
  • Bluetooth წყვილი - ჩადეთ Pi აღმოჩენის რეჟიმში, ასე რომ თქვენ შეგიძლიათ დააწყვილოთ სხვა Bluetooth მოწყობილობა
  • Wifi სტატუსი - შეატყობინეთ Pi– ს ამჟამინდელ IP მისამართს, რათა შეძლოთ მასში შესვლა

Config_squishbox.yaml ფაილი შეიცავს ინფორმაციას, რომელიც აღწერს თითოეულ პატჩს, ასევე ისეთ რამეს, როგორიცაა MIDI მარშრუტიზაცია, ეფექტების პარამეტრები და ა.შ. იგი დაწერილია YAML ფორმატში, რომელიც წარმოადგენს მონაცემების წარმოჩენის მრავალენოვან საშუალებას კომპიუტერების მიერ, მაგრამ ასევე ადამიანის. -იკითხება. ის შეიძლება საკმაოდ რთული გახდეს, მაგრამ აქ მე მას ვიყენებ, როგორც გზას, რომ წარმოვადგინო წყობილი პითონის ლექსიკონების სტრუქტურა (ასოციაციური მასივები/ჰეშები სხვა ენებზე) და თანმიმდევრობა (სიები/მასივები). მე ბევრი კომენტარი ჩავდე კონფიგურაციის ნიმუშში და შევეცადე შემექმნა იგი ისე, რომ თანდათან დაენახა რას აკეთებს თითოეული ფუნქცია. შეხედეთ და ექსპერიმენტი, თუ თქვენ ხართ დაინტერესებული, და მოგერიდებათ დასვით კითხვები კომენტარებში. თქვენ შეგიძლიათ გააკეთოთ ბევრი რამ, რომ შეცვალოთ მოდულის ბგერები და ფუნქციონირება მხოლოდ ამ ფაილის რედაქტირებით. შეგიძლიათ დისტანციურად შეხვიდეთ და შეცვალოთ, ან FTP შეცვლილი კონფიგურაციის ფაილი Pi- ზე, შემდეგ გადატვირთოთ ინტერფეისის გამოყენებით ან აკრეფით

sudo python /home/pi/squishbox.py &

ბრძანების ხაზზე. სცენარი დაწერილია იმისათვის, რომ თავიდან აიცილოს სხვა გაშვებული შემთხვევები, როდესაც არ დაიწყება კონფლიქტები. სკრიპტი გამოაფურთხებს რამდენიმე გაფრთხილებას ბრძანების ხაზზე, როდესაც ის გადის, როდესაც ის ნადირობს MIDI მოწყობილობებზე დასაკავშირებლად და სხვადასხვა ადგილას ეძებს თქვენს ხმოვან ფონტებს. ეს არ არის გატეხილი, ეს უბრალოდ ზარმაცი პროგრამირებაა ჩემი მხრიდან - მე შემეძლო მათი დაჭერა, მაგრამ მე ვამბობ, რომ ისინი დიაგნოსტიკურია.

FluidSynth– ის დაყენებისას თქვენ მიიღებთ საკმაოდ კარგ უფასო FluidR3_GM.sf2 ხმოვან შრიფტს. GM ნიშნავს ზოგად MIDI- ს, რაც ნიშნავს რომ ის შეიცავს "ყველა" ინსტრუმენტს, რომელიც ენიჭება საყოველთაოდ შეთანხმებულ წინასწარ და ბანკის ნომრებს ისე, რომ MIDI მოთამაშეები, რომლებიც უკრავენ ფაილებს ამ ხმოვანი შრიფტის საშუალებით, შეძლებენ იპოვონ დაახლოებით სწორი ჟღერადობა ფორტეპიანოსთვის, საყვირისთვის., ბაგეები და ა.შ. თუ გსურთ მეტი/განსხვავებული ჟღერადობა, შეგიძლიათ იპოვოთ უამრავი უფასო ხმის შუქი ინტერნეტში. რაც მთავარია, ხმის შრიფტის დაზუსტება ფართოდ არის გავრცელებული, რეალურად საკმაოდ მძლავრია და არსებობს მშვენიერი ღია კოდის რედაქტორი ხმოვანი შრიფტებისათვის, სახელწოდებით Polyphone. ამით თქვენ შეგიძლიათ შექმნათ თქვენი საკუთარი ხმოვანი შრიფტები ნედლი WAV ფაილებიდან, ასევე შეგიძლიათ დაამატოთ მოდულატორები თქვენს შრიფტებს. მოდულატორები საშუალებას გაძლევთ გააკონტროლოთ სინთეზის მრავალი ელემენტი (მაგ. ADSR კონვერტი, მოდულაციის კონვერტი, LFO და ა.შ.) რეალურ დროში. ModWaves.sf2 ფაილი, რომელიც მე ზემოთ მოვიყვანე, არის მოდულატორების გამოყენების მაგალითი, რომელიც საშუალებას მოგცემთ შეაფასოთ ფილტრის რეზონანსი და გათიშვის სიხშირე საკონტროლო ცვლილების MIDI შეტყობინებაზე (რომელიც შეიძლება გაიგზავნოს ღილაკზე/სლაიდერზე თქვენს კონტროლერზე). აქ იმდენი პოტენციალია - წადი ითამაშე!

ვიმედოვნებ, რომ ეს სახელმძღვანელო ბევრ იდეას ბადებს და სხვებს აძლევს კარგ ჩარჩოს საკუთარი უნიკალური სინთეტიკური შემოქმედების შესაქმნელად, ასევე ხელს შეუწყობს კარგი ხმოვანი შრიფტების, ხმის შრიფტის მახასიათებლებისა და შესანიშნავი უფასო პროგრამული უზრუნველყოფის უწყვეტ ხელმისაწვდომობასა და განვითარებას, როგორიცაა FluidSynth და Polyphone რა აღნაგობა, რომელიც მე აქ ავღნიშნე, არც საუკეთესო და არც ერთადერთი საშუალებაა მსგავსი რამის შესაქმნელად. აპარატურის მხრივ, შესაძლო ცვლილებები შეიძლება იყოს უფრო დიდი ყუთი უფრო მეტი ღილაკით, ძველი (5 პინიანი) MIDI შეყვანის/გამომავალი და/ან აუდიო შესასვლელებით. პითონის სკრიპტი შეიძლება შეიცვალოს (ბოდიში ჩემი იშვიათი კომენტარისთვის), რათა მოგაწოდოთ სხვა ქცევები, რომლებიც უფრო მოგეწონებათ - მე ვფიქრობ, რომ დავამატო "ეფექტების" რეჟიმი თითოეულ პაჩზე, სადაც ის იმოქმედებს, როგორც რეალური ეფექტები, პარამეტრების გადართვა და გამორთული ასევე შეგიძლიათ დაამატოთ დამატებითი პროგრამული უზრუნველყოფა ციფრული აუდიო ეფექტების უზრუნველსაყოფად. მე ასევე ვფიქრობ, რომ უკეთესი იქნებოდა Pi გაშვებულიყო wifi AP რეჟიმში, როგორც ზემოთ იყო აღწერილი, და შემდეგ კი მას შეეძლო მეგობრული ვებ ინტერფეისის უზრუნველყოფა კონფიგურაციის ფაილის რედაქტირებისთვის. გთხოვთ თავისუფლად განათავსოთ თქვენი საკუთარი იდეები/კითხვები/დისკუსია კომენტარების არხში.

FluidSynth და Polyphone შემქმნელებს მინდა მივცეთ უზარმაზარი, მეგა რეკვიზიტები, უფასო, ღია კოდის პროგრამული უზრუნველყოფის უზრუნველსაყოფად, რომლის გამოყენებაც ჩვენ ყველას შეგვიძლია შესანიშნავი მუსიკის შესაქმნელად. მე მიყვარს ამ ნივთის გამოყენება და შენ ეს შესაძლებელი გახადა!

გირჩევთ: