Lewati ke konten

Lihat wujud sebuah suara

Setiap suara adalah tumpukan nada murni. Putar salah satu contoh, atau bersiul ke mikrofon Anda, dan lihat halaman ini memisahkan nada-nadanya lalu melukisnya begitu terdengar.

Mikrofon Anda tidak meninggalkan halaman ini

↑ Nada
sunyikeras
20 Hz
50 Hz
100 Hz
200 Hz
500 Hz
1 kHz
2 kHz
5 kHz
10 kHz
20 kHz
Waktu →
Satu petikan senar gitar: nada dasarnya, dan overtone yang bertumpuk di atasnya. Setiap piksel di sini dihitung oleh transform milik halaman ini sendiri.

Cara membaca gambarnya

Kiri ke kanan: waktu

Gambarnya dilukis satu kolom tipis sekali jalan, seperti seismograf. Tepi kanan adalah suara yang paling baru.

Bawah ke atas: nada

Dengungan rendah berada di bawah, desis dan simbal di atas. Nada yang naik menggambar garis yang memanjat.

Terang berarti keras

Pita terang berarti nada yang kuat; gelap berarti sunyi pada nada itu. Satu petikan gitar menggambar setumpuk garis — nada dasarnya, ditambah overtone di atasnya yang membuatnya terdengar seperti gitar dan bukan seruling.

Tiga hal untuk dicoba

Satu gagasan yang layak dibawa pulang

Anda tidak bisa tahu persis kapan sebuah suara terjadi dan persis nada apa itu, sekaligus. Mengukur nada rendah butuh waktu — beberapa siklusnya harus diamati — jadi makin tajam nadanya, makin kabur waktunya. Geser kontrol detail dan Anda bisa melihat gambarnya menukar yang satu dengan yang lain. Ini matematika yang sama dengan prinsip ketidakpastian Heisenberg, bukan keterbatasan halaman ini.

Mulai lihat suara

Mikrofon Anda tidak meninggalkan halaman ini

Setelah dimuat, halaman ini tidak melakukan permintaan jaringan apa pun — tanpa analytics, tanpa pelaporan error, tanpa apa pun. Suara diproses di dalam tab ini lalu dibuang. Contoh audionya dibangkitkan oleh kode, bukan diunduh, dan ada tes di repositori yang menggagalkan build jika satu saja panggilan jaringan ditambahkan.

Ditulis tangan, dengan sengaja

Browser sudah menyediakan Fourier transform, dan spectrogram di atasnya selesai dalam sepuluh baris tanpa mengajarkan apa pun. Transform di sini ditulis dari nol — algoritma Cooley-Tukey yang sama dari 1965 — dan diperiksa dengan empat cara yang saling bebas: terhadap definisi bakunya, terhadap sebuah hukum kekekalan, dengan menjalankannya mundur, dan terhadap sinyal yang jawabannya sudah diketahui lebih dulu.