Tôi đang phát triển một phần mềm mô phỏng của một bộ tổng hợp tương tự. Tôi đang cố gắng điều chỉnh cao độ của bộ tạo dao động bằng LFO. Đối với mỗi mẫu được đưa vào hệ thống âm thanh của máy tính, tôi đang tính tần số được đưa vào bộ tạo dao động chính như thế này (mã giả):
osc_frequency = note_frequency * (1 + tuning) * (1 + lfo_y * lfo_mod_depth)
Các biến trong tuyên bố này được mô tả như sau:
- note_frequency = tần suất ghi chú được phát bằng Hz
- tinh chỉnh = bộ điều chỉnh dao động tinh chỉnh theo phần trăm của sân đã phát (ví dụ: -0,02 = giảm 2%)
- lfo_y = giá trị y hiện tại của dạng sóng lfo (nằm trong khoảng từ -1 đến 1)
- lfo_mod_depth = độ sâu / cường độ hiệu ứng để áp dụng cho bộ tạo dao động theo phần trăm
Tuy nhiên, tính toán này không mang lại kết quả mong muốn. Tôi mong đợi được nghe âm vực điều chỉnh lên xuống, bị khóa xung quanh tần số trung tâm (lưu ý đang được phát). Những gì tôi nhận được là một hiệu ứng điều chế làm cho sân "chạy trốn"; Tôi không thể nói chính xác những gì đang xảy ra, nhưng có vẻ như một trong những điều sau:
- Cường độ điều chế tăng theo thời gian (dấu tần số cao / thấp đạt được của điều chế tăng cao hơn / thấp hơn khi ghi chú được giữ lâu hơn)
- Trong khi cường độ điều chế không đổi theo thời gian, tần số trung tâm tăng trong khi điều chế dao động xung quanh nó
Tôi có đang sử dụng phương pháp đúng hay không? Nếu không, cách tiếp cận đúng phải là gì? Bất kỳ trợ giúp với điều này được nhiều đánh giá cao.