Агуулгын хүснэгт:

Arpeggiating Synthesizer (шумуул I): 6 алхам
Arpeggiating Synthesizer (шумуул I): 6 алхам

Видео: Arpeggiating Synthesizer (шумуул I): 6 алхам

Видео: Arpeggiating Synthesizer (шумуул I): 6 алхам
Видео: Teenage Mutants & EdOne - The Question [Stil vor Talent] 2024, Долдугаар сарын
Anonim
Арпегги синтезатор (шумуул I)
Арпегги синтезатор (шумуул I)

Mosquito I бол Arduino Nano болон Mozzi -ийн дууны синтезийн номын санг ашигладаг жижиг нягтруулагч синтезатор юм. Энэ нь 8 алхамтай хорин гаруй дарааллыг тоглуулах боломжтой боловч та хүссэн хэмжээгээрээ захиалгат дараалал нэмж болно. Тохируулах нь харьцангуй энгийн бөгөөд нэг их хэсгийг шаарддаггүй.

Хангамж:

  • Arduino Nano (эсвэл ямар ч Arduino үнэхээр ажиллах ёстой)
  • 5 ea потенциометр (10K шугаман)
  • 2 товчлуур дарна уу
  • 1 ширхэг LED
  • 1 еа резистор (330 ом)
  • 2 электрон эсэргүүцэл (1K)
  • 1 электрон эсэргүүцэл (2K)
  • 1 ea электролитийн конденсатор (100 uF)
  • 1 ea керамик конденсатор (33 nF)
  • 1 стерео Жак
  • Холбох утас
  • Талхны самбар

Алхам 1: Arduino -г тохируулах

Arduino -ийг тохируулж байна
Arduino -ийг тохируулж байна
Arduino -ийг тохируулж байна
Arduino -ийг тохируулж байна

Нэгдүгээрт, наног талхны тавцан дээр тавиад хүчээ тохируулцгаая.

  1. Наног талхны тавцан дээр тавь. Дээрх зурагт үзүүлсэн шиг байрлуулна уу. Энэ нь талхны тавцангийн төв сувгийг дэвсэх ёстой. Та үүнийг самбарын нэг үзүүрт, USB порт нь нөгөө тал руу харсан байхыг хүсч байна. Ийм байдлаар бид кабелийг залгахад саад болохгүй. Хэрэв та Uno эсвэл Mega гэх мэт том Arduino ашиглаж байгаа бол та үүнийг мэдээж талхны самбар дээр суулгахгүй болно.
  2. Цахилгаан шугамыг Arduino руу холбоно уу. Талхны тавцангийн эерэг (улаан) нэг төмөр замыг Arduino -ийн 5V зүү рүү утас эсвэл холбогч утас ашиглан холбоно уу. Дараа нь сөрөг (цэнхэр) нэг төмөр замыг Наногийн GND зүүтэй холбоно уу.
  3. Цахилгаан шугамыг бие биентэйгээ холбоно уу. Талхны тавцангийн хоёр талын төмөр замын дагуу цахилгаан эрчим хүч авахын тулд нэг талдаа эерэг төмөр замаас нөгөө талд нь эерэг төмөр зам тавих замаар талхны хоёр талын төмөр замыг хооронд нь холбоно. Үүнийг сөрөг төмөр замаар давтана уу.

Алхам 2: Хяналтыг нэмэх

Хяналтыг нэмж байна
Хяналтыг нэмж байна

Шумуул I нь хяналтын таван потенциометр ба хоёр товчлуурыг ашигладаг.

Потенциометр:

  1. Савыг талхны тавцан дээр тавь. Савыг зүү бүр өөрийн эгнээнд байхаар байрлуул.
  2. Цахилгаан төмөр замд тогоо холбоно уу. Сав бүрийн зүүн талын зүүг (хэрэв та бариулыг харж байгаа бол) талхны самбар дээрх сөрөг төмөр замын аль нэгэнд холбоно уу. Сав бүрийн баруун талын зүүг талхны хавтангийн эерэг төмөр замын аль нэгэнд холбоно уу.
  3. Савыг Arduino руу холбоно уу. Сав бүрийн төв зүүг Arduino дээрх аналог тээглүүрийн аль нэгэнд холбоно уу. Эхний тогооны гол зүү нь A0, хоёр дахь сав нь A1, бусад тогоо нь A4 -тэй холбогддог.

Товчлуур дарах:

  1. Талхны самбар дээр товчлууруудыг байрлуул. Хоёр товчлуурыг талхны тавцан дээр тавь, ингэснээр тэд төв суваг руу чиглэнэ.
  2. Эерэг талыг холбоно уу. Талхны тавцангийн нэг талд түлхэх товчлуурын нэг тээглүүрийг эерэг төмөр замд холбоно уу.
  3. Сөрөг талыг холбоно уу. 1K резисторуудын нэгийг талхны тавцан дээр тавь, ингэснээр нэг төгсгөл нь товчлуурын ашиглаагүй зүүтэй, резисторын нөгөө тал нь сөрөг төмөр замтай холбогдоно.
  4. Arduino руу холбогдох товчлуур. Сөрөг төмөр замтай товчлуурыг D2 зүү рүү холбосон эгнээнд утсыг ажиллуулна уу. Нөгөө товчлууртай ижил зүйлийг хий, гэхдээ D3 руу холбоно уу.

Алхам 3: Үр дүнг нэмэх

Гаралтыг нэмж байна
Гаралтыг нэмж байна

Бид 9 -р зүүгээс аудио гаргаж, дараалал бүрийн эхний алхам дээр LED анивчдаг. Үүний тулд тоног төхөөрөмжийг хэрхэн тохируулах талаар эндээс үзнэ үү.

LED

  1. Талхны самбар дээр хоосон зайнд LED байрлуул.
  2. LED -ийн сөрөг (богино) хөлийг сөрөг төмөр замд холбоно уу.
  3. Одоогийн хязгаарлагч резисторыг байрлуул. 330 ом эсэргүүцлийн нэг талыг LED -ийн эерэг (урт) хөл рүү холбоно уу. Эсэргүүцлийн нөгөө талыг Arduino -ийн D4 зүү рүү холбоно уу.

Аудио гаралт

  1. RC сүлжээг байрлуул. Arduino -ийн гаралтын дохио 9 -р зүүгээр гарч байгаа боловч зарим чанга яригчтай харьцуулахад дохио арай халуун байж магадгүй юм. Үүнийг шугамын түвшинд ойртуулахын тулд би RC сүлжээг нэмж оруулсан (Notes & Volts -ийн дизайн дээр үндэслэсэн). Зураг дээр үзүүлсэн шиг 33nF ба 100uF конденсаторыг 2K эсэргүүцэлтэй хамт байрлуулна уу. Электролитийн 100uF конденсаторыг зөв туйлтай холбосон эсэхийг шалгаарай (эерэг/урт хөл нь Arduino дээр 9 -р зүү, сөрөг/богино хөл нь үүрэнд холбогдсон).
  2. Аудио үүрний сөрөг талыг газардуул. Аудио үүрний холболт нь таны ашиглаж буй төрлөөс хамааран бага зэрэг ялгаатай боловч ерөнхийдөө бүгд ижилхэн ажилладаг. Бид үүрний ханцуйг газардуу холбох хэрэгтэй. Үүнийг заримдаа хасах тэмдэгээр тэмдэглэж эсвэл "ханцуй", "бөгж" эсвэл "gnd" гэж тэмдэглэнэ. Хэрэв таны аудио үүрэнд ямар ч шошго байхгүй бол та өгөгдлийн хүснэгтээс лавлах эсвэл үүрэнд ойрхон үзлэг хийж, үүрний ханцуйвч эсвэл гадна цагираг руу ямар зүү холбогдсон эсэхийг тодорхойлох шаардлагатай байж магадгүй юм.
  3. Аудио үүрний эерэг талыг 100uF конденсаторын сөрөг тал руу холбоно уу. Манай аудио дохио одоо Arduino -ийн 9 -р зүүгээс RC сүлжээгээр дамжиж, 100uF конденсаторын сөрөг талаас гарч ирдэг. Бид үүнийг аудио үүрнийхээ эерэг талтай холбох болно. Үүнийг ихэвчлэн нэмэх тэмдэгээр тэмдэглэсэн эсвэл "үзүүр" гэж тэмдэглэсэн байж болно. Дахин хэлэхэд хэрэв шошго оруулаагүй бол үүрний үзүүрт ямар зүү холбогдохыг олж мэдэхийн тулд үүнийг шалгах шаардлагатай байж магадгүй юм. Түүнчлэн, хэрэв та стерео үүр ашиглаж байгаа бол L tip ба R tip холболт байж болно. Бид моно дохиог гаргаж байгаа тул та үзүүр холболтуудын аль нэгэнд нь холбогдож болно.

Анхаарах зүйл: Хэрэв та аудио хэт нам гүм байна гэж үзвэл та 1 -р алхам дахь RC сүлжээг арилгаж, Arduino -ийн 9 -р зүү дээрх аудиотой шууд холбогдох боломжтой болно. Хэрэв та аудиог дууны товчлууртай гадны компьютерийн чанга яригч гэх мэт өмнөх өсгөгчтэй холбож байгаа бол энэ нь зүгээр байх болно, гэхдээ би үүнийг чихэвч, чихэвч, чанга яригч руу шууд холбох гэх мэт зүйлд зөвлөхгүй. Хэрэв та RC сүлжээг устгахаар шийдсэн бол Arduino -г асаахаасаа өмнө чанга яригчийнхаа дууг бүхэлд нь доошлуулаад дараа нь чанга яригчаа унтраахгүйн тулд аажмаар дууг нь нэмэгдүүлэхийг санал болгож байна.

Бүх зүйлийг тохируулсны дараа бүх холболт зөв харагдаж, дээрх зураг, схемтэй таарч байгаа эсэхийг дахин шалгаарай

Алхам 4: Кодыг байршуулж байна

Тоног төхөөрөмж бэлэн болсон тул бид програм хангамжийн асуудлыг шийдвэрлэхэд бэлэн байна.

  1. Arduino IDE -ийг ажиллуулна уу. Компьютер дээрээ Arduino IDE -ийг ажиллуулна уу (хэрэв танд байхгүй бол https://www.arduino.cc/en/software дээрээс татаж авах боломжтой).
  2. Mozzi номын санг татаж авах. Mozzi номын сан нь бидний Arduino -ийг синтезатор болгон ашиглах боломжийг олгодог. Энэхүү номын санг IDE дээрээ авахын тулд Mozzi github хуудас руу орно уу https://sensorium.github.io/Mozzi/download/. Ногоон "Код" товчин дээр дараад ZIP татаж авахыг сонгоно уу.
  3. Mozzi номын санг zip файлаас суулгана уу. Arduino IDE дээр Sketch-> Номын сан оруулах-> ZIP номын сан нэмэх хэсэгт очно уу. Татаж авсан zip файл руу очно уу. Та одоо Sketch-> Номын сан оруулах хэсгийн доор жагсаасан Mozzi-г харах ёстой.
  4. Mosquito I Arduino кодыг татаж аваарай. Та үүнийг миний github сайтаас https://github.com/analogsketchbook/mosquito_one дээрээс авах боломжтой. (Хэрэв танд утсан холболтын лавлагаа хэрэгтэй бол схемүүдийг тэндээс авах боломжтой гэдгийг анхаарна уу.
  5. Arduino -г компьютерт холбоод кодыг байршуулна уу.

Алхам 5: Эргэн тойронд мессеж бичих

Ингээд л боллоо. Та чанга яригчаа аудио залгуурт холбож, эв нэгдэлтэй Нано -оос синтезийн сайхан дууг сонсох боломжтой байх ёстой! Хэрэв та эхлээд юу ч сонсоогүй бол зохистой эхлэх утгыг олж авахын тулд бүх тогоон дээрх товчлууруудыг төвлөрүүлж үзээрэй.

Хяналтууд дараахь зүйлийг хийдэг.

Сав:

Үнэлгээ: Энэ нь дараалал үүсгэгч хэр хурдан тоглож байгааг хянадаг. Үүнийг унтраах нь салангид тэмдэглэлүүдийг дараалан тоглуулдаг. Дээш эргүүлэх нь цоо шинэ долгионы хэлбэрийг бий болгохын тулд тэмдэглэлүүдийг нэг нэгээр нь будна.

Легато: Хоёр дахь сав нь легато эсвэл тэмдэглэлийн уртыг хянадаг. Зүүн тийш илүү эргүүлэх нь богино, наалт бүхий тэмдэглэлүүдийг гаргадаг бол баруун тийш эргүүлэхэд илүү урт тэмдэгтүүд гардаг.

Давирхай: Энэ нь дарааллын үндсэн давтамжийг тохируулна. Давхар хяналт нь MIDI утгыг тохируулдаг тул давтамжийг тасралтгүй өөрчлөхөөс илүү хагас давтамжтай давтамжийг нэмэгдүүлж/бууруулдаг.

Үе шат: Энэ товчлуурыг баруун тийш эргүүлэх нь нарийн үе шаттай эффект өгдөг. Техникийн хувьд энэ нь Mosquito I -ийн хоёр осцилляторыг бага зэрэг салгахад хүргэж байгаа бөгөөд энэ нь үе шатыг үүсгэдэг. Гэхдээ энэ нь давтамжийг дагаж мөрддөггүй тул үе шатны нөлөө нь доод талбайн тэмдэглэлд илүү мэдрэгддэг.

Шүүлтүүр: Энэ товчлуур нь бага нэвтрүүлэх шүүлтүүрийн таслах давтамжийг хянадаг. Үүнийг зүүн тийш эргүүлэх нь өндөр давтамжийг тасалж, илүү нам гүм дууг гаргадаг бол баруун тийш эргүүлэхэд илүү тод дуу гардаг.

Товчлуурууд:

Шумуул нь анхдагчаар тоглож болох хорь гаруй өөр дараалалтай байдаг. Товчлуурууд нь ямар дарааллаар тоглохыг сонгох боломжийг танд олгоно. Нэг товчлуур нь дарааллын жагсаалтыг дээшлүүлж, нөгөө нь жагсаалтаас доошоо бууна.

Алхам 6: Дасан зохицох

Өөрчлөлт
Өөрчлөлт

Би ихэвчлэн өөр өөр масштабтай хэд хэдэн үндсэн дарааллыг нэмж оруулсан боловч та тоглож буй тэмдэглэлийн дарааллыг өөрчлөх, шинээр нэмэх эсвэл тэмдэглэлийн тоог дарааллаар нь өөрчлөхийн тулд кодыг хялбархан өөрчилж болно. Хэрэв та үүнийг тохируулахыг хүсч байвал үүнийг хэрхэн хийж байгааг дэлгэрэнгүй харуулав.

Тэмдэглэлийг одоо байгаа дарааллаар өөрчлөх

Дарааллыг NOTES нэртэй массивын массивт хадгалдаг. Тэмдэглэл бүр MIDI тэмдэглэлийн утга хэлбэрээр хадгалагддаг тул хэрэв та тэмдэглэлийг тодорхой дарааллаар өөрчлөхийг хүсвэл тэр дарааллын MIDI тэмдэглэлийн дугаарыг өөрчилнө үү. Анхдагч тохиргоо нь дараалал тутамд 8 алхам хийх бөгөөд ингэснээр та дарааллаар 8 MIDI утгатай байж болно (хэрэв та өөр өөр дарааллын урттай байхыг хүсвэл доороос үзнэ үү).

Анхаарах нэг зүйл бол давирхайн товчлуур нь NOTES массивт заасан MIDI утгуудад тэмдэглэлийн офсет нэмдэг. Товчлуурыг төвд байрлуулахдаа энэ нь массивт заасан MIDI тэмдэглэлийг тоглуулдаг боловч та товчлуурыг эргүүлэхэд тоглож буй тэмдэглэлд хагас өнгө нэмж эсвэл хасдаг.

Шинэ дараалал нэмж байна

Жагсаалтын төгсгөлд 8 тэмдэглэлийн шинэ массив нэмж оруулснаар та NOTES массивт шинэ дараалал нэмж болно. Хэрэв та үүнийг хийвэл numSequences хувьсагчийн утгыг шинэ дарааллын тоог тааруулахын тулд өөрчлөх шаардлагатай болно. Жишээлбэл, NOTES массив нь анхдагчаар 21 дараалалтай байдаг тул numSequences хувьсагчийг 21 болгож тохируулсан болно. Хэрэв та нэг шинэ дараалал нэмбэл numSequences хувьсагчийг 22 болгож өөрчлөх шаардлагатай болно.

Та хүссэн хэмжээгээрээ олон шинэ дараалал нэмж болно.

Дарааллын уртыг өөрчлөх

Хэрэв та дарааллынхаа уртыг өөрчлөхийг хүсч байвал (хэрэв та 4 эсвэл 16 алхамтай дарааллыг хэлэхийг хүсч байвал) үүнийг хийж болно, гэхдээ цорын ганц анхааруулга бол бүх дараалал ижил урттай байх ёстой. Та мөн numNotes хувьсагчийг дарааллынхаа урттай тохируулах хэрэгтэй болно.

Бусад өөрчлөлтүүд

Энэхүү гарын авлагын хамрах хүрээнээс давсан долгионы хэлбэр, шүүлтүүрийн тохиргоо/утга зэрэг өөр хэд хэдэн тохируулга хийх боломжтой. Mozzi кодыг олох нь эхлээд жаахан хэцүү байж болох ч кодын янз бүрийн хэсгүүд юу хийж байгааг харуулахын тулд кодыг аль болох баримтжуулахыг хичээсэн.

Mozzi -ийн кодын хэд хэдэн үндсэн хэсгүүд байдаг бөгөөд тэдгээр нь маш тодорхой хэрэглээтэй байдаг бөгөөд би тэдгээрийг танд зориулан ашиглахын тулд танд өгөх үүднээс доор жагсаав.

  • setup () - Хэрэв та энэ функцтэй танилцахаасаа өмнө Arduinos -д програмчилсан бөгөөд үүнийг Mozzi дээр бараг ашигладаг. Бид үүнийг ихэвчлэн осциллятор, шүүлтүүр гэх мэт анхдагч тохиргоог тохируулахад ашигладаг.
  • updateControl () - Энэ бол Mozzi кодын арслангийн үүрэг гүйцэтгэж буй газар юм. Энд бид тогоо, товчлуурын утгыг уншиж, тэдгээрийг нэгтгэн нэгтгэхийн тулд эдгээр утгыг газрын зураг дээр хөрвүүлж, дарааллыг хийж байна.
  • updateAudio () - Энэ бол Mozzi номын сангийн эцсийн гаралт юм. Ихэвчлэн энд байгаа кодыг маш жижиг хэмжээтэй бөгөөд туранхай байдаг тул энэ функцийг Mozzi ашиглаж болох бүх цагийн мөчлөгийг хамгийн их байлгахад ашигладаг. Шумуулын кодоос харахад энэ нь жаахан нууцлаг байж магадгүй, гэхдээ бид үндсэндээ төрөл бүрийн долгионы хэлбэрээ нэгтгэж/үржүүлж, дараа нь тодорхой тооны мужид тааруулж бит шилжүүлэх ажлыг хийж байна. Энэ функцийг маш хөнгөн байлгаж (Цуваа дуудлага эсвэл унших зүү биш) ихэнх зүйлийг controlUpdate () функцэд оруулах нь дээр. Mozzi -ийн баримт бичигт үүнийг илүү нарийвчлан тусгасан болно.

Зөвлөмж болгож буй: