Saya tidak berpikir ada titik masuk ke kompleksitas DFT / FFT / IIR / FIR dan wavelet tanpa terlebih dahulu memahami apa audio secara fundamental dan apa berbagai cara mewakili audio digital.
Apa itu audio secara umum (di udara, bukan air atau bahan lain):
- Audio terdiri dari gelombang tekanan suara
- Mereka menyebabkan kompresi dan penghalusan udara
- Gelombang ini merambat keluar dari titik sumber
- Gelombang dapat mengganggu satu sama lain menyebabkan puncak dan palung
- Gelombang dapat diserap dan direfleksikan oleh bahan
Bagaimana audio direpresentasikan secara elektrik:
- Mikrofon dan pra-amplifier mengubah gelombang tekanan suara menjadi sinyal listrik
- Biasanya sinyal ini memiliki tegangan positif dan negatif (seperti tegangan AC)
- Kaset magnetik menyimpan perbedaan-perbedaan ini saat muncul, karenanya istilah analog
- Kejenuhan terjadi ketika kekuatan sinyal input sama dengan batas-batas sistem (setiap kenaikan voltase tidak dapat diwakili secara akurat)
- Kliping terjadi ketika sinyal input lebih tinggi dari yang dapat diwakili oleh sistem, sehingga sinyal menjadi terpotong (atau dibatasi pada ekstremitas)
Bagaimana audio direpresentasikan secara digital:
- Audio pertama-tama harus dijadikan sampel menggunakan ADC (pengubah analog ke digital)
- Pengambilan sampel terdiri dari pengukuran sinyal audio secara berkala
- Periode ini disebut laju sampel dan menentukan frekuensi tertinggi yang dapat direpresentasikan (batas nyquist)
- Batas nyquist adalah laju sampel / 2 (semakin dekat untuk mencapai batas, semakin buruk sinyal terwakili)
- Bitrange menentukan lantai kebisingan, (-96dB untuk 16 bit vs -48dB untuk 8 bit)
- Sampel audio 16 bit tunggal dapat berupa nilai (ditandatangani) antara -32768 hingga 32767 (ini dapat mewakili ayunan negatif dan positif dari sinyal analog)
- Hanya ada 8 Bit yang diizinkan per byte (dalam hal penyimpanan komputer) sehingga sampel 16 bit harus diwakili oleh setidaknya 2 byte
- Urutan penyimpanan byte ini disebut sebagai tipe endiannya (besar atau kecil)
- Sampel stereo memerlukan sampel terpisah untuk setiap saluran, satu untuk kiri dan satu lagi untuk kanan
Cara berbeda apa yang digunakan untuk menyimpan audio digital:
- PCM (kode pulsa termodulasi) adalah cara paling umum untuk menyimpan audio secara digital
- Banyak kompresi ada untuk mengurangi jumlah data yang digunakan, ada yang lossless, ada yang lossy
- File WAV tidak terkompresi dan bisa mono atau stereo (sampel yang disisipkan)
- File MP3 dikompresi, lossy, dan menggunakan psikoacoustics untuk mencapai tingkat kompresi data yang sangat tinggi
- Bahkan rentang bit terendah (1 bit) dapat berguna tergantung pada penggunaannya, biasanya kartu hadiah yang memutar audio yang disimpan sebagai 1 bit
Cara menjadi lebih akrab dengan audio di dunia digital:
- Lakukan dan lakukan lebih banyak! Unduh program seperti audacity dan buat file audio yang berbeda menggunakan laju sampel dan rentang bit yang berbeda
- Buat nada sinus / segitiga / persegi dan gigi gergaji dan dengarkan perbedaannya
- Belajarlah untuk mendengar perbedaan antara jenis-jenis seperti file 8 bit 10KHz dan file 16 bit 44.1KHz (kualitas CD)
- Eksperimen dengan filter high-pass / low-pass / band-pass dan dengarkan perbedaannya
- Dorong sinyal melampaui batas saturasinya untuk memahami bagaimana kliping mempengaruhi sinyal audio
- Terapkan amplop ke sinyal jika perangkat lunak Anda memiliki kemampuan ini
- Ada perbedaan antara distorsi harmonik dan harmonis, bereksperimen dengan keduanya
- Gunakan spektrogram (FFT) untuk melihat ini dan sinyal lain untuk menjadi akrab dengannya
- Gunakan plot linear dan logaritmik untuk melihat perbedaannya
- Sinyal downsample dan upsample dan dengarkan bagaimana ini memengaruhi audio
- Gunakan metode dithering yang berbeda (saat mengkonversi rentang bit) dan dengarkan perbedaannya
Mudah-mudahan ini akan memberi Anda gambaran tentang apa audio yang diwakili secara digital dan apa perbedaan suara sebelum mencoba DSP apa pun. Itu selalu lebih mudah untuk mengetahui bahwa ada sesuatu yang salah dengan analisis FFT Anda jika Anda dapat mengenali bahwa Anda telah memasukkan sinyal 8 bit vs sinyal 16 bit misalnya atau bahwa laju sampel telah rusak oleh kesalahan perhitungan yang salah dalam transformasi.