Агуулгын хүснэгт:
- Алхам 1: Хамаарал
- Алхам 2: Midi оролтын утгыг тохируулах
- Алхам 3: Дээжтэй нэмэлт хавтас нэмнэ үү
- Алхам 4: Шинэ хавтас дотор нэмэлт дээж нэмж тохируулах
- Алхам 5: Number Pad Reference
Видео: Raspberry Pi хүрд машин: 5 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:00
Raspberry Pi + Python -ээр дамжуулан дээжийн дараалал.
Sequencer нь 4 полифонтой бөгөөд хэрэглэгчид бодит цаг хугацаанд сольж болох 6 өөр дарааллыг хадгалах, мэдээлэх боломжийг олгодог бөгөөд өөр өөр дээжийг хооронд нь солих чадварыг дэмждэг.
Би скриптийг үнэхээр ямар ч MIDI хянагч, дуу чимээтэй ажиллах боломжтой байдлаар бичсэн. Би 18 өөр дууны банк, тус бүр 16 дээж ашигладаг боловч банк, дээж нэмэх, хасах нь хялбар бөгөөд тийм ч их өөрчлөлт шаарддаггүй. Хэрэв танд ямар нэгэн асуудал гарвал над руу имэйл бичээрэй: [email protected]
GitHub дээрээс кодыг хайж олох:
Хэрэв та үүнийг ашиглаж байгаа бол надад мэдэгдээрэй, ялангуяа хэрэв та үүнийг ашиглан видео хийвэл!
Алхам 1: Хамаарал
Энэ програм нь дараах (суулгаагүй) Python модулиудыг шаарддаг.
дунд
тоглоом
намуухан
Гэсэн хэдий ч Мидо өөрөө хэд хэдэн хараат байдлыг шаарддаг тул Мидо зарим хүндрэл учруулдаг. Тэд бүгд суулгасан эсэхийг шалгахын тулд Raspberry Pi -ийнхээ терминалд дараах тушаалуудыг оруулна уу ('$' -г хассан), тэгвэл бүх зүйл сайхан болно. Бусад модулийг ердийн байдлаар суулгаж болно.
$ sudo apt-get шинэчлэлт
$ sudo apt-get install build
$ sudo apt-get libasound-dev эсвэл libasound2-dev суулгана уу
$ sudo apt-get libjack0 суулгаарай
$ sudo apt-get libjack-dev суулгана уу
$ sudo apt-get python-pip суулгана уу
$ sudo apt-get суулгах python-dev
$ sudo pip python-rtmidi суулгаарай
$ sudo pip суулгах mido
Алхам 2: Midi оролтын утгыг тохируулах
Үндсэн Python скрипт дотор 16 бүхэл тооноос бүрдсэн noteList нэртэй массив байдаг (мөр 165.) Эдгээр нь манай хянагчийн дууг өдөөхийн тулд Pi руу илгээдэг MIDI тэмдэглэлийн утгууд юм. Midi хянагч бүр өөр өөр байдаг, тиймээс хэрэв танд Akai LPD8 байхгүй бол эдгээр утгыг төхөөрөмжтэйгээ тохируулан өөрчлөх шаардлагатай болно.
Github репо нь энэ зорилгоор тусгайлан бүтээсэн "midihelp.py" нэртэй өөр скриптийг агуулдаг. Үүнийг хийдэг зүйл бол компьютер хүлээн зөвшөөрсөн анхны MIDI хянагчийн оролтын утгыг консол руу хэвлэх явдал юм. Таны хийх ёстой зүйл бол эдгээр утгыг noteList -д багтсан утгаас өөр байвал массиваар солих явдал юм.
Тэмдэглэлийн дараалал нь хавтас бүрт ямар дууны эффект тоглуулахтай холбоотой байдаг тул үүнийг санаарай.
Алхам 3: Дээжтэй нэмэлт хавтас нэмнэ үү
Скрипт дэх дээжийн иж бүрдлийг нэг директор дахь фолдеруудаар хадгалдаг бөгөөд GitHub файл дотор 808 иж бүрдэл яг яг тохирдог. Ингэснээр би бүх төрлийн дээжийн багцыг хавтас дотор хадгалж, хялбархан сольж болно.
Скриптийг өөрчлөх цорын ганц зүйл бол foldNum хувьсагч бөгөөд энэ нь хичнээн дээжийн хавтас байгааг скриптэд хэлж өгдөг. Одоогийн байдлаар скрипт нь foldNum -ийг нэг болгож тохируулсан байна, учир нь нэг лавлахад зөвхөн нэг дэд хавтас байдаг (808 иж бүрдэл.) Одоогийн байдлаар скриптийг зохицуулж болох хамгийн их фолдерууд нь 18 байна, энэ нь миний хичнээнийг ашиглаж байгаа боловч энэ нь маш энгийн зүйл юм. Үүнийг өөрчил, танд тусламж хэрэгтэй бол надад хэлээрэй.
Скрипт нь нэг директор доторх фолдеруудын хэмжээг уншиж, замыг ийм байдлаар авдаг тул хавтасны нэр нь огт хамаагүй (бүгд өөр өөр байх л юм). Файлуудын нэр нь өөрөө чухал боловч дараагийн алхам дээр энэ талаар илүү ихийг хэлэх болно.
Алхам 4: Шинэ хавтас дотор нэмэлт дээж нэмж тохируулах
Дууг дээж авагч руу 0-15 хооронд дугаарлагдсан.wav файлыг агуулсан директорын фолдеруудаар ачаалдаг. Үүний жишээг хавсаргасан 808 хавтаснаас үзнэ үү. Дээж бүхий дэд хавтас бүр өөр хоорондоо ижил төстэй байх ёстой.
NoteList массив дахь MIDI оролтын индекс нь.wav файлын нэртэй яг таарч байна.
Жишээлбэл:
- noteList [0] -д хадгалагдсан MIDI тэмдэглэлийг идэвхжүүлэхэд 0.wav wav файл тоглогдох болно.
- noteList [8] -д хадгалагдсан MIDI тэмдэглэлийг асаахад 8.wav файлын wav файл тоглогдох болно.
Би үүнийг хэсэгчлэн хийсэн бөгөөд ингэснээр MIDI хянагч бүрийг скрипт дээр ажиллахад хялбараар тохируулах боломжтой байсан бөгөөд түүвэр болон оролтын дугаарыг хялбархан сунгах, хязгаарлах, түүнчлэн файлууд болон скриптийг цохилтын хүрдээр зохион байгуулах боломжтой болсон. дуу, жишээлбэл, үргэлж 0.wav хэлбэрээр хадгалагдах бөгөөд анхны MIDI тэмдэглэлээр өдөөгдөх болно.
Би хянагчийнхаа 16 оролттой нийцэхийн тулд 16 утгыг дур зоргоороо сонгосон тул хэрэв та зөвхөн 1 дээжтэй эсвэл өөр олон тооны дараалал үүсгэгчийг хийхийг хүсч байвал аудио файлуудаа зохих ёсоор дугаарлаж, noteList массивт хадгалагдсан тоонуудыг хасах буюу нэмэх.
Хэрэв оруулсан 808 иж бүрдэл зөв ажиллаж байгаа боловч танд өөрийн дээжинд асуудал байгаа бол шийдэл нь файлуудын дээжлэх хурдыг PyGame -ийн 22, 050 кГц -ийн дээжийн хурд болон битийн гүн 16 -тэй нийцүүлэн өөрчлөх явдал юм. Та үүнийг Audacity эсвэл бусад аудио засварлах програм хангамж. Тэд тэндээс төгс ажиллах ёстой!
Алхам 5: Number Pad Reference
За, дараалал үүсгэгч дотор миний санаж байснаас илүү олон зүйл болж байна, тиймээс би илүү сайн функцтэй тааруулахын тулд Number Pad дээр жаахан бөглөрөв. Үүнийг санаж, Одоор * ба үе. хоёулаа функциональ товчлуур хэлбэрээр ажилладаг.
АШИГЛАЛ
ҮНДСЭН ҮЙЛ АЖИЛЛАГАА
[8] - Metronome -ийг асаах, унтраах
[9] - Бичлэгийн горимыг асаах, унтраах
[Оруулах] - Тоглуулах/түр зогсоох дараалал
[0] - Одоогийн тэмдэглэлийг дарааллаар устгах
[Num Lock ба *] - Унтраах
[MIDI Тэмдэглэл ба.] - Тоог тэгш тоогоор бүү гарга
TEMPO -ийн чиг үүрэг
[+] - Курс BPM -ийг хурдасгах
[-] - BPM -ийг удаашруулах курс
[+ ба *] - BPM -ийг хурдан хурдасгах
[- ба *] - BPM -ийг хурдан удаашруулна
[+ ба.] - BPM -ийг нарийн хурдасгах
[- ба.] - FP Slow Down BPM
Дарааллын чиг үүрэг
[1-6] 1-6 дарааллыг эргэн санах
[1-6 ба.] Дэлгүүрийн дараалал 1-6
[0 ба.] Одоогийн дарааллыг арилгах
ЖИШЭЭ ФОЛДЕРУУД ӨӨРЧЛӨХ
[1-9 ба *]-1-9 фолдер дахь дээжийн багц болгон өөрчлөх
[1-9 ба * ба.]-10-18 фолдер дахь дээжийн багц болгон өөрчлөх
Дарааллын зөвлөмжүүд:
-Одоогийн [0 ба.] Дарааллыг цэвэрлээд санах ойдоос устгахыг хүссэн дарааллаар хадгална уу.
-Дэс дарааллыг эргэн санан өөр дугаар руу хадгалж хуулна.
Зөвлөмж болгож буй:
BBC Micro: бит ба зурлага - Жолооны хүрд ба жолоодлогын интерактив тоглоом: 5 алхам (зурагтай)
BBC Micro: bit and Scratch - Жолооны хүрд ба жолоодлогын интерактив тоглоом: Энэ долоо хоногт миний хийсэн нэг даалгавар бол BBC Micro: bit -ийг ашиглан бидний бичсэн Scratch програмыг ашиглах явдал юм. Энэ бол ThreadBoard -ийг ашиглан суулгагдсан системийг бий болгох хамгийн тохиромжтой боломж гэж би бодсон! Миний зурлагад зориулсан урам зориг p
Хамгийн хялбар картон USB жолооны хүрд: 6 алхам (зурагтай)
Хамгийн хялбар картон USB жолооны хүрд: Энэ нь хорио цээрийн дэглэмтэй бөгөөд бид гэртээ гацсан тул бид маш олон видео тоглоом тоглох хандлагатай байдаг. Уралдааны тоглоом бол хамгийн шилдэг тоглоомуудын нэг боловч гар ашиглах нь уйтгартай бөгөөд үүнийг ашиглах нь Xbox эсвэл PS хянагчтай харьцуулахад хамаагүй хэцүү байдаг. Тийм учраас би м -ийг авахаар шийдсэн
DIY PC -ийн жолооны хүрд ба картон дээрээс дөрөө! (Санал хүсэлт, сэлүүр шилжүүлэх, дэлгэц) Уралдааны симулятор, тоглоомд зориулсан 9 алхам
DIY PC -ийн жолооны хүрд ба картон дээрээс дөрөө! (Санал хүсэлт, сэлүүр шилжүүлэх, дэлгэц) Уралдааны симулятор, тоглоомд зориулсан: Хөөе бүгдээрээ! Уйтгартай энэ цаг үед бид бүгдээрээ юу хийхээ хайж, тойрон эргэлддэг. Бодит амьдрал дахь уралдааны арга хэмжээг цуцалж, симулятороор сольсон. Би маш хямд ажилладаг симулятор бүтээхээр шийдсэн
TR 808 басс хүрд. Аналог дуу!: 5 алхам (зурагтай)
TR 808 басс хүрд. Аналог дуу!: Сонгодог бөмбөрийн машинаас авсан аналог дуу. Энэхүү төсөл нь 90 -ээд оны сүүлчээр би электрон техникчээр ажиллаж байсан бөгөөд бид ихэвчлэн схемийн үнийг үнээр авдаг байсан. TR 808 нь эдгээр схем дээр байсан бөгөөд тэр үед би
Raspberry Pi хөдөлгүүртэй хогийн хүрд машин: 15 алхам (зурагтай)
Raspberry Pi хөдөлгүүртэй хог бөмбөрийн машин: Энэхүү зааварчилгаа нь Raspberry Pi хөдөлгүүртэй робот бөмбөрийн машин хэрхэн хийхийг танд үзүүлэх болно. Энэ бол үнэхээр хөгжилтэй, бүтээлч, интерактив төсөл юм. Би танд дотоод ажлыг хэрхэн яаж хийхийг зааж өгөх болно, гэхдээ жинхэнэ бөмбөрийг танд өгөх болно