Daftar Isi:
- Langkah 1: Daftar Bagian
- Langkah 2: Konstruksi
- Langkah 3: Perangkat Lunak
- Langkah 4: Tautan
- Langkah 5: Menggunakan Papan Sparkfun Dengan Perpustakaan Adafruit
Video: Micro Midi Synthesizer: 5 Langkah (dengan Gambar)
2024 Pengarang: John Day | [email protected]. Terakhir diubah: 2024-01-30 09:58
Instruksi ini menunjukkan penggunaan chip VLSI VS1053b Audio dan Midi DSP dalam mode Midi real-time. Dalam mode ini, ia bertindak sebagai synthesizer Midi GM (General Midi) polifonik 64 suara. Mikro mandiri Arduino Uno mengontrol tampilan OLED, tiga tombol (Pilihan Fungsi dan Atas atau Bawah, dan meneruskan aliran data Midi ke DSP audio. Papan musik yang dipilih adalah papan breakout codec Adafruit VS1053, tetapi papan breakout musik Sparkfun juga berhasil diuji. Pustaka Adafruit VS1053b digunakan sebagai pengganti Pustaka SFEMP3 yang jauh lebih besar (disarankan oleh Sparkfun meskipun mereka juga memiliki kumpulan pustaka sendiri), karena menurut saya kode Adafruit lebih mudah dipahami.
Sebagian besar kode yang digunakan untuk mengontrol DSP audio/midi dikembangkan menggunakan Arduino Uno yang terhubung ke papan breakout audio/midi melalui papan tempat memotong roti. Setelah fungsi ditemukan bekerja dengan memuaskan, Uno digunakan sebagai pemrogram untuk ATmega 328 mandiri yang kemudian dipasang pada Veroboard kecil berukuran 30x20 bersama dengan IC opto-isolator 6N139 yang diperlukan pada soket input Midi (DIN 5 pin). Juga terhubung adalah pelindung OLED kecil (64x48), tiga tombol, LED aktivitas Midi, dan konektor barel +5 volt untuk daya dan konektor output stereo audio ditambahkan. Persyaratan daya sangat sederhana - sekitar 20 mA pada 5 volt.
Langkah 1: Daftar Bagian
ATmega328 Micro 28 pin DIP + 28 pin soket DIP6N138 atau optoisolator 6N139 + soket DIP 4 pinWemos 64x48 I2C OLED Display atau sejenisnyaAdafruit VS1053b Codec breakout board3 tombol tekan miniatur5 pin DIN Soket Midi Pemasangan PCB lebih disukai LED kecil warna apa pun. Soket daya jenis barel untuk pasokan audio 5vStereo soket untuk menghubungkan ke amplifier atau headphoneResistor: 7 x 10k, 2 x 470 ohm, 2 x 220 ohm Kapasitor: plastik 0,1uF 50v, elektrolit 10uf 25v, keramik 2 x 27 pF Potongan kecil Veroboard (30 strip dengan 20 kolom, dan 4 strip dengan 16 kolom), penutup plastik ABS sekitar 85x55x25mm, kabel dan beberapa sekrup mur dan ring.
Langkah 2: Konstruksi
Tutup enklosur menampung Layar OLED, tiga tombol yang dipasang di bagian kecil Veroboard lainnya, dan konektor daya laras. Papan sirkuit Vero utama memiliki dua lubang untuk memasang papan breakout Musik di atas ATmega328. Untuk detail sambungan, lihat diagram papan strip Fritzing.
ATmega328 yang telah diprogram (silakan lihat bagian berikutnya untuk kodenya) kemudian dimasukkan ke dalam soketnya diikuti oleh 6N139 dan semuanya terhubung.
LED digunakan sebagai indikator aktivitas Midi dan dipasang di sisi depan enklosur. Ini terhubung ke output D2 dari ATmega328 melalui resistor 470 ohm.
Layar OLED menggunakan output 3,3 volt dari papan Adafruit untuk daya - membutuhkan kurang dari 20 mA.
Coba tukar kedua koneksi Midi Din jika Anda tidak mendengar audio apa pun saat pertama kali menggunakan synth.
Langkah 3: Perangkat Lunak
Detail sketsa yang harus diunggah ke ATmega328 diberikan di MidA.ino. Ada tujuh fungsi yang tersedia:
Opsi P: Ubah Program - ubah Instrumen GM Midi dari 1 menjadi 128 (saya menggunakan 0 hingga 127) seperti suara Piano atau Synth. Opsi B: Mengubah bank Instrumen antara Melodic (Bank 0) dan Percussion (Bank 1). Opsi V: Sesuaikan volume dari 1 hingga 10. Opsi C: Ubah saluran Midi yang akan ditanggapi Synth. Pilihannya adalah Channel 0, channel 1, channel 9 (percussion), channel 0 dan 9, serta channel 1 dan 9. Option R: Mengaktifkan atau menonaktifkan efek Reverb. Option S: Menyimpan parameter saat ini ke memori Eeprom (Up) atau Baca (Turun) kembali dari memori Eeprom. Ini karena pengaturan tidak disimpan saat dimatikan. Opsi X: Kirim pesan semua catatan off (Midi Reset).
Opsi kedelapan belum diterapkan - ini akan melewati ATmega sebagai filter Midi dan menghubungkan output optoisolator langsung ke pin Rx papan DSP.
Perhatikan bahwa VS1053b melakukan booting dalam mode Midi real-time dengan memuat patch terkompresi 1039 byte selama booting - ini juga meningkatkan ukuran buffer Midi dan menyaring byte data eksklusif sistem Midi. Detail patch ini dapat ditemukan di situs web VLSI.
Versi pustaka Adafruit Graphics yang sedikit dimodifikasi telah digunakan untuk memenuhi resolusi 64x48 piksel dari Layar OLED - silakan merujuk ke tautan yang diberikan di bagian akhir untuk Mr Mcauser. Daftar pustaka yang diperlukan diberikan dalam kode sketsa.
Yang penting ketika sketsa dijalankan untuk pertama kalinya pada ATmega328 apakah itu di Uno atau standalone, kode akan memuat preset parameter dari ATmega328 Eeprom yang mungkin tidak valid. Dalam hal ini Anda dapat menulis semua nol ke Eeprom menggunakan opsi X dengan tombol bawah, atau mengomentari baris dalam fungsi pengaturan kosong yang memuat nilai dari Eeprom saat pertama kali dimulai, sesuaikan instrumen Anda, dll. suka, lalu simpan prasetel Anda dengan tombol S opsi Naik.
Kredit diberikan kepada semua orang dan entitas yang disebutkan untuk kode dan perpustakaan mereka..
Langkah 4: Tautan
VLSI:
Adafruit:
Github VS1053b:
Grafik Github:
Oled:
Sparkfun:
Langkah 5: Menggunakan Papan Sparkfun Dengan Perpustakaan Adafruit
Tabel di gambar menjelaskan cara menghubungkan Papan Musik Adafruit atau Sparkfun untuk menggunakan perpustakaan lain.
Direkomendasikan:
Water Synthesizer Dengan MakeyMakey dan Scratch: 6 Langkah (dengan Gambar)
Water Synthesizer Dengan MakeyMakey dan Scratch: Menggunakan MakeyMakey untuk mengubah bahan yang berbeda menjadi sakelar atau tombol dan dengan demikian memicu gerakan atau suara di komputer adalah hal yang menarik. Seseorang mempelajari materi mana yang menghantarkan impuls arus lemah dan dapat menemukan dan bereksperimen dengan i
Synthesizer/Organ Analog yang Luar Biasa Hanya Menggunakan Komponen Diskrit: 10 Langkah (dengan Gambar)
Synthesizer/Organ Analog Luar Biasa Hanya Menggunakan Komponen Diskrit: Synthesizer analog sangat keren, tetapi juga cukup sulit untuk dibuat. Jadi saya ingin membuatnya sesederhana mungkin, sehingga fungsinya dapat dengan mudah dimengerti. Agar berfungsi, Anda memerlukan beberapa sub-sirkuit dasar: Osilator sederhana dengan resistor
Catu Daya Modular Synthesizer: 10 Langkah (dengan Gambar)
Catu Daya Modular Synthesizer: Jika Anda membangun synthesizer modular, satu hal yang pasti Anda perlukan adalah catu daya. Kebanyakan synthesizer modular memerlukan sistem rel ganda (0V, +12V dan -12V menjadi tipikal), dan juga berguna untuk memiliki rel 5V jika Anda berencana
Keytar Hero (Menggunakan Pengontrol Gitar Wii Sebagai Synthesizer): 7 Langkah (dengan Gambar)
Keytar Hero (Menggunakan Pengontrol Gitar Wii Sebagai Synthesizer): Game Guitar Hero sangat populer belasan tahun yang lalu, jadi pasti ada banyak pengontrol gitar tua tergeletak di sekitar mengumpulkan debu. Mereka memiliki banyak tombol, kenop, dan tuas, jadi mengapa tidak menggunakannya dengan baik lagi? Kontrol gitar
Arduino MIDI Chiptune Synthesizer: 7 Langkah (dengan Gambar)
Arduino MIDI Chiptune Synthesizer: Hidupkan kembali kesenangan musik permainan komputer awal dengan synthesizer chiptune 8-bit otentik, yang dapat Anda kendalikan melalui MIDI dari kenyamanan perangkat lunak DAW modern. Sirkuit sederhana ini menggunakan Arduino untuk menggerakkan AY-3- 8910 generator suara yang dapat diprogram