Sto sviluppando un'emulazione software di un sintetizzatore analogico. Sto cercando di modulare l'intonazione di un oscillatore usando un LFO. Per ogni campione alimentato al sistema audio del computer, sto calcolando la frequenza da immettere nell'oscillatore principale in questo modo (pseudocodice):
osc_frequency = note_frequency * (1 + tuning) * (1 + lfo_y * lfo_mod_depth)
Le variabili in questa affermazione sono descritte come segue:
- note_frequency = frequenza della nota da suonare in Hz
- tuning = fine tuning dell'oscillatore in percentuale del pitch suonato (es: -0.02 = detune del 2%)
- lfo_y = valore y corrente della forma d'onda lfo (range da -1 a 1)
- lfo_mod_depth = profondità / intensità dell'effetto da applicare all'oscillatore in percentuale
Tuttavia, questo calcolo non produce il risultato desiderato. Mi aspetto di sentire il pitch modulare su e giù, bloccato attorno alla frequenza centrale (nota suonata). Quello che sto ottenendo è un effetto di modulazione che fa "scappare" il tono; Non so dire esattamente cosa stia succedendo, ma sembra uno di questi:
- L'intensità della modulazione aumenta nel tempo (il segno di alta / bassa frequenza raggiunto dalla modulazione aumenta / diminuisce più a lungo si tiene la nota)
- Mentre l'intensità della modulazione rimane costante nel tempo, la frequenza centrale aumenta mentre la modulazione oscilla attorno ad essa
Sto usando l'approccio corretto o no? In caso contrario, quale dovrebbe essere l'approccio corretto? Qualsiasi aiuto con questo è molto apprezzato.