Სარჩევი:
- Ნაბიჯი 1: !! სიფრთხილის შენიშვნა - პასუხისმგებლობის შეზღუდვა
- ნაბიჯი 2: აპარატურის ინჟინერია
- ნაბიჯი 3: კომპონენტების სია
- ნაბიჯი 4: კავშირები/სქემები
- ნაბიჯი 5: პროგრამული უზრუნველყოფა
- ნაბიჯი 6: პრობლემების მოგვარება
- ნაბიჯი 7: სასარგებლო ბმულები
ვიდეო: სხვა MIDI CV ყუთში: 7 ნაბიჯი (სურათებით)
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:16
სხვა MIDI to CV ყუთი არის პროექტი, რომელიც შევიმუშავე, როდესაც Korg MS10- მა დამიკაკუნა კარი და მოხდა ჩემს სტუდიაში. ვინაიდან ჩემი კონფიგურაცია მჭიდროდ უკავშირდება MIDI– ს ყველა ინსტრუმენტის ავტომატიზირებასა და სინქრონიზაციას, როდესაც MS10 ვიყიდე, პირველი პრობლემა, რომლის წინაშეც აღმოვჩნდი, იყო როგორ განვახორციელო ასეთი კონტროლი.
Korg MS20/10 არ არის MIDI– ის განსახორციელებლად ყველაზე მარტივი სინთეზი: უპირველეს ყოვლისა, ისინი ეყრდნობიან Hz/V კონტროლს (ხაზოვანი კორელაცია საკონტროლო ძაბვასა და შენიშვნის სიხშირეს შორის), ოქტ/ვ -ის ნაცვლად (1 ვ ოქტავაზე); მეორე, შენიშვნის გასააქტიურებლად თქვენ უნდა გამოაგზავნოთ უარყოფითი კარიბჭის სიგნალი და შემოკლებული შეყვანა მიწაზე (S-Trig) და არა +5 V სიგნალი (V-trig).
დღესდღეობით არსებობს სხვადასხვა სახის კომერციული გადაწყვეტა ამგვარი ინსტრუმენტების გასაკონტროლებლად (ანუ Arturia Beatstep Pro, Korg SQ-1, Kenton Solo), მაგრამ მე ვარ იაფი ნაძირალა და 100 ევროც კი ძალიან ბევრია "არ ჟღერს" მოწყობილობისთვის:).
აი, მაშინ ჩვენ ვართ: ნება მომეცით გაჩვენოთ, თუ როგორ უნდა ავაშენოთ დაბალი ბიუჯეტის MIDI CV ყუთი, რათა გავაკონტროლოთ/ავტომატიზიროთ MIDI წინასწარი სინთეზი, კარიბჭე, სიჩქარე და გათიშვის სიხშირე გარე MIDI კონტროლერთან (კლავიატურა, DAW, მიმდევრი ან სხვა) რა
"რაც შეეხება ახალ MS20 მინი -ს?"
როგორც თითქმის ყველამ იცის, ახალი MS20 რეალურად MIDI მზადაა: IN 5 პოლუსიანი MIDI კონექტორით და IN/OUT USB კონექტორით.
”ასე რომ, თუ მე მაქვს MS20 მინი ეს საქმე უსარგებლოა!”
ისე, არა MS20 mini ამოიცნობს მხოლოდ შეტყობინებების ჩართვას/გამორთვას და კლავიატურა არ არის მგრძნობიარე სიჩქარის მიმართ. ამის გადალახვა შეუძლებელია MS10/20 რთველის ან მინი კლავიატურის საშუალებით, მაგრამ midi ყუთით და სიჩქარისადმი მგრძნობიარე კლავიატურით თქვენ ოქროსფერი ხართ. გარდა ამისა, MIDI ყუთით თქვენ შეგიძლიათ ავტომატიზირდეს ფილტრის გათიშვა (ან ნებისმიერი სხვა ძაბვის კონტროლირებადი პარამეტრი) ან მისი მოდულირება შემომავალი MIDI ჩანაწერით სიჩქარეზე. ისევ და ისევ, ერთადერთი MIDI არხი MS20 mini პასუხობს არხს 1. ამ ყუთით თქვენ შეგიძლიათ გადალახოთ ეს ზღვარიც.
"რა მოხდება, თუ მე მაქვს Oct/V სინთეზი?"
Არაა პრობლემა! კოდი, რომელიც მე დავწერე, თავსებადია Oct/V სინთეზატორებთან (დატესტილი არ ვარ, მაგრამ დარწმუნებული ვარ, რომ ის იმუშავებს ყუთში;)).
Ნაბიჯი 1: !! სიფრთხილის შენიშვნა - პასუხისმგებლობის შეზღუდვა
თქვენი აღჭურვილობა ძალიან ღირებულია და არ უნდა იქნას გამოყენებული ტესტების შესასრულებლად.
ელექტროენერგიით თამაშობამ შეიძლება სერიოზულად დააზიანოს თქვენი აღჭურვილობა ან ზიანი მიაყენოს საკუთარ თავს.
მე არ ვიქნები პასუხისმგებელი თქვენი აღჭურვილობის/ტექნიკის დაზიანებისათვის, ან თუნდაც საკუთარი თავისთვის, პროგრამული უზრუნველყოფის, სქემების, ინფორმაციის ან ბმულების შესახებ, რომლებიც მე მოვახსენე ამ ინსტრუქციებში.
Შენ გაგაფრთხილეს!
ნაბიჯი 2: აპარატურის ინჟინერია
Arduino მოსახერხებელია, როდესაც საქმე ეხება მსგავს პროექტებს. დიდი საზოგადოების არსებობა და ძალიან კარგი ბიბლიოთეკები, რომლებიც მოიცავს თითქმის ყველა საერთო ამოცანას, გახდის მას სწორ არჩევანს. აქ დაფა დაპროგრამდება ისე, რომ წაიკითხავს შემომავალ MIDI მონაცემებს და შემდეგ გამოაგზავნის შესაბამის ძაბვებს დისკზე:
- მოედანზე, pwm გამომუშავების ანალოგიურ ძაბვად გადაქცევით, რათა VCO მართოს ციფრულიდან ანალოგურ გადამყვანად (DAC)
- სიჩქარე, pwm გამომავალი ფილტრაციით, რათა VCA მართოთ მარტივი RC ფილტრით
- გაფილტვრის შეწყვეტის სიხშირე, pwm გამომავალი ფილტრაციით, რათა მართოთ VCF მარტივი RC ფილტრით
- კარიბჭე, პირდაპირ ციფრულიდან V-trig- ის შემთხვევაში (დააყენეთ 1Kohm სერიაში გამომავალი დენის გადინების შესამცირებლად) ან მარტივი pnp ტრანზისტორით გადართეთ ციფრულიდან (იხილეთ სქემატური სქემა თანდართულ სქემაში) რა
Arduino– ს არ შეუძლია გამოუშვას უწყვეტი ძაბვები, მაგრამ 0/+5 V იმპულსები სხვადასხვა პერიოდებით (PWM). ჩვენ გვჭირდება ციფრულიდან ანალოგურ კონვერტორებზე (DAC) ქოთნისთვის. RC ფილტრები არის ყველაზე მარტივი DAC, რომლის მოფიქრებაც შემიძლია. RC ფილტრი კარგია ძაბვის კონტროლირებადი გამაძლიერებლისა და ფილტრისთვის (VCA და VCF). RC ფილტრები ისეა მორგებული, რომ გამოიწვიოს ჩამკეტის სიხშირე <20 Hz (ყველაზე დაბალი მოსმენილი სიხშირე).
მე ჩავატარე ტესტი დაბალი სიმძლავრის არა პოლარიზებული კონდენსატორებით და დავასრულე 0,1uF სიმძლავრის ღირებულებით, რომ საუკეთესო იყოს. კარგად გამოსცადე MS20 MKII.
სამწუხაროდ, ჩვენ არ შეგვიძლია დავეყრდნოთ RC ფილტრს ძაბვის კონტროლირებადი ოსცილატორის (VCO) მართვისათვის, ვინაიდან ის საკმარისად ზუსტი არ იქნება (Hz/V მასშტაბით, ქვედა ბოლოში ორი ადიადენტური ნახევარტონი განსხვავდება 0.02V– ზე ნაკლები; V– ში /ოქტ ორი მიმდებარე ნახევარგამოყოფა განსხვავდება 0.083 ვ); ჩვენ ვაპირებთ გამოვიყენოთ IC DAC (MPC4725) ამისათვის.
ცნობილი ლიმიტები
დისკის ძაბვის შეზღუდვა 5 ვ -მდე (არდუინოს გამომავალი ძაბვა), სრული 0 -დან 5 ვ -მდე დიაპაზონი დაფარულია სიჩქარისთვის; შეწყვეტა ნახევრად დაფარულია (-5V +5V); VCO დიაპაზონი ნაწილობრივ არის დაფარული იმის გამო, რომ Hz/V- ში ძაბვა 8 V საჭირო იქნება 440 Hz A4- ის მისაღწევად. 5V გამომავალი ლიმიტით ჩვენ შეგვიძლია მოვათავსოთ ოსცილატორი D4 სიხშირეზე Hz/V- ში.
ნაბიჯი 3: კომპონენტების სია
თქვენ გჭირდებათ:
1X Arduino UNO (ან ნანო)
1X MPC4725 DAC დაფა
4X 1/8 "ან 1/4" მონო კონექტორები
1X MIDI კონექტორი
ოპტოქუპლერი 1X 6N138
1X 1N4148 დიოდი
1X 220 ohm 1/4 W რეზისტორი
1X 470 ohm 1/4 W რეზისტორი
1X 10K ohm 1/4 W რეზისტორი
4X 1K ohm 1/4 W წინააღმდეგობა
2X 0.1 uF კონდენსატორი
1X BC547 pnp ტრანზისტორი (S-trig- ის შემთხვევაში)
1X ABS ყუთი (მინიმუმ 55 x 70 x 100 მმ)
… და აშკარად პურის დაფა ან პერფორდი, გასაყიდი რკინა, შესაკრავი მავთულები და კაბელები (2 მეტრი 28 AWG უნდა იყოს საკმარისი).
გაითვალისწინეთ, რომ ზემოთ მოცემულ სურათებში ჩემი პროტოტიპი ათავსებს 100 uF ელექტროლიტ თავსახურს, მაგრამ ისინი ძალიან ნელია სიმძლავრის დატენვის დროის გამო. ტევადობა 0.1uF არის სწორი არჩევანი.
მე გამოვიყენე დამატებითი კონექტორი, რათა მიმეწოდებინა ჩემი არდუინო; არ არის აუცილებელი, რომ შესაძლებელი იყოს მიკროკონტროლის წვენის ჩაწერა უშუალოდ საბორტო მინი USB კონექტორის საშუალებით.
ნაბიჯი 4: კავშირები/სქემები
MIDI IN
MIDI IN წრე არის მარტივი და კარგად აღწერილი ქსელში. მიიღეთ ეს შესანიშნავი ინსტრუქცია MIDI და Arduino– ს ამანდა გასაიის მიერ, მაგალითად. მე მეექვსე სქემატური გავაკეთე ამ საკითხზე მაინც.
გაითვალისწინეთ, რომ მე ჩავრთე ჩამრთველი MIDI IN სქემაში (გადართვა 1): ეს აუცილებელია Arduino– ში ახალი ესკიზის ატვირთვისას, რადგან ოპტო ხელს უშლის RX ხაზს შემომავალი midi შეტყობინებების გარეშეც კი. ესკიზის ატვირთვამდე თქვენ უნდა გახსნათ გადამრთველი, წინააღმდეგ შემთხვევაში IDE ვერ ახერხებს ახალი ესკიზის ატვირთვას.
თქვენ საბოლოოდ შეგიძლიათ შეცვალოთ ესკიზი სერიული პროგრამული კომუნიკაციის გამოსაყენებლად.
DAC, RC ფილტრი, სინთეზატორი
DAC, RC ფილტრებისა და Synth– ის კავშირი (სიმაღლე, კარიბჭე და სიჩქარე) ნაჩვენებია დიაგრამაზე ზემოთ. ცნობისთვის ავიღე Korg MS20 პაჩ პანელი, მაგრამ ყველაფერი გამოვცადე MS10- ზეც. სიჩქარის CV– ს პირდაპირი კავშირი VCA– ს „პირველადი მომატების“პაჩ წერტილთან არანაირი გავლენა არ აქვს (მე ეს უნდა გავითავისო შემდგომში), მაგრამ თუ მას დაუკავშირებთ „სულ“პაჩ წერტილს და აამაღლებთ თქვენს საერთო გარე ქოთნებს (MG/T. EXT), თქვენ მოისმენთ სასიამოვნო ტონის ვარიაციებს, როგორც შენიშვნის სიჩქარის ფუნქცია.
ჩემი სქემები (და ჩემი პროტოტიპიც) არ იყენებენ მიმდინარე შეზღუდვის რეზისტორს DAC გამომავალზე, მაგრამ ყოველთვის კარგი იდეაა მოათავსოთ ის, რომ უზრუნველყოთ თქვენი სქემების ხანგრძლივი სიცოცხლე. 220 ოჰმეტიანი რეზისტორი საკმარისი იქნება.
გაითვალისწინეთ, რომ 100 uF ელექტროლიტური თავსახურის სქემაში მოხსენიებულია, მაგრამ ისინი ძალიან ნელია სიმძლავრის დატენვის დროის გამო. არაპოლარიზებული, 0.1uF ქუდები სწორი არჩევანია.
კარიბჭე გარეთ
იმ შემთხვევაში, თუ თქვენ აპირებთ V-Trig (ძაბვის გამომწვევი) სიგნალებთან თავსებადი სინთის თანმიმდევრობას, 1k ohm სერიის რეზისტორი მიმდინარე დრენაჟის შესამცირებლად საკმარისი იქნება; S-Trig (გადამრთველის გამომწვევი) სინთეზის შემთხვევაში, შეგიძლიათ გამოიყენოთ მარტივი PNP გადართვის წრე (იხ. თანდართული სქემა).
ნაბიჯი 5: პროგრამული უზრუნველყოფა
ვცდილობდი ესკიზი მაქსიმალურად მკაფიო და "წასაკითხი" ყოფილიყო.
მე ვიმუშავე უბრალო კალკზე, რომელიც აღმოვაჩინე აქ ძაბვის Vs შენიშვნა# მრუდის დასადგენად და პირდაპირ მიკროკონტროლერის განტოლების გამოსაყენებლად. განტოლება ნაჩვენებია დიაგრამაზე ზემოთ. მე გამოვიყენე C2, როგორც საცნობარო ჩანაწერი Arp/Korg– ის შესაბამისი ძაბვის V შენიშვნის მიმართების მისაღებად (C0 - 0.25V, C1 - 0.5V, C2 - 1V, C3 - 2V, C4 - 4V, C5 - 8V და ასე შემდეგ).
მე უნდა განვსაზღვრო რამდენიმე ცვლადი სათამაშოზე, რათა მივიღო კარგი რეგულირება … დახარჯეთ დრო სწორი მნიშვნელობების საპოვნელად. საჭიროა ტიუნერი.
ჩვენ ვაპირებთ გავზარდოთ ტაიმერის/მრიცხველის pwm სიხშირე, რათა შემცირდეს გამომავალი ძაბვის ტალღის შემცირება (ადვილია როგორც კოდის ხაზი).
იმისათვის, რომ კოდმა რეაგირება მოახდინოს შემომავალ ბაიტებზე, კოდი დიდწილად ეყრდნობა ფუნქციების გამოძახებებს.
თქვენ გჭირდებათ სპარკფუნის "Adafruit_MCP4725.h" და ორმოცდაშვიდი ეფექტის/ფრანსუა ბესტის "MIDI.h" ბიბლიოთეკების შესადგენად! (დიდი მადლობა ამ ადამიანებს: მათი ძალისხმევის გარეშე ეს პროექტი არასოდეს განხორციელდებოდა!).
მე ვივარაუდებ, რომ თქვენ გაქვთ Arduino IDE თქვენს კომპიუტერში და თქვენ იცით, როგორ ჩატვირთოთ ესკიზი თქვენს Arduino დაფაზე.
მე არ ვარ კოდირება რეალურ ცხოვრებაში, ამიტომ სავარაუდოა, რომ ესკიზი შეიძლება უკეთესად დაიწეროს. მე ღია ვარ წინადადებებისთვის (მე ყოველთვის ვსწავლობ რაღაცას კოდირების კოდის გათვალისწინებით;))
დამატებითი შენიშვნები იწერება ქვემოთ მოცემულ კოდში. დააინსტალირეთ ორი ბიბლიოთეკა, გახსენით თანდართული კოდი თქვენს IDE- ზე, დაუკავშირეთ დაფა, შეარჩიეთ დაფის ტიპი და ატვირთეთ.
ნაბიჯი 6: პრობლემების მოგვარება
მაშინაც კი, თუ პროექტი დაბალი დონისაა, არსებობს უამრავი რამ, რაც შეიძლება არასწორი იყოს. თუ თქვენ განიცდით პრობლემებს თქვენი MIDI to CV ყუთის შექმნის მცდელობისას, მიჰყევით ამ ნაბიჯებს:
1. დარწმუნდით, რომ Arduino სწორად იღებს MIDI შეტყობინებებს
შეამოწმეთ გამომავალი არხი, რომელსაც კლავიატურა ან DAW ან Sequencer აგზავნის MIDI შეტყობინებებს. Arduino სტანდარტულად უსმენს 1 არხს. ატვირთეთ "TEST_MIDI_IN.ino" შემომავალი ჩანაწერის ON შეტყობინების წასაკითხად.
2. ორჯერ შეამოწმეთ თქვენი გაყვანილობა
… ან კიდევ უკეთესი: სამჯერ შეამოწმეთ ისინი! დაუთმეთ დრო ამას.
3. შეამოწმეთ DAC მისამართი და გამომავალი
DAC შეიძლება დაყენებული იყოს მონაცემების მისაღებად სხვა მისამართზე, ვიდრე ესკიზში მითითებული. შეამოწმეთ მისამართი გაშვებული "I2C_scanner.ino". თუ მოხდა შეცდომა "მოწყობილობა არ მოიძებნა", შეამოწმეთ თქვენი DAC გაყვანილობა (SDA და SCL შენატანები განსხვავებულია Arduino დაფებზე!). თუ თქვენ გაქვთ ოსცილოკოპი (თუნდაც 15 ევროს ციფრული ოსცილოსკოპი არის საკმარისი… და სახალისო სათამაშო!) თქვენ შეგიძლიათ შეამოწმოთ თქვენი DAC– ის გამომუშავება DAC ბიბლიოთეკის ინსტალაციასთან ერთად სამკუთხედის ტალღის გენერატორის მაგალითის ატვირთვით.
გახსოვდეთ, რომ როდესაც ოპტოქუპლერი უკავშირდება თქვენი არდუინოს დაფის RX შეყვანას, თქვენ ვერ შეძლებთ ახალი ესკიზის ატვირთვას !! განათავსეთ გადამრთველი (ეს შეიძლება იყოს უბრალო მხტუნავი) RX პინამდე.
ამ საცდელი ესკიზების უმეტესობა არ არის ჩემი ან ყოველ შემთხვევაში არსებული ონლაინ მასალის საფუძველზე.
ეს რაღაც ჩემთვის უაზროდ ჟღერს !?
ეს არ არის რეალური საკითხი: Hz/V კონტროლისთვის მიღებული განტოლება არის "იდეალური". იდეალური ქცევიდან გარკვეული გადახრა შეიძლება გაიზარდოს +5V– დან, რომელსაც თქვენ ამარაგებთ არა 5.000V– დან, DAC– დან და თავად ინსტრუმენტიდან. ამ პრობლემის გადასაჭრელად, თქვენ უნდა იმოქმედოთ სინთეზური მელოდიის/სრულყოფილი პოტენომეტრის გამოყენებით და "voil" სრულყოფილად მორგებული MIDI კონტროლით;)
ნაბიჯი 7: სასარგებლო ბმულები
en.wikipedia.org/wiki/CV/gate
www.instructables.com/id/Send-and-Receive-…
www.songstuff.com/recording/article/midi_me…
pages.mtu.edu/~suits/NoteFreqCalcs.html
espace-lab.org/activites/projets/en-arduin…
learn.sparkfun.com/tutorials/midi-shield-h…
provideyourown.com/2011/analogwrite-conver…
www.midi.org/specifications/item/table-3-c…
arduino-info.wikispaces.com/Arduino-PWM-Fr…
sim.okawa-denshi.jp/en/PWMtool.php
გირჩევთ:
Nixie– ს საათი არდუინოსთან ერთად MDF ხის ყუთში: 11 ნაბიჯი (სურათებით)
გააკეთეთ ნიქსის საათი არდუინოსთან ერთად MDF- ის ხის კოლოფში: ამ ინსტრუქციაში მე ვაჩვენებ, თუ როგორ უნდა გააკეთოთ ნიქსის საათი არდუინოსთან ერთად წრიული გზით, რაც შეიძლება მარტივად. ყველა მათგანი მოთავსებულია MDF- ის ხის საქმეში. დასრულების შემდეგ, საათი ჰგავს პროდუქტს: კარგი გარეგნობის და კომპაქტურად მყარად. მოდი
ავტომატური კატაპულტი შინაური ცხოველების საკვების (ძაღლი, კატა, ქათამი და სხვა), ბურთების სროლა და სხვა! 4 ნაბიჯი (სურათებით)
ავტომატური კატაპულტი შინაური ცხოველების საკვების (ძაღლი, კატა, ქათამი და სხვა) სროლა, ბურთების სროლა და სხვა !: გამარჯობა და კეთილი იყოს თქვენი მობრძანება ჩემს პირველ სასწავლებელში! ჩვენს ძაღლს უყვარს მისი საკვები, ის ფაქტიურად ყველაფერს შეჭამს წამებში. მე შევიმუშავე გზები, რომ შემეძლებინა ეს, დაწყებული საჭმლის ბურთებიდან დაწყებული, შემოგარენში მთელს შემოგარენში. გასაკვირია, რომ ის
MIDI 5V LED Strip Light Controller for Spielatron ან სხვა MIDI Synth: 7 ნაბიჯი (სურათებით)
MIDI 5V LED ზოლის სინათლის კონტროლერი Spielatron– ისთვის ან სხვა MIDI Synth– ისთვის: ეს კონტროლერი ანათებს სამ ფერადი LED ზოლების შუქს 50mS თითო შენიშვნაზე. ლურჯი G5– დან D#6 – მდე, წითელი E6– დან B6– მდე და მწვანე C7– დან G7– მდე. კონტროლერი არის ALSA MIDI მოწყობილობა, ასე რომ MIDI პროგრამულ უზრუნველყოფას შეუძლია LED- ებზე გამოსვლა ერთდროულად როგორც MIDI სინთეტიკური მოწყობილობა
Teleprompter დამხმარე ჩამწერი მოწყობილობა გადაზიდვის ყუთში: 25 ნაბიჯი (სურათებით)
Teleprompter დამხმარე ჩამწერი მოწყობილობა გადაზიდვის კალათში: მე ავაშენე ეს ვიდეო კაბინა, როგორც სარეკლამო ინსტრუმენტი ჩემი CC ლიცენზირებული ნოველისთვის, Boggle and Sneak, რომელშიც გამომგონებელი ტროლები მიდიან ჩვენს სახლში ნაფიც მსაჯულთა მანქანებით და რუბ გოლდბერგის პრაქტიკულ ხუმრობებს. ავტორთა უმეტესობა კითხულობს
როგორ დავამატოთ MatrixOrbital VFD ჩვენება თქვენს Linux ყუთში: 11 ნაბიჯი (სურათებით)
როგორ დავამატოთ MatrixOrbital VFD ჩვენება თქვენს Linux ყუთში: ეს სასწავლო ინსტრუქცია მოიცავს MatrixOrbital VFD დამატებას თქვენს linux ყუთში. ყველა კარგი გიკის მსგავსად, მე მაქვს უსათაურო ლინუქსის ყუთი ჩემს სახლის ქსელში. ვაკუუმური ფლუორესცენტური ჩვენების და LCDProc- ის დამატებით თქვენ შეგიძლიათ აჩვენოთ ჯანმრთელობის სტატისტიკა და თვალყური ადევნოთ თქვენ