Daftar Isi:

Micro Midi Synthesizer: 5 Langkah (dengan Gambar)
Micro Midi Synthesizer: 5 Langkah (dengan Gambar)

Video: Micro Midi Synthesizer: 5 Langkah (dengan Gambar)

Video: Micro Midi Synthesizer: 5 Langkah (dengan Gambar)
Video: 2 Unlimited - No Limit #flstudio #musicproducer #novation #producer #flkey37 #wearenovation 2024, November
Anonim
Synthesizer Mikro Midi
Synthesizer Mikro Midi
Synthesizer Mikro Midi
Synthesizer Mikro Midi
Synthesizer Mikro Midi
Synthesizer Mikro Midi

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

Konstruksi
Konstruksi
Konstruksi
Konstruksi
Konstruksi
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

Menggunakan Papan Sparkfun Dengan Perpustakaan Adafruit
Menggunakan Papan Sparkfun Dengan Perpustakaan Adafruit

Tabel di gambar menjelaskan cara menghubungkan Papan Musik Adafruit atau Sparkfun untuk menggunakan perpustakaan lain.

Direkomendasikan: