Ruka hadi maudhui makuu

Mchanganuzi wa Wigo wa Sauti bila malipo

Onyesha masafa ya sauti kwa wakati halisi kama pau, mawimbi, au wigo wa mviringo. Hufanya kazi na faili za sauti au maikrofoni ya moja kwa moja — kwenye kivinjari chako.

Inafanya kazi bila mtandao mara ikishapakia

Dondosha faili hapa, au bofya ili kuchagua

MP3, WAV, OGG, M4A, FLAC, AAC, OPUS · kuchakatwa kwenye kifaa chako

au bonyeza Ctrl+V ili kubandika kutoka ubao wa kunakili

Vinjari faili

Faili zako hazitoki kwenye kifaa chako kamwe. Uchakataji wote unafanyika ndani ya kivinjari chako.

—
Masafa Makuu
—
Noti ya Karibu Zaidi
—
Kiwango cha Kilele
—
Kiwango cha RMS
Mipangilio
Kiwango cha Masafa

Kiwango cha Sampuli: 44.1 kHz · Azimio: 5.4 Hz/bin · FFT 8192

Uchambuzi wote unafanya kazi katika kivinjari chako kwa kutumia Web Audio API — sauti yako haipakiwi kamwe.

Matumizi ya kawaida

  • Changanua Sauti ya PodcastKaguza kurekodi kwa podcast kwa ajili ya kelele ya chumba, plosives, na sibilance kwa kutumia wigo.

Jinsi Inavyofanya Kazi

Kichambuzi cha Wigo wa Sauti kinafanya kazi kikamilifu kwenye kivinjari chako kwa kutumia AnalyserNode ya Web Audio API, inayohesabu FFT (Fast Fourier Transform) ya papo hapo kwenye data ya sauti kutoka faili au kipaza sauti. Kila fremu inachorwa kwa msimbo wa Canvas 2D ulioandikwa mwenyewe — hakuna maktaba ya taswira inayohusika, na hakuna sauti inayoondoka kwenye kifaa chako.

  1. 1
    Sauti inasimbwa na kuelekezwa
    Unapopakia faili, Web Audio API inalisimba kuwa AudioBuffer na kulielekeza kupitia MediaElementAudioSourceNode kwenda AnalyserNode. Kwa uingizaji wa kipaza sauti, getUserMedia() inanasa mkondo na kuulisha kupitia MediaStreamAudioSourceNode badala yake — ikiwa na ughairi wa mwangwi, ukandamizaji wa kelele, na faida-otomatiki vyote vikiwa vimezimwa ili uone ishara ghafi.
  2. 2
    AnalyserNode inaendesha FFT kwa kila fremu
    Kwa kila fremu ya uhuishaji (kupitia requestAnimationFrame), msimbo unaita getFloatFrequencyData() kusoma wigo wa sasa wa ukubwa wa FFT kwa dBFS, na getFloatTimeDomainData() kwa sampuli za wimbi ghafi. Ukubwa wa FFT unaweza kubadilishwa kutoka bini 2048 hadi 16384, ukitoa azimio la masafa mzuri kama Hz 2.7/bini kwa 44.1 kHz.
  3. 3
    Canvas 2D inaonyesha mwonekano uliochaguliwa
    Mwonekano wa Kichambuzi unaweka bini za FFT kwenye mhimili wa X wa masafa ya logi (Hz 20–20 kHz) na mhimili wa Y wa dBFS, kuchora wigo kama mstari uliojazwa, na kuweka juu mstari wa kushikilia kilele unaopungua polepole. Masafa makuu yanapatikana kwa usahihi kwa kutumia uwiano wa parabola kuzunguka bini ya kilele, kisha kubadilishwa kuwa noti ya muziki ya karibu ya equal-tempered (A4=440 Hz) ikiwa na tofauti ya senti inayoonyeshwa. Mwonekano wa Spectrogram unasogeza kanvasi pikseli moja kushoto kwa kila fremu na kupaka safu mpya kwa kutumia mkondo wa rangi wa mtindo wa inferno. Mwonekano wa Kisanaa unatumia data ya masafa au wakati kwa usuluhishi wa baiti kwa hali za pau, wimbi, au mzunguko wa kupamba.
  4. 4
    Kutoa kupitia Canvas na MediaRecorder
    Kuhifadhi PNG kunaita canvas.toBlob() kusimba fremu ya sasa. Kurekodi video kunatumia canvas.captureStream(30) ikichanganywa na mgusano wa sauti kutoka MediaStreamAudioDestinationNode, ikipitishwa kwenye MediaRecorder inayotoa WebM au MP4. Utoaji wa WAV unasimba mwenyewe faili la RIFF la PCM ya biti 16 kutoka AudioBuffer kwa kutumia DataView — hakuna kisimbaji cha nje.

Faili lako la sauti linasimbwa kwenye kivinjari na Web Audio API na kamwe halipakiwi — baiti za faili zinabaki kwenye kifaa chako wakati wote wa uchambuzi na utoaji.

Zana Zinazohusiana

Maswali Yanayoulizwa Mara Kwa Mara