Სარჩევი:

Arpeggiating Synthesizer (Mosquito I): 6 ნაბიჯი
Arpeggiating Synthesizer (Mosquito I): 6 ნაბიჯი

ვიდეო: Arpeggiating Synthesizer (Mosquito I): 6 ნაბიჯი

ვიდეო: Arpeggiating Synthesizer (Mosquito I): 6 ნაბიჯი
ვიდეო: Top 10 Most Expensive Synthesizers In The World 2024, ნოემბერი
Anonim
Arpeggiating სინთეზატორი (Mosquito I)
Arpeggiating სინთეზატორი (Mosquito I)

Mosquito I არის პატარა არპეგიგიატორ სინთეზატორი, რომელიც იყენებს Arduino Nano- ს და Mozzi ხმის სინთეზის ბიბლიოთეკას. მას შეუძლია ოცზე მეტი 8-საფეხურიანი თანმიმდევრობის დაკვრა, მაგრამ თქვენ შეგიძლიათ დაამატოთ იმდენი მიმდევრობა, რამდენიც გსურთ. შედარებით მარტივია მისი დაყენება და არ საჭიროებს ბევრ ნაწილს.

მასალები:

  • არდუინო ნანო (ან ნებისმიერი არდუინო ნამდვილად უნდა მუშაობდეს)
  • 5 ეა პოტენციომეტრი (10K ხაზოვანი)
  • 2 ეა დააჭირეთ ღილაკს
  • 1 ეა LED
  • 1 ეა რეზისტორი (330 ომი)
  • 2 ეა რეზისტორი (1 კ)
  • 1 ეა რეზისტორი (2K)
  • 1 ეა ელექტროლიტური კონდენსატორი (100 uF)
  • 1 ეა კერამიკული კონდენსატორი (33 nF)
  • 1 სტერეო ჯეკი
  • დასაკავშირებელი მავთული
  • პურის დაფა

ნაბიჯი 1: არდუინოს დაყენება

არდუინოს დაყენება
არდუინოს დაყენება
არდუინოს დაყენება
არდუინოს დაყენება

პირველ რიგში, მოდით ნანო დავაყენოთ დაფაზე და შევქმნათ ჩვენი ძალა:

  1. განათავსეთ ნანო პურის დაფაზე. მოათავსეთ როგორც ნაჩვენებია ზემოთ სურათზე. ის უნდა იყოს მოთავსებული პურის დაფის ცენტრალურ არხზე. თქვენ მოისურვებთ, რომ ის განთავსდეს პურის დაფის ერთ ბოლოში, ხოლო USB პორტი იმ მხარესაა. ამ გზით კაბელი არ შეგაწუხებთ, როდესაც ჩვენ მას შევაერთებთ. თუ თქვენ იყენებთ უფრო დიდ Arduino- ს, როგორიცაა Uno ან Mega, თქვენ რა თქმა უნდა არ დააინსტალირებთ მას დაფაზე.
  2. შეაერთეთ დენის რელსები არდუინოსთან. შეაერთეთ თქვენი პურის დაფის ერთ -ერთი დადებითი (წითელი) რელსები Arduino– ს 5V პინთან მავთულის ან ჯუმბერის მავთულის გამოყენებით. შემდეგ დააკავშირეთ ნეგატიური (ცისფერი) რელსები ნანოს GND ქინძისთავებთან.
  3. შეაერთეთ დენის რელსები ერთმანეთთან. რკინიგზის გასწვრივ რკინიგზის გასწვრივ ორივე მხარეს, დააკავშირეთ რელსები ბორბლის ორივე მხარეს ერთმანეთთან, ერთი მხრიდან პოზიტიური სარკინიგზო ხაზის მავთულის გავლით მეორე მხარეს. გაიმეორეთ ეს უარყოფითი რელსებით.

ნაბიჯი 2: კონტროლის დამატება

კონტროლის დამატება
კონტროლის დამატება

Mosquito I იყენებს ხუთ პოტენომეტრს და ორ ღილაკს კონტროლისთვის.

პოტენომეტრები:

  1. მოათავსეთ ქოთნები პურის დაფაზე. მოათავსეთ ქოთნები ისე, რომ თითოეული პინი თავის რიგზე იყოს.
  2. შეაერთეთ ქოთნები დენის რელსებთან. შეაერთეთ თითოეული ქოთნის მარცხენა მხარის საყრდენი (თუ თქვენ უყურებთ ღილაკს) ერთ-ერთ უარყოფით რელსზე პურის დაფაზე. შეაერთეთ თითოეული ქოთნის მარჯვენა გვერდითი პური დაფის ერთ დადებით რელსთან.
  3. შეაერთეთ ქოთნები არდუინოსთან. შეაერთეთ თითოეული ქოთნის ცენტრალური პინი არდუინოს ერთ ანალოგიურ ქინძისთავთან. პირველი ქოთნის ცენტრალური პინი უკავშირდება A0- ს, მეორე ქოთანი A1- ს და ასე შემდეგ ბოლო ბანკი უკავშირდება A4- ს.

დააჭირეთ ღილაკებს:

  1. განათავსეთ ღილაკები პურის დაფაზე. მოათავსეთ ორი ღილაკი პურის დაფაზე ისე, რომ ისინი ცენტრალურ არხზე იყოს გადაჭიმული.
  2. დააკავშირეთ პოზიტიური მხარეები. პურის დაფის ერთ მხარეს, დააკავშირეთ ღილაკის ერთ-ერთი ქინძისთავი დადებით სარკინიგზო ხაზთან.
  3. შეაერთეთ უარყოფითი მხარეები. მოათავსეთ ერთი 1K რეზისტორი პურის დაფაზე ისე, რომ ერთი ბოლო იყოს დაკავშირებული ღილაკის გამოუყენებელ პინთან და რეზისტორის მეორე მხარე ნეგატიურ რელსთან.
  4. დაკავშირების ღილაკი Arduino– სთან. გაუშვით მავთული ზედიზედ, რომელიც აკავშირებს ღილაკს უარყოფით სარკინიგზო ხაზთან D2 პინთან. იგივე გააკეთეთ სხვა ღილაკით, მაგრამ დაუკავშირეთ D3.

ნაბიჯი 3: შედეგების დამატება

პროდუქტების დამატება
პროდუქტების დამატება

ჩვენ გამოვყოფთ აუდიოს პინ 9 -დან, ასევე ვანათებთ LED- ს ყოველი თანმიმდევრობის პირველ საფეხურზე. აქ მოცემულია, თუ როგორ უნდა დააყენოთ აპარატურა ამისათვის.

LED

  1. განათავსეთ LED ცარიელ ადგილას პურის დაფაზე.
  2. შეაერთეთ LED- ის უარყოფითი (მოკლე) ფეხი უარყოფით სარკინიგზო ხაზთან.
  3. მოათავსეთ დენის შემზღუდველი რეზისტორი. შეაერთეთ 330 ოჰმეტიანი რეზისტორის ერთი მხარე LED- ის დადებით (გრძელ) ფეხს. შეაერთეთ რეზისტორის მეორე მხარე არდუინოს D4 პინთან.

აუდიო გამომავალი

  1. განათავსეთ RC ქსელი. Arduino– დან გამომავალი სიგნალი მოდის pin 9 – დან, მაგრამ სიგნალი შეიძლება იყოს უფრო ცხელი, ვიდრე ზოგიერთ დინამიკს შეუძლია გაუმკლავდეს. ხაზის დონესთან დაახლოების მიზნით, მე დავამატე RC ქსელი (Notes & Volts- ის დიზაინის საფუძველზე). მოათავსეთ 33nF და 100uF კონდენსატორები, 2K რეზისტორთან ერთად, როგორც ეს ნაჩვენებია სურათში/სქემატური. დარწმუნდით, რომ ელექტროლიტური 100uF კონდენსატორი დაკავშირებულია მარჯვენა პოლარობასთან (დადებითი/გრძელი ფეხი მიდის 9 -ზე Arduino– ზე და უარყოფითი/მოკლე ფეხი დაკავშირებულია ჯეკთან).
  2. შეაერთეთ აუდიო ბუდის უარყოფითი მხარე მიწასთან. აუდიო ბუდეების კავშირი ოდნავ განსხვავდება თქვენი ტიპის მიხედვით, მაგრამ ისინი ძირითადად ერთნაირად მუშაობენ. ჩვენ უნდა დავუკავშიროთ ჯეკის ყდის მიწას. ეს ზოგჯერ აღინიშნება მინუს სიმბოლოთი ან შეაფასა როგორც "ყდის", "ბეჭდის" ან "gnd". თუ თქვენს აუდიო ჯეკზე არ არის წარწერები, შეიძლება დაგჭირდეთ მონაცემთა ფურცლის კონსულტაცია ან უბრალოდ შეამოწმოთ ჯეკი და დაინახავთ თუ არა შეგიძლიათ განსაზღვროთ რომელი პინი უკავშირდება ბუდის ყდის ან გარე რგოლს.
  3. შეაერთეთ აუდიო ბუდის დადებითი მხარე 100uF კონდენსატორის უარყოფით მხარეს. ჩვენი აუდიო სიგნალი ახლა მიედინება არდუინოს პინიდან 9 RC ქსელში და გამოდის 100uF კონდენსატორის უარყოფითი მხრიდან. ჩვენ ამას დავუკავშირებთ ჩვენი აუდიო ბუდის პოზიტიურ მხარეს. ეს ჩვეულებრივ აღინიშნება პლუს სიმბოლოთი ან შეიძლება იყოს შენიშვნა "წვერი". კიდევ ერთხელ, თუ ის არ არის მონიშნული, შეიძლება დაგჭირდეთ მისი შემოწმება იმის გასარკვევად, თუ რომელი პინი დაუკავშირდება ჯეკის წვერს. ასევე, თუ თქვენ იყენებთ სტერეო ჯეკს, შეიძლება იყოს L წვერი და R წვერი კავშირი. ვინაიდან ჩვენ გამოვყოფთ მონო სიგნალს, შეგიძლიათ უბრალოდ დაუკავშიროთ რომელიმე ერთ წვერიანი კავშირი.

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

მას შემდეგ რაც ყველაფერი დაყენდება, გადაამოწმეთ, რომ ყველა კავშირი სწორად გამოიყურება და ემთხვევა ზემოთ მოცემულ სურათს და სქემატურს

ნაბიჯი 4: კოდის ატვირთვა

ახლა, როდესაც აპარატურა არის დაყენებული, ჩვენ მზად ვართ გავუმკლავდეთ პროგრამულ უზრუნველყოფას:

  1. გაუშვით Arduino IDE. თქვენს კომპიუტერში გაუშვით Arduino IDE (თუ არ გაქვთ, შეგიძლიათ გადმოწეროთ
  2. ჩამოტვირთეთ Mozzi ბიბლიოთეკა. Mozzi ბიბლიოთეკა არის ის, რაც საშუალებას გვაძლევს გამოვიყენოთ ჩვენი Arduino როგორც სინთეზატორი. ამ ბიბლიოთეკის თქვენს IDE– ში მისაღებად გადადით Mozzi github გვერდზე https://sensorium.github.io/Mozzi/download/. დააწკაპუნეთ მწვანე ღილაკზე "კოდი" და აირჩიეთ ჩამოტვირთეთ ZIP.
  3. დააინსტალირეთ Mozzi ბიბლიოთეკა zip ფაილიდან. Arduino IDE- ში გადადით ჩანახატზე-> ბიბლიოთეკის ჩართვა-> დამატება. ZIP ბიბლიოთეკა… გადადით თქვენს მიერ გადმოწერილ zip ფაილზე, რომ დაამატოთ. ახლა თქვენ უნდა ნახოთ Mozzi ჩამოთვლილი ჩანახატი-> ბიბლიოთეკის ჩართვა განყოფილებაში.
  4. ჩამოტვირთეთ Mosquito I Arduino კოდი. ამის მიღება შეგიძლიათ ჩემი github საიტიდან https://github.com/analogsketchbook/mosquito_one. (გაითვალისწინეთ, რომ სქემები ასევე არსებობს იქ, თუ დაგჭირდებათ გაყვანილობის მითითებისთვის.
  5. შეაერთეთ Arduino კომპიუტერთან და ატვირთეთ კოდი.

ნაბიჯი 5: ირგვლივ არევა

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

აი რას აკეთებს კონტროლი:

ქოთნები:

შეფასება: ეს აკონტროლებს რამდენად სწრაფად უკრავს მიმდევრი. მისი გამორთვა თანმიმდევრობით უკრავს დისკრეტულ ნოტებს. მისი შემობრუნება აბინძურებს შენიშვნებს, რათა შეიქმნას სრულიად ახალი ტალღის ფორმები.

ლეგატო: მეორე ქოთანი აკონტროლებს ლეგატოს ან ნოტის სიგრძეს. მისი უფრო მარცხნივ გადაბრუნება წარმოქმნის მოკლე, სტიკატოს ნოტებს, ხოლო მარჯვნივ მოქცევისას უფრო გრძელი ნოტები.

Pitch: ეს ადგენს თანმიმდევრობის ძირითად სიმაღლეს. მოედნის კონტროლი ადგენს MIDI მნიშვნელობებს, ასე რომ ის ზრდის/ამცირებს სიმაღლეს ნახევარხმიანობაში და არა უწყვეტი სიმაღლის ცვლა.

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

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

ღილაკები:

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

ნაბიჯი 6: პერსონალიზაცია

პერსონალიზაცია
პერსონალიზაცია

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

შენიშვნების შეცვლა არსებულ მიმდევრობაში

თანმიმდევრობა ინახება მასივის მასივში, სახელწოდებით NOTES. თითოეული შენიშვნა ინახება როგორც MIDI შენიშვნის მნიშვნელობა, ასე რომ, თუ გსურთ შეცვალოთ ჩანაწერები კონკრეტულ თანმიმდევრობაში, უბრალოდ შეცვალეთ MIDI შენიშვნის ნომრები ამ თანმიმდევრობით. ნაგულისხმევი კონფიგურაცია არის თითოეული საფეხურისთვის 8 ნაბიჯის დაკვრა, ასე რომ თქვენ შეგიძლიათ გქონდეთ მხოლოდ 8 MIDI მნიშვნელობა თანმიმდევრობით (იხ. ქვემოთ, თუ გსურთ გქონდეთ მიმდევრობის განსხვავებული სიგრძე).

ერთი რამ უნდა აღინიშნოს, რომ მოედანზე სახელური ამატებს შენიშვნის ოფსეტს MIDI მნიშვნელობებში, რომლებიც მითითებულია NOTES მასივში. როდესაც ღილაკი კონცენტრირებულია, ის უკრავს მასივში მითითებულ MIDI შენიშვნებს, მაგრამ როდესაც მოქნილობის ღილაკს ატრიალებთ, ის დაუმატებს ან გამოაკლებთ ნახევარტონს დაკრულ ნოტებს.

ახალი თანმიმდევრობების დამატება

თქვენ შეგიძლიათ დაამატოთ ახალი თანმიმდევრობა NOTES მასივში, უბრალოდ დაამატოთ ახალი 8 ნოტიანი მასივი სიის ბოლოს. თუ ამას აკეთებთ, თქვენ ასევე უნდა შეცვალოთ numSequences ცვლადის მნიშვნელობა, რათა შეესაბამებოდეს მიმდევრობის ახალ რაოდენობას. მაგალითად, NOTES მასივს აქვს 21 თანმიმდევრობა, ამიტომ numSequences ცვლადი დაყენებულია 21 -ზე. თუ დაამატებთ ერთ ახალ თანმიმდევრობას, თქვენ უნდა შეცვალოთ numSequences ცვლადი 22 -ზე.

თქვენ შეგიძლიათ დაამატოთ იმდენი ახალი თანმიმდევრობა, რამდენიც გსურთ.

თანმიმდევრობის სიგრძის შეცვლა

თუ გსურთ შეცვალოთ თქვენი თანმიმდევრობის სიგრძე (თუ გსურთ თქვათ 4-საფეხურიანი ან 16-საფეხურიანი თანმიმდევრობა), შეგიძლიათ ამის გაკეთება, მაგრამ ერთადერთი გაფრთხილება ის არის, რომ ყველა მიმდევრობა უნდა იყოს იგივე სიგრძე. თქვენ ასევე უნდა დააყენოთ numNotes ცვლადი, რომელიც შეესაბამება თქვენი მიმდევრობის სიგრძეს.

სხვა ცვლილებები

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

არსებობს Mozzi– ს კოდის რამდენიმე ძირითადი ნაწილი, რომელსაც აქვს საკმაოდ სპეციფიკური გამოყენება და მე ჩამოვთვალე ისინი ქვემოთ, რათა მოგაწოდოთ და წარმოიდგინოთ, რისთვის გამოიყენება ისინი:

  • setup () - თუ თქვენ გაქვთ დაპროგრამებული Arduinos– ისთვის, სანამ არ იცნობთ ამ ფუნქციას და ის თითქმის იგივე გამოიყენება Mozzi– ში. ჩვენ მას ძირითადად ვიყენებთ ოსცილატორების, ფილტრების და ა.
  • updateControl () - ეს არის ის, სადაც ლომის წილი Mozzi კოდი აკეთებს თავის საქმეს. ეს არის ადგილი, სადაც ჩვენ ვკითხულობთ ქოთნის და ღილაკების მნიშვნელობებს, ვადგენთ და ვაქცევთ ამ მნიშვნელობებს სინთეზაირად და სადაც ხდება თანმიმდევრობა.
  • updateAudio () - ეს არის საბოლოო გამომავალი Mozzi ბიბლიოთეკიდან. როგორც წესი, კოდი აქ ინახება ძალიან მცირე და სუსტი, რადგან ეს ფუნქცია გამოიყენება Mozzi– ს მიერ, რათა მაქსიმალურად გაზარდოს საათის ყველა ციკლი. როგორც ხედავთ კოღოების კოდში, ის შეიძლება იყოს ცოტა საიდუმლოებით მოცული, მაგრამ ჩვენ ყველაფერს ვაკეთებთ, რომ გავაერთიანოთ/გავამრავლოთ ჩვენი სხვადასხვა ტალღების ფორმები და შემდეგ გადავიტანოთ ისინი ბიტიკური ცვლის კონკრეტულ რიცხვთა დიაპაზონში. უმჯობესია შეინარჩუნოთ ეს ფუნქცია ძალიან მსუბუქი (არა სერიული ზარები ან კითხვის ქინძისთავები) და მის ნაცვლად მოათავსოთ პერსონალის უმეტესობა controlUpdate () ფუნქციაში. Mozzi დოკუმენტაცია უფრო დეტალურად აღწერს ამას.

გირჩევთ: