Olùṣàyẹ̀wò Ìtànṣán Ohùn Ọ̀fẹ́
Fi hàn àwọn ìgbóhùn ohùn lákòókò gidi gẹ́gẹ́ bí àwọn ọ̀wọ́n, ìgbì, tàbí ìtànṣán yíká. Ó ń ṣiṣẹ́ pẹ̀lú àwọn fáìlì ohùn tàbí maikirofóònù gidi — ó ń ṣiṣẹ́ nínú ẹ̀rọ àwárí rẹ.
Sọ àwọn fáìlì sílẹ̀ níbí, tàbí tẹ láti wá
MP3, WAV, OGG, M4A, FLAC, AAC, OPUS · Kò sí ìdiwọ̀ ìwọ̀n fáìlì
tàbí tẹ Ctrl+V láti fi lẹ̀ mọ́ láti clipboard rẹ
Àwọn fáìlì rẹ kò ní jáde kúrò lórí ẹ̀rọ rẹ. Gbogbo ìṣiṣẹ̀ n ṣẹlẹ̀ ní àdúgbò nínú aṣàwákiri rẹ.
Àwọn ètò
Oṣùwọ̀n àpẹẹrẹ: 44.1 kHz · Ìwọ̀n kíkéde: 5.4 Hz/bin · FFT 8192
Gbogbo ìtúpalẹ̀ ń ṣẹlẹ̀ nínú ẹ̀rọ awiwo rẹ nípa lílo Web Audio API — a kò fi ohùn rẹ ránṣẹ́ láé.
Bí Ó Ṣe Ń Ṣiṣẹ́
Analyzer Ìgbòhùngbọ̀n Ohun Ìró ń ṣiṣẹ́ pátápátá nínú aṣàwákiri rẹ pẹ̀lú AnalyserNode ti API Web Audio, èyí tí ó ń ṣírò FFT (Fast Fourier Transform) ní àkókò gidi lórí dátà ohun ìró láti inú fáìlì tàbí makirofóònù. A ń yà férémù kọ̀ọ̀kan pẹ̀lú kóòdù Canvas 2D tí a fi ọwọ́ kọ — kò sí ìwé-ìṣirò àwòrán, kò sí ohun ìró tí ó kúrò lára ẹ̀rọ rẹ.
- 1A ń ṣe díkóòdù ohun ìró, a sì ń darí rẹ̀Nígbà tí o bá kó fáìlì kan wọlé, API Web Audio ń ṣe díkóòdù rẹ̀ sí AudioBuffer, ó sì darí rẹ̀ nípasẹ̀ MediaElementAudioSourceNode sí AnalyserNode kan. Fún ìbáwọlé makirofóònù, getUserMedia() ń mú ìṣàn náà, ó sì fi kọjá nípasẹ̀ MediaStreamAudioSourceNode dípò bẹ́ẹ̀ — pẹ̀lú ìparẹ́ ìró-padà, ìdínkù ariwo, àti gain aládàáṣe tí gbogbo wọn ti pa — nítorí náà o rí àmì àkọ́kọ́ gan-an.
- 2AnalyserNode ń ṣiṣẹ́ FFT ní férémù kọ̀ọ̀kanNí gbogbo férémù àwòrán (nípasẹ̀ requestAnimationFrame), kóòdù náà ń pe getFloatFrequencyData() láti ka ìgbòhùngbọ̀n FFT lọ́wọ́lọ́wọ́ ní dBFS, àti getFloatTimeDomainData() fún àwọn àpẹẹrẹ wéfọ̀mù gan-an. Ìwọ̀n FFT lè ṣàtúnṣe láti 2048 sí 16384 bins, tí ó ń fún ní ìdájú ìgbòhùngbọ̀n tí ó dín tó ìwọ̀n 2.7 Hz/bin ní 44.1 kHz.
- 3Canvas 2D ń ṣe àwòrán ìwo tí a yànÌwo Analyzer ń fi àwọn bins FFT sí àsà X-àyè log-ìgbòhùngbọ̀n (20 Hz–20 kHz) àti àsà Y dBFS, ó sì ń yà ìgbòhùngbọ̀n náà gẹ́gẹ́ bí ìlà tí a fi kún, ó sì ń fi ọ̀wọ́ ìdúró-ìpele tí ó ń dínkù bò ó. A ń rí ìgbòhùngbọ̀n tí ó pọ̀ jùlọ nípasẹ̀ ìṣírò parabolic yíká bin tí ó ga jùlọ, a sì ń yí padà sí ohùn orin tí ó súnmọ́ jùlọ (A4=440 Hz) pẹ̀lú ìyàtọ̀ cent tí a fihàn nínú kíkàwé náà. Ìwo Spectrogram ń yí canvas náà pixel kan sí òsì ní férémù kọ̀ọ̀kan, ó sì ń kun ọ̀wọ̀n tuntun kan pẹ̀lú àwọ̀ inferno-style. Ìwo Artistic ń lo dátà ìgbòhùngbọ̀n tàbí àkókò-ẹ̀ka ní ìdájú byte fún àwọn ipò ọ̀pá, wéfọ̀mù, tàbí àyíká.
- 4Gbígbé jáde nípasẹ̀ Canvas àti MediaRecorderFífi PNG pamọ́ ń pe canvas.toBlob() láti kó férémù lọ́wọ́lọ́wọ́ padà. Gbígba fídíò ń lo canvas.captureStream(30) papọ̀ pẹ̀lú fífà ohun ìró láti inú MediaStreamAudioDestinationNode, tí ó ń gba nípasẹ̀ MediaRecorder tí ó ń ṣe WebM tàbí MP4. Gbígbé WAV jáde ń fi ọwọ́ kó fáìlì RIFF PCM 16-bit láti inú AudioBuffer pẹ̀lú DataView — kò sí encoder ìta.
Web Audio API ń ṣe díkóòdù fáìlì ohun ìró rẹ nínú aṣàwákiri, a kì í sì gbé e sókè láé — àwọn byte fáìlì náà wà lára ẹ̀rọ rẹ ní gbogbo ìgbà ìtúpalẹ̀ àti gbígbé jáde.
Àwọn Irinṣẹ Tó Jọra
Olùmúgbòrò Ohùn
Ṣe ohùn mímọ́ láti 1 Hz sí 22 kHz, pẹ̀lú ariwo funfun, pink àti brown — ìdánwò olóhùn òsì/ọ̀tún, àwọn nóòtì tí a ti yàn, ṣeré láàyè tàbí gba WAV/MP3 lọ.
Olùwá BPM & Bọ́tìnì
Fojú díwọ̀n sáré orin (BPM) àti bọ́tìnì orin kan ní inú aṣàwárí rẹ, pẹ̀lú àṣàyàn tap-tempo.
Olùké Ohùn
Ké apá kan kúrò nínú fáìlì ohùn kankan lórí ìgbì ìbánisọ̀rọ̀ tí ó ṣiṣẹ́sí. Fa àmì, wo àyẹ̀wò yíyàn rẹ, kí o sì fi ìdínku kún un. Dáadáa fún ringtone àti apá podcast. Ó ń ṣiṣẹ́ nínú ẹ̀rọ àwárí rẹ.