Saya membaca buku DAFX oleh Udo Zölzer tentang efek distorsi di halaman 124-125 dan dikatakan bahwa simulasi distorsi yang sesuai diberikan oleh fungsi:
Adakah yang bisa menjelaskan formula ini dan sinyal apa yang kita dapat?
Dari apa yang saya mengerti 'x' adalah sinyal sampel, jadi ini adalah urutan angka. Apa yang | x | berarti? Apakah ini merujuk pada nilai absolut x untuk setiap nilai sampel?
Jadi jika saya ingin mengimplementasikan simulasi efek distorsi ini,
- Saya perlu tahu panjang x (Ini diberikan oleh jumlah sampel)
- Dalam satu lingkaran, saya perlu menghitung rumus ini untuk setiap nilai sampel
- setelah loop berakhir, saya mendapatkan sinyal yang terdistorsi (dalam bentuk digital)
Setelah itu, saya perlu mengubahnya menjadi sinyal analog sehingga saya bisa mendengarnya.
audio
algorithms
c
digital
distortion
Elior
sumber
sumber
Jawaban:
| x | menunjukkan nilai absolut - x / | x | sedikit formula ada untuk memastikan bahwa tanda input dipertahankan dalam output. Mengenai implementasi, ya, langkah-langkah yang Anda daftarkan sudah benar.
sumber
Berkat alur dalam jawaban Olli Niemitalo, saya yakin bahwa formula yang diberikan dalam buku ini memiliki kesalahan tanda. Non-linearitas yang digunakan untuk fuzz atau distorsi selalu merupakan beberapa jenis fungsi kliping yang dihaluskan, yang memampatkan sinyal input. Jadi amplitudo input kecil mengalami sedikit perubahan sedangkan amplitudo input tinggi (kurang lebih) terpotong dengan lembut. Dan angka yang ditunjukkan dalam jawaban Olli justru sebaliknya.
Jadi saya yakin bahwa formula yang tepat seharusnya
sumber
Anda dapat menulis tubuh fungsi langsung ke Wolfram Alpha dan memplotnya:
Ini terlihat seperti pembasmi bagi saya, dan itu dapat digunakan seperti yang Anda jelaskan.
sumber