Saya mengembangkan perangkat lunak emulasi synthesizer analog. Saya mencoba memodulasi nada osilator menggunakan LFO. Untuk setiap sampel yang dimasukkan ke sound system komputer, saya menghitung frekuensi yang akan dimasukkan ke osilator utama seperti ini (pseudocode):
osc_frequency = note_frequency * (1 + tuning) * (1 + lfo_y * lfo_mod_depth)
Variabel dalam pernyataan ini dijelaskan sebagai berikut:
- note_frequency = frekuensi not untuk dimainkan dalam Hz
- tuning = osilator fine-tuning dalam persen dari pitch yang dimainkan (mis: -0,02 = detune sebesar 2%)
- lfo_y = nilai y saat ini dari bentuk gelombang lfo (berkisar dari -1 hingga 1)
- lfo_mod_depth = kedalaman / intensitas efek untuk diterapkan ke osilator dalam persen
Namun, perhitungan ini tidak menghasilkan hasil yang diinginkan. Saya berharap untuk mendengar nada memodulasi ke atas dan ke bawah, terkunci di sekitar frekuensi tengah (nada dimainkan). Apa yang saya dapatkan adalah efek modulasi yang menyebabkan nada "lari"; Saya tidak tahu persis apa yang terjadi, tetapi ini terdengar seperti ini:
- Intensitas modulasi meningkat dari waktu ke waktu (tanda frekuensi tinggi / rendah yang dicapai oleh modulasi semakin tinggi / semakin rendah, semakin lama nada tersebut ditahan)
- Sementara intensitas modulasi tetap konstan dari waktu ke waktu, frekuensi pusat meningkat sementara modulasi berosilasi di sekitarnya
Apakah saya menggunakan pendekatan yang benar atau tidak? Jika tidak, apa pendekatan yang tepat? Setiap bantuan dengan ini sangat kami hargai.