Isi kandungan:
- Langkah 1: Perkara yang Anda Perlu
- Langkah 2: Bahagian Alternatif
- Langkah 3: Meletakkan Papan Litar
- Langkah 4: Pendawaian
- Langkah 5: Pengaturcaraan Menggunakan Arduino IDE
- Langkah 6: Menguji dan Menggunakan Sintesis
- Langkah 7: Nota kaki
Video: Arduino MIDI Chiptune Synthesizer: 7 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:09
Nikmati keseronokan muzik permainan komputer awal dengan 8-bit chiptune synthesizer yang autentik, yang dapat anda kendalikan MIDI dari keselesaan mana-mana perisian DAW moden.
Litar sederhana ini menggunakan Arduino untuk menggerakkan cip penjana bunyi AY-3-8910 yang dapat diprogramkan (atau salah satu daripada banyak klonnya) untuk mencipta semula bunyi tahun 1980-an itu. Tidak seperti banyak reka bentuk yang memerlukan perisian khusus untuk mengedit muzik, ini kelihatan seperti peranti USB MIDI standard. Synthesizer mempunyai algoritma pintar yang cuba mengekalkan nota muzik yang paling relevan; dalam banyak kes, anda boleh melemparkan fail MIDI yang tidak diedit terus dan suaranya keluar dengan segera. Jumlah kos kira-kira £ 20.
Langkah 1: Perkara yang Anda Perlu
Senarai bahagian penuh untuk ini, seperti yang anda lihat dalam gambar, adalah seperti berikut:
- Klon Sparkfun Pro Micro (pilihan 5V, 16MHz). Saya menggunakan yang ini di Amazon.
- Cip Yamaha YM2149F PSG. Saya mendapat milik saya dari eBay.
- Kapasitor seramik 2 x 100nF
- 1 setiap perintang 75R, 1K dan 100K (penilaian 1/4 watt baik).
- Kapasitor cakera seramik 4.7nF
- Kapasitor elektrolitik 1uF (penilaian voltan> 5V).
- Soket IC DIP 40 pin 0.6"
- Header 2 x 12 cara 0.1 "(ini dari CPC)
- Papan prototaip, kira-kira 3 "dengan 2" Saya membeli sebilangan besar ini, sekali lagi di Amazon.
- Soket phono pasang PCB
- Kawat teras pepejal miniatur (seperti ini).
Anda juga memerlukan besi pematerian, pateri, pemotong wayar, tang, dan pelucut wayar.
Langkah 2: Bahagian Alternatif
Alternatif cip penjana bunyi yang boleh diprogramkan
YM2149 yang saya gunakan adalah klon dari Instrumen Umum asli AY-3-8910 IC. (Prototaip pertama menggunakan AY-3-8910 yang saya beli dari eBay, tetapi ternyata penjana bunyi putih tidak berfungsi. Wajah sedih). Anda boleh menggunakan sama ada untuk projek ini tanpa perubahan.
Instrumen Umum juga membuat varian AY-3-8912 dan AY-3-8913, yang merupakan silikon yang sama di dalam bungkusan yang lebih kecil, tanpa beberapa pin I / O tambahan. Pin ini tidak diperlukan untuk tujuan audio, dan projek ini tidak menggunakannya. Anda boleh menggunakan AY-3-8912 atau -8913, ikuti pinout yang ditunjukkan di atas.
Arduino Alternatif
"Pro Micro" yang saya gunakan adalah salinan papan Pro Micro Sparkfun. Sekiranya anda tidak yakin dengan kod Arduino, lebih baik anda mengikutinya; jika anda senang menyesuaikan reka bentuk, anda memerlukan spesifikasi berikut
- Peranti ATmega 16u4 atau 32u4 (diperlukan untuk bertindak sebagai peranti USB MIDI; ATmega 168 atau 328 tidak dapat melakukan ini).
- Operasi 5V (AY-3-8910 berjalan pada 5V), dan kelajuan jam 16MHz.
-
Sekurang-kurangnya 13 talian I / O digital.
Pin port PB5 mesti disambungkan (ia digunakan untuk menghasilkan isyarat jam 1MHz). Pada Pro Micro ini digunakan sebagai pin D9 I / O
Papan Arduino Leonardo dan Mikro sesuai dengan rang undang-undang, walaupun saya belum mencubanya.
Komponen lain
Perintang dan kapasitor yang digunakan di sini tidak begitu istimewa. Sebarang bahagian (kira-kira) nilai yang betul mesti berfungsi.
Langkah 3: Meletakkan Papan Litar
Untuk membina litar, sebaiknya mulakan dengan meletakkan soket, kemudian tambahkan perintang dan kapasitor. Kami akan membahas pendawaian ini bersama-sama pada langkah seterusnya.
Dengan menggunakan gambar di atas sebagai panduan, letakkan soket IC 40-pin, pusingkan papan dan pateri hanya pada dua pin sudut yang bertentangan terlebih dahulu. Sekiranya soket tidak berbaring di atas papan, mudah dipasang dengan meletakkan satu atau satu lagi pin. Apabila tidak apa-apa, selesaikan selebihnya.
Letakkan dua soket 12-pin, kemudian masukkan Arduino ke dalamnya untuk menegak dan tegak semasa pematerian. Sekali lagi, pematerian dua pin pada setiap hujung pertama akan membolehkan pemeriksaan sebelum pematerian terakhir.
Untuk soket output audio, saya menggunakan gerudi kecil untuk membesarkan lubang PCB, kerana tag pemasangannya agak besar.
Langkah 4: Pendawaian
Setelah komponen utama diposisikan, mereka boleh dipasang di bahagian belakang papan, mengikuti litar di atas.
Komponen output audio (R2, R3, C2, C3) dan kapasitor pemisah (C1, C4) dapat dihubungkan dengan wayar teras pepejal (atau pemotongan kabel komponen). Sambungan tanah dan kuasa dari Arduino ke cip PSG (wayar merah dan hitam, dalam gambar) kini boleh dibuat.
Pelbagai output Pro Micro disambungkan ke AY-3-8910 seperti berikut (lihat panduan penyambungan untuk penugasan pin):
Pin Arduino AY-3-8910 pin
DA0 D2 37 DA1 D3 36 DA2 D4 35 DA3 D5 34 DA4 D6 33 DA5 D7 32 DA6 D8 31 DA7 A0 / D18 30 BC1 D10 29 BC2 MOSI / D16 28 BDIR MISO / D14 27 RESET # SCLK / D15 23 CLOCK D9 22 (melalui R1, 75 ohm)
Langkah 5: Pengaturcaraan Menggunakan Arduino IDE
Sekiranya anda baru menggunakan Arduino, saya sangat mengesyorkan mencuba salah satu daripada banyak tutorial mengenai asasnya. Panduan penyambungan Sparkfun memberikan maklumat lengkap. Anda boleh memastikan bahawa pengaturcaraan asas berfungsi dengan mengikuti tutorial "Blinkies". Arduino sedikit sukar untuk dipujuk ke mod 'bootloader' (di mana anda boleh memuatkan lakaran baru), jadi sedikit latihan dengan contoh mudah berguna.
Setelah anda gembira, muat turun fail chiptunes.ino yang dilampirkan ke halaman ini, dan bina dan muat naiknya. (Saya mendapati bahawa menggunakan jenis papan "Arduino / Genuino Micro" adalah sesuai untuk lakaran ini, jika anda mahu melangkau pemasangan papan sokongan Sparkfun).
Juga, perhatikan bahawa jika anda menggunakan Mac, tetapan "Port" perlu diubah setelah memuatkan lakaran untuk pertama kalinya. Dengan Arduino 'kosong' (atau menggunakan lakaran Blinky) ia akan kelihatan seperti /dev/cu.usbmodemXXXX, seperti yang ditunjukkan dalam gambar di atas. Apabila peranti USB MIDI aktif (seperti yang digunakan oleh lakaran chiptunes.ino) ia akan menjadi /dev/cu.usbmodemMID1.
Langkah 6: Menguji dan Menggunakan Sintesis
Setelah Arduino diprogramkan, stesen kerja anda akan mengenalinya secara automatik sebagai peranti USB MIDI. Ini akan muncul dengan nama 'Arduino Micro' - anda seharusnya dapat melihatnya di Device Manager di Windows, atau aplikasi "Information System" di Mac OS.
Pada Mac, anda boleh menggunakan aplikasi Penyediaan MIDI Audio untuk menjalankan ujian asas. Mulakan aplikasi, kemudian pilih Window -> Show MIDI Studio. Ini akan memunculkan tetingkap MIDI Studio - semua antara muka MIDI anda akan muncul dalam susunan yang agak rawak - yang diharapkan akan merangkumi peranti 'Arduino Micro'. Sekiranya anda mengklik ikon 'Test Setup' di bar alat, dan kemudian klik anak panah ke bawah (lihat gambar) pada peranti Arduino Micro, aplikasi akan menghantar nota MIDI ke synth. (Ini tidak terlalu sesuai!) Synth harus membuat beberapa bunyi rawak pada ketika ini.
Anda kemudian boleh menambahkan 'Arduino Micro' sebagai peranti output ke persediaan MIDI Digital Audio Workstation anda, dan mula bermain!
- Synth bertindak balas pada saluran MIDI 1 hingga 4. Setiap saluran mempunyai bunyi yang berbeza (baik, sampul kelantangan yang berbeza).
- Nota MIDI antara 24 dan 96 (C1-C7) diterima; nota di luar julat ini tidak diambil kira.
-
Saluran MIDI 10 memainkan bunyi drum. Perhatikan nombor antara 35 dan 50 (lihat
www.midi.org/specifications-old/item/gm-level-1-sound-set) diterima.
- Terdapat tiga saluran suara di AY-3-8910. Firmware synth cuba memainkan nota yang paling baru dihantar, sambil mengekalkan nota tertinggi dan terendah yang diminta semasa masih dimainkan. Catatan lain (biasanya nota tengah dalam kord) dipotong jika perlu.
Dan itu sahaja. Berseronok!
Langkah 7: Nota kaki
Mengenai lagu demo
Lagu demo - Queen of The Night yang terkenal di Mozart - dibuat dengan pantas dari fail MIDI yang saya dapati di Internet (https://www.midiworld.com/mozart.htm). Orang lain melakukan semua kerja keras!
Saya menggunakan Presonus Studio One pada Mac, dan fail MIDI diimport ke empat trek yang berasingan. Sedikit pengeditan diperlukan di mana nota iringan lebih tinggi daripada nada utama, dan untuk menghilangkan beberapa gangguan yang lebih tidak menyenangkan antara nota.
Audio yang anda dengar pada klip langsung dari synth, dengan hanya sentuhan EQ dan ketepuan untuk memberikan sedikit nuansa 'arcade machine' rendah.
Disyorkan:
Air Synthesizer Dengan MakeyMakey dan Scratch: 6 Langkah (dengan Gambar)
Water Synthesizer Dengan MakeyMakey dan Scratch: Menggunakan MakeyMakey untuk mengubah bahan yang berbeza menjadi suis atau butang dan dengan demikian mencetuskan pergerakan atau bunyi di komputer adalah urusan menarik. Seseorang mengetahui bahan mana yang menjalankan dorongan arus yang lemah dan dapat mencipta dan bereksperimen dengan
Synthesizer Analog / Organ yang Hebat Menggunakan Komponen Discrete sahaja: 10 Langkah (dengan Gambar)
Synthesizer Analog / Organ yang Luar Biasa Menggunakan Komponen Discrete sahaja: Synthesizer analog sangat sejuk, tetapi juga sukar dibuat. Oleh itu, saya mahu membuatnya semudah yang boleh didapati, sehingga fungsinya dapat difahami dengan mudah. Untuk berfungsi, anda memerlukan beberapa sub-litar asas: Pengayun sederhana dengan resis
Bekalan Kuasa Synthesizer Modular: 10 Langkah (dengan Gambar)
Bekalan Kuasa Modular Synthesizer: Sekiranya anda membina synthesizer modular, satu perkara yang pasti anda perlukan adalah bekalan kuasa. Sebilangan besar synthesisers modular memerlukan sistem rel dua (0V, + 12V dan -12V menjadi tipikal), dan juga berguna untuk mempunyai rel 5V jika anda merancang
The Arduino Synthesizer: 20 Langkah (dengan Gambar)
The Arduino Synthesizer: Arduino dapat mengeluarkan suara melalui perpustakaan yang telah dibangunkan yang disebut Tone Library. Dengan membuat antara muka dan program yang dapat memanggil nilai-nilai tertentu untuk menghasilkan audio, Arduino Synthesizer adalah alat yang kuat untuk
Micro Midi Synthesizer: 5 Langkah (dengan Gambar)
Micro Midi Synthesizer: Instruksional ini menunjukkan penggunaan cip Audio VLSI VS1053b dan Midi DSP dalam mod Midi masa nyata. Dalam mod ini ia berfungsi sebagai synthesizer GM polyphonic 64 (General Midi) Midi suara. Mikro mandiri Arduino Uno mengawal paparan OLED