Przejdź do głównej treści
LibraTool logoLibraTool

Analizator widma audio za darmo

Wizualizuj częstotliwości audio w czasie rzeczywistym jako słupki, przebiegi fali lub okrągłe widma. Działa z plikami audio lub wejściem z mikrofonu na żywo — działa w Twojej przeglądarce.

Działa offline po wczytaniu

Upuść plik tutaj lub kliknij, aby przeglądać

MP3, WAV, OGG, M4A, FLAC, AAC, OPUS · przetwarzane na Twoim urządzeniu

lub naciśnij Ctrl+V, aby wkleić ze schowka

Przeglądaj pliki

Twoje pliki nigdy nie opuszczają urządzenia. Całe przetwarzanie odbywa się lokalnie w przeglądarce.

—
Częstotliwość dominująca
—
Najbliższa nuta
—
Poziom piku
—
Poziom RMS
Ustawienia
Skala częstotliwości

Częstotliwość próbkowania: 44,1 kHz · Rozdzielczość: 5,4 Hz/bin · FFT 8192

Wszystkie analizy uruchamiają się w Twojej przeglądarce przy użyciu Web Audio API — Twój dźwięk nigdy nie jest przesyłany.

Typowe zastosowania

  • Analizuj Dźwięk PodcastuSprawdź nagrania podcastu pod kątem szumów pokojowych, wybuchów i sybilantów za pomocą spektrum.

Jak to działa

Analizator widma audio działa w całości w przeglądarce, korzystając z AnalyserNode z Web Audio API, który oblicza w czasie rzeczywistym FFT (szybką transformatę Fouriera) danych audio z pliku lub mikrofonu. Każda klatka jest rysowana ręcznie napisanym kodem Canvas 2D — bez biblioteki do wizualizacji, a dźwięk nie opuszcza urządzenia.

  1. 1
    Dźwięk jest dekodowany i kierowany
    Po wczytaniu pliku Web Audio API dekoduje go do AudioBuffer i kieruje przez MediaElementAudioSourceNode do AnalyserNode. W przypadku mikrofonu getUserMedia() przechwytuje strumień i przekazuje go przez MediaStreamAudioSourceNode — z wyłączonym usuwaniem echa, tłumieniem szumów i automatycznym wzmocnieniem, abyś widział surowy sygnał.
  2. 2
    AnalyserNode wykonuje FFT w każdej klatce
    W każdej klatce animacji (przez requestAnimationFrame) kod wywołuje getFloatFrequencyData(), aby odczytać bieżące widmo amplitudy FFT w dBFS, oraz getFloatTimeDomainData() dla surowych próbek przebiegu. Rozmiar FFT można ustawić od 2048 do 16384 przedziałów, co daje rozdzielczość częstotliwości nawet około 2,7 Hz/przedział przy 44,1 kHz.
  3. 3
    Canvas 2D renderuje wybrany widok
    Widok Analizator mapuje przedziały FFT na logarytmiczną oś X częstotliwości (20 Hz–20 kHz) i oś Y w dBFS, rysuje widmo jako wypełnioną linię i nakłada zanikający ślad podtrzymania szczytów. Dominująca częstotliwość jest precyzyjnie wyznaczana interpolacją paraboliczną wokół przedziału szczytowego, a następnie przeliczana na najbliższą nutę w stroju równomiernie temperowanym (A4=440 Hz) z odchyleniem w centach pokazanym w odczycie. Widok Spektrogram przewija płótno o jeden piksel w lewo w każdej klatce i maluje nową kolumnę skalą barw w stylu inferno. Widok Artystyczny używa danych częstotliwościowych lub czasowych w rozdzielczości bajtowej dla dekoracyjnych trybów słupków, przebiegu lub okręgu.
  4. 4
    Eksport przez Canvas i MediaRecorder
    Zapis PNG wywołuje canvas.toBlob(), aby zakodować bieżącą klatkę. Nagrywanie wideo używa canvas.captureStream(30) połączonego z odgałęzieniem audio z MediaStreamAudioDestinationNode, przekazywanych do MediaRecorder tworzącego WebM lub MP4. Eksport WAV ręcznie koduje 16-bitowy plik PCM RIFF z AudioBuffer za pomocą DataView — bez zewnętrznego kodera.

Plik audio jest dekodowany w przeglądarce przez Web Audio API i nigdy nie jest przesyłany — bajty pliku pozostają na urządzeniu przez cały czas analizy i eksportu.

Powiązane narzędzia

Często zadawane pytania