Daftar Isi:

Sintesis Suara Analog di Komputer Anda: 10 Langkah (dengan Gambar)
Sintesis Suara Analog di Komputer Anda: 10 Langkah (dengan Gambar)

Video: Sintesis Suara Analog di Komputer Anda: 10 Langkah (dengan Gambar)

Video: Sintesis Suara Analog di Komputer Anda: 10 Langkah (dengan Gambar)
Video: Berjuang Untuk Rakyat? Ahhh Yang Bener? 2024, November
Anonim
Sintesis Suara Analog di Komputer Anda
Sintesis Suara Analog di Komputer Anda

Seperti suara synthesizer analog lama itu? Ingin bermain dengan satu di waktu Anda sendiri, di tempat Anda sendiri, selama yang Anda inginkan, GRATIS? Di sinilah impian Moog terliar Anda menjadi kenyataan. Anda bisa menjadi artis rekaman elektronik atau hanya membuat suara trippy yang keren untuk didengarkan di pemutar mp3 Anda. Yang Anda butuhkan hanyalah komputer! Semuanya dilakukan melalui keajaiban simulator sirkuit gratis yang disebut LTSpice. Sekarang saya tahu Anda mungkin mengatakan "Wah willikers, Tyler, saya tidak tahu apa-apa tentang menjalankan simulator sirkuit- kedengarannya SULIT!". Jangan khawatir, Bunky! Ini mudah dan saya akan memberi Anda beberapa template untuk memulai dan memodifikasi untuk membuat suara aneh apa pun yang Anda inginkan. Tidak yakin itu sepadan dengan usaha? Berikut ini tautan ke file suara yang siap diputar (dibuat dari "composition_1.asc" pada langkah 7 dari 'ible ini) yang dapat Anda coba. Saya mengonversinya dari.wav ke mp3 untuk mengurangi waktu pengunduhan. https://www.rehorst.com/mrehorst/instructables/composition_1.mp3Ada beberapa suara bass rendah di dalamnya jadi dengarkan dengan headphone atau speaker yang bagus. Jika Anda menyukai apa yang Anda lihat, pilih saya! Catatan: Saya telah melampirkan file skema untuk LTSpice yang dapat Anda jalankan di komputer Anda, tetapi untuk beberapa alasan ketika Anda mencoba mengunduhnya, nama dan ekstensinya berubah. Isi file terlihat OK, jadi setelah mengunduh file, ubah saja nama dan ekstensinya dan itu akan berfungsi. Nama dan ekstensi yang benar ditampilkan pada ikon yang Anda klik untuk mengunduh.

Langkah 1: Hal Pertama Pertama

LTSpice adalah program windows, tetapi jangan biarkan hal itu membuat Anda kecewa. Ini berjalan dengan baik di bawah Wine di linux. Saya menduga tidak ada masalah menjalankannya di klien VMWare, VirtualBox, atau alat virtualisasi lainnya di bawah linux, dan mungkin juga di Mac. Unduh salinan LTSpice untuk Windows (ugh!) di sini: https://www.linear.com/ designtools/software/ltspice.jspInstal itu. Apa itu LTSpice? Ini adalah simulator sirkuit domain waktu yang harus diketahui oleh setiap penggemar elektronik bagaimana menggunakannya. Saya tidak akan memberikan tutorial terperinci tentang cara kerjanya di sini, tetapi saya akan menjelaskan beberapa hal yang perlu Anda ketahui saat kita melanjutkan. Satu kata peringatan - sangat mudah untuk menghasilkan frekuensi yang terlalu rendah atau terlalu tinggi untuk didengar. Jika Anda melakukannya dan menggerakkan speaker mahal Anda dengan ampli bertenaga tinggi, Anda mungkin akan meledakkan speaker/amp Anda menjadi berkeping-keping. SELALU lihat bentuk gelombang sebelum Anda memutarnya kembali dan berhati-hatilah untuk membatasi volume saat Anda memutar ulang file untuk pertama kali agar aman. Itu selalu merupakan ide yang baik untuk memutar file melalui headphone murah dengan volume rendah sebelum mencoba speaker.

Langkah 2: Masukan

Memasukkan
Memasukkan

Masukan ke simulator berupa diagram skematik. Anda memilih komponen, menempatkannya pada skema, lalu menyambungkannya. Setelah rangkaian Anda selesai, Anda memberi tahu simulator bagaimana Anda ingin mensimulasikan rangkaian dan output seperti apa yang Anda inginkan. Lihatlah skema yang disebut resistors.asc. Anda akan melihat ada sirkuit yang mencakup sumber tegangan, sepasang resistor, simpul keluaran berlabel, ground, dan baris perintah teks. Mari kita lihat masing-masing. Sekarang adalah saat yang tepat untuk membuka file sirkuit yang ditautkan di bawah ini. Ground: Ini adalah komponen PALING KRITIS pada skema Anda. Anda HARUS memiliki ground yang terhubung ke setidaknya satu titik di sirkuit Anda atau Anda akan mendapatkan hasil yang sangat aneh dari simulasi Anda. Sumber tegangan: Jika Anda meletakkan tegangan di sirkuit, Anda harus memberi tahu apakah itu AC atau DC (atau sesuatu yang lebih kompleks), berapa tegangannya, "hambatan internal" dari sumber, dll. Anda dapat memasukkan parameter tersebut dengan mengklik kanan dengan penunjuk pada sumbernya. Yang Anda butuhkan hanyalah resistansi untuk simulasi sederhana. Resistor: Resistor cukup mudah dimengerti. Cukup klik kanan untuk mengatur nilai resistansi. Abaikan parameter lain yang mungkin bersembunyi di sana. Node input dan output berlabel: Hanya nama untuk node di sirkuit yang ramah pengguna.- gunakan nama seperti "output", "input", dll. Arahan simulasi: pernyataan.tran memberitahu simulator bagaimana Anda ingin sirkuit disimulasikan. Ini adalah simulator domain waktu yang berarti menganalisis rangkaian pada titik waktu yang berbeda. Anda perlu memberi tahu apa langkah waktu maksimum yang seharusnya dan berapa lama simulasi harus dijalankan dalam "waktu-sirkuit", bukan waktu nyata. Jika Anda memberi tahu simulator untuk berjalan selama 10 detik waktu rangkaian dan Anda menetapkan langkah waktu maksimum ke 0,001 detik, simulator akan menganalisis rangkaian setidaknya 10.000 kali (10 detik/0,001 detik) lalu berhenti. Saat simulasi berjalan, tegangan pada setiap simpul dalam rangkaian dan arus yang masuk dan keluar dari setiap simpul akan dihitung dan disimpan pada setiap langkah waktu. Semua info itu akan tersedia untuk diplot pada tampilan seperti layar osiloskop (waktu sumbu horizontal, tegangan atau arus pada sumbu vertikal. Atau, Anda juga dapat mengirim output ke file audio.wav yang dapat Anda putar di komputer, membakar ke CD, atau mengonversi ke mp3 untuk diputar di pemutar mp3 Anda. Lebih lanjut tentang itu nanti…

Langkah 3: Keluaran

Keluaran
Keluaran

Output dapat berupa grafik grafik tegangan vs waktu, tegangan vs tegangan, dll., atau file teks yang terdiri dari sekumpulan tegangan atau arus pada setiap langkah waktu, atau file audio.wav yang akan sering kita gunakan. instruksi ini. Unduh dan buka file "resistors.asc". Klik simbol pria lari kecil (bagian kiri atas layar) dan sirkuit akan berjalan. Sekarang klik pada label "OUT" di sirkuit. Anda akan melihat tegangan berlabel "output" ditampilkan pada output grafis di sepanjang sumbu horizontal yang mewakili waktu. Itu adalah tegangan yang diukur relatif terhadap ground (itulah mengapa Anda membutuhkan setidaknya satu ground di setiap sirkuit!). Itu adalah dasar-dasarnya. Coba ubah salah satu nilai resistor atau tegangan lalu jalankan kembali simulasi dan lihat apa yang terjadi pada tegangan keluaran. Sekarang Anda tahu cara menjalankan simulator sirkuit. Mudah bukan?

Langkah 4: Sekarang Beberapa Suara

Sekarang Beberapa Suara!
Sekarang Beberapa Suara!

Buka sirkuit yang disebut "dizzy.asc". Yang ini adalah pembuat noise aneh yang menggunakan modulator dan beberapa sumber tegangan untuk menghasilkan file audio berkualitas CD (16 bit, 44,1 ksps, 2 saluran) yang dapat Anda mainkan. Komponen modulator sebenarnya adalah osilator. Frekuensi dan amplitudo keduanya dapat disesuaikan seperti VCO dan VCA dalam synthesizer analog nyata. Bentuk gelombang selalu sinusoidal, tetapi ada cara untuk mengubahnya- lebih lanjut tentang itu nanti. Batas frekuensi ditentukan oleh parameter tanda dan spasi. Mark adalah frekuensi ketika tegangan input FM adalah 1V dan spasi adalah frekuensi ketika tegangan input FM adalah 0V. Frekuensi output adalah fungsi linier dari tegangan input FM, sehingga frekuensi akan berada di tengah antara frekuensi tanda dan frekuensi spasi ketika tegangan input FM 0,5V dan akan menjadi 2x frekuensi tanda saat tegangan input FM 2V. modulator juga dapat dimodulasi amplitudo melalui pin input AM. Amplitudo keluaran modulator (osilator) akan sesuai dengan tegangan yang diberikan ke input tegangan AM. Jika Anda menggunakan sumber DC dengan tegangan 1, amplitudo keluaran akan menjadi 1V (artinya akan berayun antara -1 dan +1 V). Modulator memiliki dua keluaran - sinus dan cosinus. Bentuk gelombangnya persis sama kecuali mereka berbeda fase 90 derajat. Ini bisa menyenangkan untuk aplikasi audio stereo. Ada pernyataan.tran yang memberi tahu simulator langkah waktu maksimum dan durasi simulasi. Dalam hal ini, waktu sirkuit (waktu simulasi total) = waktu file audio. Itu berarti jika Anda menjalankan simulasi selama 10 detik, Anda akan mendapatkan file audio berdurasi 10 detik. Pernyataan.save digunakan untuk meminimalkan jumlah data yang akan disimpan simulator saat menjalankan simulasi. Biasanya menghemat tegangan di setiap node dan arus masuk dan keluar dari setiap komponen. Itu dapat menambahkan hingga BANYAK data jika sirkuit Anda menjadi rumit atau Anda menjalankan simulasi yang panjang. Ketika Anda menjalankan simulasi, cukup pilih satu tegangan atau arus dari daftar di kotak dialog dan file data (.raw) akan kecil, dan simulasi akan berjalan dengan kecepatan maksimum. Akhirnya, pernyataan.wave memberitahu simulator untuk membuat file audio stereo kualitas CD (16 bit per sampel, 44,1 ksps, dua saluran) menempatkan tegangan pada "OUTL" di saluran kiri dan tegangan pada "OUTR" di saluran kanan. File.wav terdiri dari sampel 16 bit. Output skala penuh dalam file.wav (semua 16 bit dalam sampel dihidupkan) terjadi ketika tegangan yang dikeluarkan tepat +1 Volt atau -1 Volt. Sirkuit synthesizer Anda harus diatur untuk menghasilkan tegangan tidak lebih dari +/- 1V ke setiap saluran, jika tidak, output dalam file.wav akan "terpotong" setiap kali tegangan melebihi +1 atau -1 V. Karena kita membuat file audio yang disampel pada 44,1 ksps, kami membutuhkan simulator untuk mensimulasikan rangkaian setidaknya 44, 100 kali per detik, jadi kami mengatur langkah waktu maksimum ke 1/44, 100 detik atau sekitar 20 mikrodetik (kami).

Langkah 5: Jenis Sumber Tegangan Lainnya, Jenis Suara Lainnya

Jenis Sumber Tegangan Lainnya, Jenis Suara Lainnya
Jenis Sumber Tegangan Lainnya, Jenis Suara Lainnya
Jenis Sumber Tegangan Lainnya, Jenis Suara Lainnya
Jenis Sumber Tegangan Lainnya, Jenis Suara Lainnya

Synthesizer analog membutuhkan sumber derau acak. Anda dapat menghasilkan kebisingan menggunakan "sumber tegangan perilaku" (bv) dan Anda dapat menghidupkan dan mematikannya menggunakan "sakelar yang dikontrol tegangan" (sw). Menggunakan komponen bv untuk menghasilkan kebisingan melibatkan penentuan tegangan berdasarkan rumus. Rumus untuk menghasilkan noise terlihat seperti ini: V=white(time*X)*Y Fungsi putih menciptakan tegangan acak antara -0,5 dan +0,5 V menggunakan nilai waktu saat ini sebagai seed. Mengatur Y ke 2 memberikan ayunan +/- 1V. Pengaturan X antara 1.000 (1e3) dan 100.000 (1e5) memengaruhi spektrum kebisingan dan mengubah suara. Saklar yang dikontrol tegangan juga memerlukan beberapa parameter untuk disetel dalam pernyataan.model. Anda dapat menggunakan beberapa sakelar yang dikontrol tegangan dan beberapa pernyataan model untuk membuat masing-masingnya berperilaku berbeda jika Anda mau. Anda harus memberi tahu simulator resistansi "hidup" dan "mati" dan tegangan ambang batas di mana ia beralih. Vh adalah "tegangan histeresis". Setel ke beberapa nilai positif seperti 0.4V dan tidak akan ada suara klik saat sakelar membuka dan menutup.>>>Perbarui: inilah cara yang lebih mudah untuk membuat sumber kebisingan yang terjaga keamanannya - cukup kalikan tegangan kebisingan dengan pulsa sumber- lihat easy_gated_noise.asc, di bawah.

Langkah 6: Lonceng, Drum, Simbal, Senar yang Dipetik

Lonceng, Drum, Simbal, Senar yang Dipetik
Lonceng, Drum, Simbal, Senar yang Dipetik

Lonceng, drum, simbal, dan senar yang dipetik semuanya perkusi. Mereka memiliki waktu naik yang relatif cepat dan waktu peluruhan eksponensial. Itu mudah dibuat menggunakan sumber tegangan sinus dan perilaku yang dikombinasikan dengan beberapa rangkaian sederhana. Lihat skema "bell_drum_cymbal_string.asc". Sumber tegangan berdenyut dengan resistor, kapasitor dan dioda menciptakan bentuk gelombang peluruhan eksponensial yang cepat dan lambat yang diperlukan. Tegangan keluaran tersebut memodulasi keluaran dari sumber perilaku yang diatur sebagai sumber derau acak atau gelombang sinus. Ketika tegangan sumber berdenyut naik dengan cepat mengisi kapasitor. Kapasitor kemudian dilepaskan melalui resistor. Dioda menjaga sumber tegangan dari pemakaian kapasitor ketika tegangan sumber nol. Nilai resistor yang lebih besar meningkatkan waktu pengosongan. Anda dapat menentukan waktu naik dari sumber berdenyut - simbal adalah sumber yang bagus dengan waktu naik yang sangat cepat. Drum juga merupakan sumber kebisingan yang beroperasi pada frekuensi yang lebih rendah dan waktu naik yang lebih lambat. Lonceng dan senar menggunakan sumber gelombang sinus yang dimodulasi oleh sumber pulsa juga. Bel beroperasi pada frekuensi yang lebih tinggi dan memiliki waktu naik yang lebih cepat daripada senar. Jalankan simulasi dan dengarkan hasilnya. Perhatikan bahwa drum muncul di kedua saluran sementara semua suara lainnya adalah saluran kanan atau kiri. Dua resistor pada output drum bertanggung jawab untuk memasukkan suara ke kedua saluran.

Langkah 7: Menyatukan Semuanya

Menyatukan Semuanya
Menyatukan Semuanya

Oke, sekarang Anda telah melihat bagaimana membuat beberapa suara dan bagaimana membentuk amplop dan memodulasi frekuensinya. Sekarang saatnya untuk menyatukan beberapa sumber berbeda dalam satu skema dan menghasilkan sesuatu yang menarik untuk didengarkan. Bagaimana Anda mendapatkan sumber kebisingan itu untuk masuk ke dalam komposisi pada 33 detik? Bagaimana Anda menyalakan lonceng yang berdentang itu pada 16 detik, lalu mematikannya, lalu menyalakannya lagi pada 42 detik? Salah satu caranya adalah dengan menggunakan sumber tegangan perilaku untuk membuat suara yang diinginkan kemudian menghidupkan dan mematikannya dengan mengalikan tegangan pembangkit suara dengan tegangan lain yang menghidupkan dan mematikan suara, seperti yang dilakukan di bell_drum_cymbal_string.asc. Anda dapat melakukan hal yang sama untuk memudarkan suara masuk dan keluar. Idenya di sini adalah untuk mengatur suara berulang kemudian menggunakan sumber tambahan untuk menambahkan suara tersebut ke komposisi Anda pada waktu yang diinginkan dengan mengalikan voltasenya dengan voltase suara. Anda dapat memasukkan voltase sebanyak yang Anda inginkan dalam output suara akhir, terus saja mengalikannya (sama dengan logika "dan") bersama-sama. Dengan memulai suara sekaligus, mereka akan tetap sinkron sempurna di seluruh komposisi sehingga tidak akan pernah lebih awal atau terlambat dalam waktu musik. Lihat komposisi_1.asc. Ada dua lonceng, satu di setiap saluran. Tegangan pulse_bell beroperasi selama simulasi tetapi suara hanya muncul di output ketika V(bell_r) dan V(bell_l) tidak sama dengan 0.

Langkah 8: Ramp Eksponensial

Ramp Eksponensial
Ramp Eksponensial
Ramp Eksponensial
Ramp Eksponensial

Perbarui 7/10- gulir ke bawah Berikut adalah sirkuit yang menghasilkan jalan eksponensial yang diterapkan pada sepasang sumber kebisingan. V1 dan V2 menghasilkan landai linier yang dimulai dari 0 dan naik menjadi X volt (saluran kiri) dan Y volt (saluran kanan) dalam periode prd_l dan prd_r. B1 dan B3 menggunakan rumus untuk mengubah jalur landai linier menjadi jalur eksponensial dengan amplitudo maksimum 1V. B2 dan B4 menghasilkan derau acak yang amplitudonya dimodulasi oleh landai eksponensial dan oleh parameter amp_l dan amp_r (kontrol level sederhana). Saya telah melampirkan file mp3 yang dihasilkan oleh rangkaian ini sehingga Anda dapat mendengar seperti apa suaranya. Anda mungkin harus mengganti nama file agar dapat diputar. X dan Y mengatur batas tegangan landai linier. Pada akhirnya, kedua jalur landai tersebut diskalakan menjadi 1V, tetapi dengan menyetel X dan Y Anda dapat mengontrol kecuraman jalur eksponensial. Angka kecil seperti 1 memberikan tanjakan yang hampir linier, dan angka besar seperti 10 memberikan tanjakan eksponensial yang sangat curam. Periode ramp diatur menggunakan parameter prd_l dan prd_r. Waktu naik ramp linier diatur ke nilai prd_l atau prd_r dikurangi 5 ms, dan waktu jatuh diatur ke 5 ms. Waktu jatuh yang memanjang mencegah klik di ujung setiap tanjakan karena amplitudo turun kembali ke zero.out_l dan out_r adalah produk dari tegangan derau acak berbasis waktu, tegangan ramp eksponensial, dan parameter amp_l dan amp_r. Perhatikan nilai derau acak saluran kanan menggunakan "benih" yang berbeda dari saluran kiri. Itu membuat kebisingan di setiap saluran acak dan berbeda dari saluran yang berlawanan. Jika Anda menggunakan benih yang sama, pada nilai waktu yang sama Anda akan mendapatkan nilai acak yang sama dan suara akan berakhir di tengah alih-alih dianggap sebagai dua sumber yang berbeda, satu di setiap saluran. Ini bisa menjadi efek yang menarik untuk dimainkan… Pembaruan: perhatikan bahwa bentuk gelombang berubah dari 0V ke beberapa nilai positif. Lebih baik tegangan berayun antara nilai positif dan negatif yang sama. Saya ulang skema untuk melakukan hal itu tetapi meningkatkan kompleksitas persamaan yang mendefinisikan bentuk gelombang sedikit. Unduh exponential_ramp_noise.asc (ingat bahwa server Instructables akan mengubah nama dan ekstensi saat Anda menyimpannya).

Langkah 9: Ramp Eksponensial Diterapkan ke Gelombang Sinus

Ramp Eksponensial Diterapkan ke Gelombang Sinus
Ramp Eksponensial Diterapkan ke Gelombang Sinus

Halaman ini menunjukkan cara menggunakan jalan eksponensial dari langkah sebelumnya untuk memodulasi sumber sinus (sebenarnya, sinus dan kosinus). Sumber tegangan perilaku digunakan untuk mengubah jalur linier menjadi jalur eksponensial yang menggerakkan input FM pada komponen modulate2. Amplitudo dimodulasi oleh jalur eksponensial cepat dan gelombang sinus lambat. Dengarkan file sampel- kedengarannya sangat aneh.

Langkah 10: Saran

1) Anda dapat memvariasikan waktu simulasi total - tetap pendek saat Anda bermain dengan komponen dan ketika Anda mendapatkan suara yang Anda suka, kemudian atur simulator untuk berjalan selama 30 menit (1800 detik) atau selama yang Anda suka. Anda dapat menyalin sirkuit dari satu halaman ke halaman lain dan Anda dapat membuat subsirkuit sehingga Anda dapat menghubungkan modul sirkuit kecil bersama-sama seperti menggunakan papan tambalan pada synthesizer asli.2) Tingkat sampel CD adalah 44,1 ksps. Jika Anda mempertahankan langkah waktu maksimum ke 20 kami, Anda akan mendapatkan output "bersih" karena simulator akan memiliki data yang tersedia untuk setiap sampel baru. Jika Anda menggunakan langkah waktu yang lebih kecil, simulasi akan lambat dan mungkin tidak akan berpengaruh pada suara. Jika Anda menggunakan langkah waktu yang lebih lama, Anda mungkin mendengar beberapa alias yang mungkin atau mungkin tidak Anda sukai.3) gunakan pernyataan kotak dialog.save pada skema Anda dan ketika Anda menjalankan simulasi dan pilih salah satu tegangan atau arus untuk menjaga ukuran file.raw kecil. Jika Anda tidak membuat pilihan, SEMUA tegangan dan arus akan disimpan dan file.raw akan menjadi SANGAT besar.4) coba gunakan frekuensi yang sangat rendah untuk memodulasi frekuensi yang lebih tinggi5) coba gunakan frekuensi yang lebih tinggi untuk memodulasi frekuensi yang lebih rendah.6) menggabungkan output dari beberapa sumber frekuensi rendah dengan beberapa sumber frekuensi tinggi untuk membuat hal-hal menarik.7) menggunakan sumber tegangan berdenyut untuk memodulasi sinus atau sumber lain untuk memberikan ritme.8) menggunakan sirkuit analog untuk membentuk pulsa tegangan menjadi sesuatu yang Anda inginkan.9) gunakan ekspresi matematika untuk menentukan output dari sumber tegangan perilakuSelamat bersenang-senang!

Direkomendasikan: