Falanqeeyaha Spectrum-ka Codka oo Bilaash ah

Muuji soo noqnoqoshada codka waqti dhab ah sida ulo, mowjado, ama spectra wareegsan. Wuxuu la shaqeeyaa faylasha codka ama mikrafoonka tooska ah — wuxuu ka shaqeeyaa browser-kaaga.

Wuu shaqeeyaa oflaayn marka la shubo

Faylasha halkan ku rid, ama guji si aad u baarato

MP3, WAV, OGG, M4A, FLAC, AAC, OPUS · Ma jiro xadid cabbirka faylka

ama taabo Ctrl+V si aad uga dhejiso clipboard-ka

Baar faylasha

Faylashaadu weligood kama tagaan qalabkaaga. Farsamaynta oo dhan waxay ka dhacdaa gudaha browser-kaaga.

Dejinta
Miisaanka frequency-ga
—
Frequency-ga ugu badan
—
Nootka ugu dhow
—
Heerka qarka sare
—
Heerka RMS

Heerka sample-ka: 44.1 kHz · Cabbirka sax ahaanshaha: 5.4 Hz/bin · FFT 8192

Falanqaynta oo dhan waxay ku dhacdaa browser-kaaga iyadoo la isticmaalayo Web Audio API — cajaladaadu waligeed lama soo geliyo.

Sida Ay U Shaqeyso

Falanqeeyaha Spectrum-ka Codka wuxuu ka dhacaa gebi ahaanba biraawsarkaaga isagoo isticmaalaya AnalyserNode-ka Web Audio API, kaasoo xisaabiya FFT (Fast Fourier Transform) waqti dhab ah xogta codka fayl ama mikrafoon. Sawir kasta waxaa lagu sawiraa koodh gacanta lagu qoray oo Canvas 2D ah — laybreri muuqaal ma jiro, codna kama baxo aaladdaada.

  1. 1
    Codku waa la fureyaa oo la jiheeyaa
    Marka aad shubto fayl, Web Audio API-ga wuxuu ku furaa AudioBuffer wuxuuna soo mariyaa MediaElementAudioSourceNode oo geliya AnalyserNode. Gelitaanka mikrafoonka, getUserMedia() wuxuu qabtaa streamka wuxuuna ka mariyaa MediaStreamAudioSourceNode halkii — oo leh baabi'inta echo, xakamaynta buuqa, iyo gain-otomaatiga oo dhammaantood la damiyay si aad u aragto calaamadda ceyriinka.
  2. 2
    AnalyserNode wuxuu socodsiiyaa FFT sawir kasta
    Sawir animation kasta (requestAnimationFrame), koodhku wuxuu wacaa getFloatFrequencyData() si uu u akhriyo spectrum-ka xoogga FFT ee hadda ah dBFS, iyo getFloatTimeDomainData() sample-yada waveform-ka ceyriinka ah. Cabbirka FFT waa la dejin karaa 2048 ilaa 16384 bins, taasoo siinaysa xallin soo noqnoqod ah ilaa 2.7 Hz/bin 44.1 kHz.
  3. 3
    Canvas 2D wuxuu ku sawiraa muuqaalka la doortay
    Muuqaalka Falanqeeyaha wuxuu ku sawiraa bins-ka FFT dhidibka X ee log-soo noqnoqodka (20 Hz–20 kHz) iyo dhidibka Y ee dBFS, wuxuu ku sawiraa spectrum-ka khad buuxsan, wuxuuna dul dhigaa raad-qabashada qarka ee dhimaya. Soo noqnoqodka ugu badan waxaa lagu ogaadaa isku-dar parabolic hareeraha bin-ka qarka, kadibna waxaa loo beddelaa qoraalka muusigga ee ugu dhow ee la sinneeyay (A4=440 Hz) oo leh farqiga cents ka muuqda akhriska. Muuqaalka Spectrogram wuxuu dhaqaajiyaa canvas-ka hal pixel bidix sawir kasta wuxuuna rinjiyeeyaa tiir cusub isagoo isticmaalaya qaab-midab inferno. Muuqaalka Farshaxanka wuxuu isticmaalaa xog soo noqnoqod ama waqti-domain oo byte-cabbir ah tiirar, waveform, ama habab wareegsan oo qurxin ah.
  4. 4
    Soo saar Canvas iyo MediaRecorder
    Keydinta PNG wuxuu wacaa canvas.toBlob() si loo koodhiyo sawirka hadda. Duubidda video wuxuu isticmaalaa canvas.captureStream(30) oo lala kaashanayo qaadis cod ah MediaStreamAudioDestinationNode, oo loo mariyo MediaRecorder soo saaraya WebM ama MP4. Soo-saarka WAV gacanta ayaa lagu koodhiyaa fayl 16-bit PCM RIFF AudioBuffer isagoo isticmaalaya DataView — koodhiye dibadeed ma jiro.

Faylkaaga codku wuxuu ku furmaa biraawsarka Web Audio API weligiisna lama shubo — bytes-ka faylku wuxuu ku sii jiraa aaladdaada muddada falanqaynta iyo soo-saarka.

Qalabka La Xiriira

Su'aalaha Inta Badan La Iska Weydiiyo