Isi kandungan:

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
Sintesis Midi Mikro
Sintesis Midi Mikro
Sintesis Midi Mikro
Sintesis Midi Mikro
Sintesis Midi Mikro
Sintesis Midi Mikro

Instruksional ini menunjukkan penggunaan cip VLSI VS1053b Audio 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 mengendalikan paparan OLED, tiga butang (Fungsi Pilih dan Naik atau Turun, dan melewati aliran data Midi ke DSP audio. Papan muzik yang dipilih adalah papan pemecah codec Adafruit VS1053, tetapi papan pemutus muzik Sparkfun juga berjaya diuji. Perpustakaan Adafruit VS1053b digunakan dan bukannya Perpustakaan SFEMP3 yang jauh lebih besar (disyorkan oleh Sparkfun walaupun mereka juga mempunyai set perpustakaan mereka sendiri), kerana saya dapati kod Adafruit lebih mudah difahami.

Sebilangan besar kod yang digunakan untuk mengendalikan audio / midi DSP dikembangkan menggunakan Arduino Uno yang dihubungkan ke audio / midi breakout board melalui papan roti. Setelah fungsi didapati berfungsi dengan memuaskan, Uno digunakan sebagai pengaturcara untuk ATmega 328 yang berdiri sendiri yang kemudian dipasang pada Veroboard bersaiz 30x20 kecil bersama dengan IC opto-isolator 6N139 yang diperlukan pada soket input Midi (5 pin DIN). Juga dihubungkan dengan perisai OLED (64x48) kecil, tiga butang, LED aktiviti Midi, dan penyambung tong +5 volt untuk kuasa dan penyambung output stereo audio ditambah. Keperluan kuasa sangat sederhana - kira-kira 20 mA pada 5 volt.

Langkah 1: Senarai Bahagian

ATmega328 Micro 28 pin DIP + 28 pin DIP socket6N138 or 6N139 optoisolator + 4 pin DIP socketWemos 64x48 I2C OLED Display or serupaAdafruit VS1053b Codec breakout board3 mini pushbuttons 5 pin DIN Midi socket PCB mount preferedSmall LED any colour. Barrel type socket power supply soket untuk disambungkan ke penguat atau fon kepala Resistor: 7 x 10k, 2 x 470 ohm, 2 x 220 ohm Kapasitor: 0.1uF 50v plastik, 10uf 25v elektrolitik, seramik 2 x 27 pF Potongan kecil Veroboard (30 jalur dengan 20 lajur, dan 4 jalur sebanyak 16 lajur), penutup plastik ABS kira-kira 85x55x25mm, pendawaian dan beberapa mur skru dan mesin basuh.

Langkah 2: Pembinaan

Pembinaan
Pembinaan
Pembinaan
Pembinaan
Pembinaan
Pembinaan

Tudung penutup menempatkan Paparan OLED, tiga butang yang dipasang pada sekeping kecil Veroboard, dan penyambung kuasa tong. Papan litar Vero utama mempunyai dua lubang untuk memperbaiki papan pemutus Muzik di atas ATmega328. Untuk maklumat sambungan sila rujuk gambarajah papan jalur Fritzing.

ATmega328 yang diprogramkan (sila rujuk bahagian seterusnya untuk kod) kemudian dimasukkan ke soketnya diikuti oleh 6N139 dan semuanya disambungkan.

LED digunakan sebagai penunjuk aktiviti Midi dan dipasang di bahagian depan kandang. Ia disambungkan ke output D2 ATmega328 melalui perintang 470 ohm.

Paparan OLED menggunakan output 3.3 volt dari papan Adafruit untuk kuasa - ia memerlukan kurang dari 20 mA.

Cuba tukar dua sambungan Midi Din jika anda tidak mendengar sebarang audio semasa pertama kali menggunakan synth.

Langkah 3: Perisian

Perincian lakaran yang harus dimuat naik ke ATmega328 diberikan di MidA.ino. Terdapat tujuh fungsi yang tersedia:

Pilihan P: Ubah Program - ubah Instrumen GM Midi dari 1 hingga 128 (saya menggunakan 0 hingga 127) seperti suara Piano atau Synth. Pilihan B: Tukar bank Instrumen antara Melodic (Bank 0) dan Percussion (Bank 1). Pilihan V: Laraskan kelantangan dari 1 hingga 10. Pilihan C: Tukar saluran Midi yang akan ditanggapi oleh Synth. Pilihannya adalah Saluran 0, saluran 1, saluran 9 (perkusi), saluran 0 dan 9, dan saluran 1 dan 9. Pilihan R: Hidupkan atau matikan kesan Reverb. Pilihan S: Simpan parameter semasa ke memori Eeprom (Naik) atau Baca (Turun) kembali dari memori Eeprom. Ini kerana tetapan sebaliknya tidak disimpan semasa mematikan. Pilihan X: Hantar mesej semua nota (Midi Reset).

Pilihan kelapan belum dilaksanakan - ini akan memotong ATmega sebagai penapis Midi dan menghubungkan output optoisolator terus ke pin Rx papan DSP.

Perhatikan bahawa VS1053b boot dalam mod Midi masa nyata dengan memuatkan tampalan mampatan 1039 bait semasa boot - ini juga meningkatkan ukuran penyangga Midi dan sistem penapis byte data Midi eksklusif. Perincian patch ini boleh didapati di laman web VLSI.

Versi perpustakaan Adafruit Graphics yang sedikit diubahsuai telah digunakan untuk memenuhi resolusi 64x48 piksel Paparan OLED - sila rujuk pautan yang diberikan pada akhir untuk Mr Mcauser. Senarai perpustakaan yang diperlukan diberikan dalam kod lakaran.

Yang penting semasa lakaran dijalankan untuk pertama kalinya pada ATmega328 sama ada pada Uno atau mandiri, kod tersebut akan memuatkan pratetap parameter dari ATmega328 Eeprom yang mungkin tidak sah. Dalam kes ini, anda boleh menulis semua nol ke Eeprom menggunakan pilihan X dengan butang bawah, atau mengulas garis dalam fungsi persediaan kosong yang memuat nilai dari Eeprom ketika pertama kali dimulakan, sesuaikan instrumen anda dan lain-lain dengan anda suka, dan kemudian simpan pratetap anda dengan butang S pilihan ke atas.

Kredit diberikan kepada semua orang dan entiti yang disebutkan untuk kod dan perpustakaan mereka..

Langkah 4: Pautan

VLSI:

Adafruit:

Github VS1053b:

Grafik Github:

Oled:

Sparkfun:

Langkah 5: Menggunakan Sparkfun Board Bersama Perpustakaan Adafruit

Menggunakan Papan Sparkfun Bersama Perpustakaan Adafruit
Menggunakan Papan Sparkfun Bersama Perpustakaan Adafruit

Jadual dalam gambar menerangkan cara menghubungkan Adafruit atau Sparkfun Music Board untuk menggunakan perpustakaan lain.

Disyorkan: