Siirry pääsisältöön

Äänen spektrianalysaattori ilmaiseksi

Visualisoi äänentaajuudet reaaliajassa palkkeina, aaltomuotoina tai pyöreänä spektrinä. Toimii äänitiedostojen tai live-mikrofonisyötteen kanssa — toimii selaimessasi.

Toimii offline-tilassa kerran ladattuna

Pudota tiedosto tähän tai valitse napsauttamalla

MP3, WAV, OGG, M4A, FLAC, AAC, OPUS · käsitellään laitteellasi

tai liitä leikepöydältä painamalla Ctrl+V

Selaa tiedostoja

Tiedostosi eivät koskaan poistu laitteeltasi. Kaikki käsittely tapahtuu paikallisesti selaimessasi.

—
Hallitseva taajuus
—
Lähin sävel
—
Huipputaso
—
RMS-taso
Asetukset
Taajuusasteikko

Näytteenottotaajuus: 44,1 kHz · Resoluutio: 5,4 Hz/bin · FFT 8192

Kaikki analyysit suoritetaan selaimessasi käyttäen Web Audio API:ta — ääntäsi ei koskaan lähetetä palvelimelle.

Yleiset käyttötavat

  • Analysoi podcastin ääniTarkista podcast-tallennukset huonemelun, plossiivien ja sibilanssien osalta spektrin avulla.

Miten se toimii

Äänispektrianalysaattori toimii kokonaan selaimessasi Web Audio API:n AnalyserNode-solmua käyttäen, joka laskee reaaliaikaisen FFT:n (nopean Fourier-muunnoksen) tiedoston tai mikrofonin äänidatasta. Jokainen kuva piirretään käsin kirjoitetulla Canvas 2D -koodilla — visualisointikirjastoa ei käytetä, eikä ääni koskaan poistu laitteeltasi.

  1. 1
    Ääni puretaan ja reititetään
    Kun lataat tiedoston, Web Audio API purkaa sen AudioBufferiksi ja reitittää sen MediaElementAudioSourceNode-solmun kautta AnalyserNode-solmuun. Mikrofonisyötteelle getUserMedia() sieppaa striimin ja syöttää sen sen sijaan MediaStreamAudioSourceNode-solmun kautta — kaiun poisto, kohinan vaimennus ja automaattinen vahvistus kaikki pois päältä, jotta näet raakasignaalin.
  2. 2
    AnalyserNode ajaa FFT:n joka kuvassa
    Jokaisella animaatiokuvalla (requestAnimationFrame-kutsun kautta) koodi kutsuu getFloatFrequencyData()-funktiota lukeakseen nykyisen FFT-magnitudispektrin dBFS-yksiköissä, ja getFloatTimeDomainData()-funktiota raa'an aaltomuodon näytteille. FFT-koko on säädettävissä 2048–16384 lokeroon, mikä antaa taajuustarkkuuden jopa noin 2,7 Hz/lokero 44,1 kHz:llä.
  3. 3
    Canvas 2D piirtää valitun näkymän
    Analysaattorinäkymä kuvaa FFT-lokerot log-taajuus (20 Hz–20 kHz) -X-akselille ja dBFS-Y-akselille, piirtää spektrin täytettynä viivana ja päällystää sen hiipuvalla huippupitojäljellä. Hallitseva taajuus kohdistetaan tarkasti parabolisella interpoloinnilla huippulokeron ympärillä, ja muunnetaan sitten lähimmäksi tasavireiseksi säveleksi (A4=440 Hz), senttipoikkeaman näkyessä lukemassa. Spektrogramminäkymä vierittää kanvasta yhden pikselin vasemmalle joka kuvassa ja maalaa uuden sarakkeen inferno-tyylisellä väriliu'ulla. Taiteellinen näkymä käyttää tavutarkkuuden taajuus- tai aikatason dataa palkki-, aaltomuoto- tai pyöreisiin koristetiloihin.
  4. 4
    Vienti Canvasin ja MediaRecorderin kautta
    PNG:n tallentaminen kutsuu canvas.toBlob()-funktiota nykyisen kuvan koodaamiseksi. Videon tallentaminen käyttää canvas.captureStream(30)-funktiota yhdistettynä äänisyötteeseen MediaStreamAudioDestinationNode-solmusta, ohjattuna MediaRecorderiin, joka tuottaa WebM- tai MP4-tiedoston. WAV-vienti koodaa käsin 16-bittisen PCM RIFF -tiedoston AudioBufferista DataView-oliota käyttäen — ei ulkoista koodainta.

Äänitiedostosi puretaan selaimessa Web Audio API:lla eikä sitä koskaan ladata palvelimelle — tiedoston tavut pysyvät laitteellasi koko analyysin ja viennin ajan.

Liittyvät työkalut

Usein kysytyt kysymykset