50 0

MFCCÌØÕ÷ÌáȡģÄâÈ˶ú¸ÐÖª [ÍÆ¹ãÓн±]

  • 0¹Ø×¢
  • 0·ÛË¿

µÈ´ýÑéÖ¤»áÔ±

ѧǰ°à

40%

»¹²»ÊÇVIP/¹ó±ö

-

ÍþÍû
0 ¼¶
ÂÛ̳±Ò
0 ¸ö
ͨÓûý·Ö
0
ѧÊõˮƽ
0 µã
ÈÈÐÄÖ¸Êý
0 µã
ÐÅÓõȼ¶
0 µã
¾­Ñé
20 µã
Ìû×Ó
1
¾«»ª
0
ÔÚÏßʱ¼ä
0 Сʱ
×¢²áʱ¼ä
2018-5-5
×îºóµÇ¼
2018-5-5

Â¥Ö÷
ìá·±ÐÇØ¼Ø¼ ·¢±íÓÚ 2025-11-24 15:03:25 |AIдÂÛÎÄ

+2 ÂÛ̳±Ò
kÈË ²ÎÓë»Ø´ð

¾­¹ÜÖ®¼ÒËÍÄúÒ»·Ý

Ó¦½ì±ÏÒµÉúרÊô¸£Àû!

ÇóÖ°¾ÍҵȺ
ÕÔ°²¶¹ÀÏʦ΢ÐÅ£ºzhaoandou666

¾­¹ÜÖ®¼ÒÁªºÏCDA

ËÍÄúÒ»¸öÈ«¶î½±Ñ§½ðÃû¶î~ !

¸ÐлÄú²ÎÓëÂÛ̳ÎÊÌâ»Ø´ð

¾­¹ÜÖ®¼ÒËÍÄúÁ½¸öÂÛ̳±Ò£¡

+2 ÂÛ̳±Ò

MFCCÌØÕ÷ÌáÈ¡£ºÈûúÆ÷¡°Ìý¡±¶®ÉùÒôµÄÃØ¾÷

ÄãÓÐûÓÐºÃÆæ¹ý£¬ÏñSiri¡¢Ð¡°®Í¬Ñ§»ò³µÔØÓïÒôÖúÊÖÕâÑùµÄÖÇÄÜϵͳ£¬ÊÇÈçºÎÀí½âÎÒÃÇ˵µÄ»°µÄ£¿ËüÃÇÕæµÄÖ»ÊÇÔÚ´¦ÀíԭʼÉùÒô²¨ÐÎÂð£¿Æäʵ±³ºóÓÐÒ»Ì׸´ÔÓµÄÒôƵÐźŴ¦ÀíÁ÷³Ì£¬¶øÆäÖÐ×îºËÐĵļ¼ÊõÖ®Ò»¾ÍÊÇ¡ª¡ª

MFCC£¨Ã·¶ûƵÂʵ¹Æ×ϵÊý£©¡£

Õâ¸öÊõÓïÌýÆðÀ´×¨ÒµÓÖ»Þɬ£¬µ«ËüµÄÄ¿±êÈ´·Ç³£Ìù½üÈËÀà¸ÐÖª£ºÊ¹»úÆ÷ÌáÈ¡µÄÉùÒôÌØÕ÷¾¡¿ÉÄܽӽüÈ˶úʵ¼Ê¡°Ìýµ½¡±µÄÄÚÈÝ¡£»»¾ä»°Ëµ£¬MFCC²¢²»ÊǼòµ¥µØ·ÖÎöÒôƵµÄÎïÀíÌØÐÔ£¬¶øÊdz¢ÊÔÄ£ÄâÈËÀàÌý¾õϵͳµÄÐÄÀíÉùѧ»úÖÆ¡£Ëü¸ü¹Ø×¢¡°ÌýÆðÀ´Ïñʲô¡±£¬¶ø²»ÊÇ¡°ÆµÂʾ«È·ÊǶàÉÙ¡±¡£

ÄÇôÎÊÌâÀ´ÁË£ºÈËÀàÌý¾õ¾¿¾¹ÓкζÀÌØÖ®´¦£¿MFCCÓÖÊÇÈçºÎʵÏÖÕâÖÖ¡°ÀàÈË»¯¡±µÄÌý¾õÄ£ÄâÄØ£¿ÏÂÃæÎÒÃÇÒ»²½²½À´½âÎö¡£

ΪʲôÆÕͨµÄƵÆ×·ÖÎö²»¹»Óã¿

Ò»¸ö³£¼ûµÄÒÉÎÊÊÇ£º¼ÈÈ»FFT£¨¿ìËÙ¸µÀïÒ¶±ä»»£©¿ÉÒÔ½«ÉùÒôת»¯ÎªÆµÆ×ͼ£¬ÎªÊ²Ã´²»Ö±½ÓʹÓÃÕâЩƵÆ×Êý¾Ý½øÐÐÓïÒôʶ±ðÄØ£¿

´ð°¸ÊÇ¡ª¡ªÒòΪÈ˶úµÄ¹¤×÷·½Ê½¸ù±¾²»ÊÇÏßÐԵģ¡

¾Ù¸öÀý×Ó£ºÄãÄÜÇáËÉ·Ö±æ³ö100HzºÍ200HzÖ®¼äµÄ²îÒ죬µ«¶ÔÓÚ3000HzÓë3100HzµÄÇø±ðÈ´¼¸ºõ²ì¾õ²»µ½¡£Õâ˵Ã÷ÁËÒ»¸ö¹Ø¼üÊÂʵ£ºÈ˶ú¶ÔµÍƵ¸üΪÃô¸Ð£¬¶ø¶Ô¸ßƵµÄ·Ö±æÄÜÁ¦ÏÔÖøÏ½µ£¬ÕâÊÇÒ»ÖÖµäÐ͵ķÇÏßÐÔ¸ÐÖªÏÖÏó¡£

È»¶ø£¬±ê×¼FFTµÃµ½µÄÊÇÏßÐÔÆµÂÊ·Ö²¼£¬Ã¿¸öƵÂÊÇø¼ä¿í¶ÈÏàµÈ¡£Õâ¾Íµ¼ÖÂÁË¡°»úÆ÷¿´µ½µÄ¡±ÆµÆ×Óë¡°ÈËʵ¼ÊÌýµ½µÄ¡±¸Ð֪Ч¹ûÑÏÖØÍѽڡ£

ΪÁ˽â¾öÕâ¸öÎÊÌ⣬Ñо¿ÈËÔ±ÒýÈëÁËÒ»ÖÖÐÂµÄÆµÂʳ߶ȡª¡ªÃ·¶û£¨Mel£©³ß¶È¡£ÔÚÕâ¸öÌåϵÖУ¬ÆµÂʲ»ÔÙÊǾùÔÈ»®·ÖµÄ£¬¶øÊÇËæ×ÅÆµÂÊÉý¸ßÖ𽥡°À­É족£¬ÔÚµÍÆµÇøÓòÔò¸ü¼Ó¡°Ñ¹Ëõ¡±¡£ÕâÑùÒ»À´£¬ÆµÂʵıíʾ·½Ê½¾Í¸ü·ûºÏÈËÀàÌý¾õµÄʵ¼ÊÏìӦģʽ¡£

Òò´Ë£¬MFCCµÄµÚÒ»²½Öǻ۾ÍÔÚÓÚ£º´ÓÐÄÀíÉùѧ³ö·¢£¬Öع¹ÆµÂʿռ䣬ʹÆä¸üÌùºÏÈËÀàÌý¸Ð¡£

Áù²½ÊµÏÖMFCC£ºÃ¿Ò»²½¶¼ÔڱƽüÈ˶ú¸ÐÖª

±ð±»¡°µ¹Æ×¡±Õâ¸ö´ÊÏŵ½£¬Õû¸öMFCCÁ÷³ÌÂß¼­ÇåÎú£¬¾ÍÏñÅë⿲½ÖèÒ»Ñù»·»·Ïà¿Û¡£ÏÂÃæÎÒÃÇÖðÒ»²ð½â£º

1. Ô¤¼ÓÖØ ¡ª¡ª ÌáÉý΢ÈõµÄ¸ßƵ³É·Ö

˵»°Ê±£¬×ì´½µÄ·øÉäЧӦ»áµ¼ÖÂ¸ßÆµÄÜÁ¿×ÔȻ˥¼õ£¨´óÔ¼-6dB/±¶Æµ³Ì£©¡£Èç¹û²»¼ÓÒÔ²¹³¥£¬ÔÚºóÐø´¦ÀíÖÐÕâÐ©ÖØÒªµÄ¸ßƵÐÅÏ¢¿ÉÄܻᱻÑÍû¡£

Òò´ËµÚÒ»²½ÊǽøÐÐÔ¤¼ÓÖØ£¨Pre-emphasis£©£¬Ï൱ÓÚ¸øÐźŴ÷ÉÏÒ»¸±¡°ÖúÌýÆ÷¡±£¬ÔöÇ¿¸ßƵ²¿·Ö¡£

ÆäÊýѧ±í´ï·Ç³£¼ò½à£º

$$ y[n] = x[n] - \alpha x[n-1] $$

ÆäÖÐ $\alpha$ ͨ³£È¡ÖµÎª 0.95~0.97£¬±¾ÖÊÉÏÊÇÒ»¸öÒ»½×¸ßͨÂ˲¨Æ÷¡£

ÕâÏî²Ù×÷²»½öÓÐÖúÓÚÌáÉýÐÅÔë±È£¬»¹ÄܱÜÃâºóÐø¶ÔÊýÔËËãÖгöÏÖ $ \log(0) $ ÕâÀàÊýÖµÒì³££¬ÊôÓÚ¸ßЧÇÒʵÓõÄǰÖô¦ÀíÊֶΡ£

def pre_emphasis(signal, alpha=0.97):
    return np.append(signal[0], signal[1:] - alpha * signal[:-1])

ʵÏÖÆðÀ´¼«ÆäÇáÁ¿£¬½öÐèÒ»Ðвî·Ö¼ÆË㣬²»Ó°ÏìʵʱÐÔÄÜ£¬·Ç³£ÊʺÏǶÈëʽÉ豸²¿Êð¡£

2. ·ÖÖ¡ + ¼Ó´° ¡ª¡ª ÇиîÓïÒô²¢Èữ±ß½ç

ÓïÒôÊÇÒ»ÖÖ·ÇÆ½ÎÈÐźţ¬µ«ÎÒÃÇ¿ÉÒÔÔÚ¶Ìʱ¼äÄÚ¼ÙÉèËüÊÇÎȶ¨µÄ¡ª¡ªÒ»°ãÈÏΪÔÚ20~30ºÁÃëÄÚÓïÒôÌØÐÔ»ù±¾²»±ä¡£Òò´Ë£¬ÎÒÃǽ«Á¬ÐøÓïÒôÇзÖΪ¶Ìʱ¶Î½øÐзÖÎö£¬ÕâÒ»¹ý³Ì³ÆÎª·ÖÖ¡¡£

³£ÓòÎÊýÉèÖÃÈçÏ£º

  • Ö¡³¤£º25ms ¡ú ¶ÔÓ¦400¸ö²ÉÑùµã£¨²ÉÑùÂÊ16kHz£©
  • Ö¡ÒÆ£º10ms ¡ú ÿ´Î»¬¶¯160¸ö²ÉÑùµã
  • ÖØµþÂʸߴï60%£¬È·±£²¶×½·¢Òô¹ý¶ÉµÄϸ½Ú

µ«Èç¹ûÖ±½Ó½Ø¶ÏÓïÒôƬ¶Î£¬»áÔÚÖ¡±ßÔµ²úÉúÍ»±ä£¬Òý·¢ÆµÆ×й©£¨¼´¼ª²¼Ë¹Ð§Ó¦£©¡£ÎªÁ˱ÜÃâÕâÒ»ÎÊÌ⣬ÎÒÃÇÐèÒª¶Ôÿһ֡ʩ¼ÓÒ»¸öƽ»¬¹ý¶ÉµÄ´°¿Úº¯Êý¡£

×î³£ÓõÄÊǺºÃ÷´°£¨Hamming Window£©£¬Ëüʹ֡Á½¶ËÖð½¥Ë¥¼õÖÁÁ㣬ÐγÉÀàËÆ¡°Èá¹âÂ˾µ¡±µÄЧ¹û¡£

frames *= np.hamming(frame_length)

¾­¹ý¼Ó´°´¦Àíºó£¬Ã¿Ò»Ö¡¶¼±äµÃ¸ü¼Óƽ»¬£¬¸üÊʺϺóÐøµÄƵÓò·ÖÎö¡£

3. FFT ¡ª¡ª ת»»µ½ÆµÂÊÓò

½ÓÏÂÀ´Í¨¹ý¿ìËÙ¸µÀïÒ¶±ä»»£¨FFT£©£¬½«Ê±ÓòÐźÅת»»ÎªÆµÓò±íʾ£¬Õýʽ½øÈ롰ƵÂÊÎę̀¡±¡£

ÐèҪעÒ⼸¸ö¼¼ÊõÒªµã£º

  • ʵ¼Ê²ÉÓÃʵÊýFFT£¨RFFT£©£¬Ö»±£Áôǰ°ë²¿·Ö½á¹û£¨Òò¹²éî¶Ô³ÆÐÔ£©
  • ³£½«Êý¾Ý²¹ÁãÖÁ512µã£¨×î½üµÄ2µÄÃݴΣ©£¬ÒÔÌá¸ßƵÂÊ·Ö±æÂÊ
  • Êä³öΪ¹¦ÂÊÆ×£º$ P = |X(f)|^2 / N $
rfft
mag_frames = np.absolute(np.fft.rfft(frames, nfft))
pow_frames = ((1.0 / nfft) * (mag_frames ** 2))

´Ëʱ»ñµÃµÄÊÇÒ»×é»ùÓÚÊýѧ¼ÆËãµÄƵÆ×Êý¾Ý£¬ÈÔ´øÓÐÃ÷ÏԵĻúÐµÌØÐÔ¡£ÕæÕýµÄ¡°ÄâÈË»¯¡±´¦Àí²Å¸Õ¸Õ¿ªÊ¼¡£

4. ÷¶ûÂ˲¨Æ÷×é ¡ª¡ª Ä£ÄâÌý¾õÉñ¾­ÏìÓ¦

Õâ²ÅÊÇMFCCµÄºËÐÄËùÔÚ£¡

ÉèÏëһϣ¬È˶úµÄ»ùµ×ĤÉÏ·Ö²¼×Å´óÁ¿Ã«Ï¸°û£¬ËüÃǶԲ»Í¬ÆµÂʾßÓÐÑ¡ÔñÐÔÏìÓ¦£ºµÍÆµÇøÃܼ¯£¬¸ßÆµÇøÏ¡Êè¡£MFCCͨ¹ýÒ»×éÈý½ÇÐδøÍ¨Â˲¨Æ÷À´Ä£ÄâÕâÖÖÉúÀí½á¹¹¡£

ÕâЩÂ˲¨Æ÷²¢·Ç¾ùÔÈ·Ö²¼£¬¶øÊǰ´ÕÕ÷¶û³ß¶ÈÅÅÁУº

$$ \text{Mel}(f) = 2595 \log_{10}\left(1 + \frac{f}{700}\right) $$

È»ºó½«¸ÃÓ³Éä·´Ïòת»»»ØHz£¬È·¶¨Ã¿¸öÂ˲¨Æ÷µÄÖÐÐÄÆµÂÊλÖã¬×îÖÕ¹¹½¨³öÒ»¸öµÍƵÃÜ¡¢¸ßƵÊèµÄÄÜÁ¿²É¼¯ÍøÂç¡£

ʵÏÖ·½Ê½Ö±¹Û¸ßЧ£º

fbank = create_mel_filterbank(fs=16000, nfft=512, nfilt=40)
filter_banks = np.dot(pow_frames, fbank.T)  # ¾ØÕó³Ë·¨¼ÓËÙ
filter_banks = 20 * np.log10(filter_banks + 1e-10)  # תdB£¬·Àlog(0)

ÕâÖÖ·½·¨µÄÓÅÊÆÔÚÓÚ£º

  • ×Ô¶¯¾Û½¹ÓÚÓïÒôµÄ¹Ø¼üƵ¶Î£¨Ô¼200¨C3500Hz£©
  • ºöÂÔÈ˶ú²»Ãô¸ÐµÄ¸ßƵÔëÉù¸ÉÈÅ
  • ´ó·ù½µµÍÊä³öά¶È£¨ÀýÈç´Ó257¸öƵµãѹËõµ½40ά£©

´ËÍ⣬¶ÔÊýѹËõ»¹ÆõºÏÁËÐÄÀíѧÖеÄΤ²®-·ÑÏ£Äɶ¨ÂÉ¡ª¡ª¼´È˶ú¶ÔÏì¶ÈµÄ¸ÐÖªÓëÉùÇ¿³Ê¶ÔÊý¹ØÏµ¡£ÕâÊÇÐÄÀíÉùѧÓ빤³Ìʵ¼ùµÄÒ»´ÎÍêÃÀ½áºÏ¡£

5. DCT ¡ª¡ª ÌáÈ¡¡°ÉùÒôÖ¸ÎÆ¡±

ÏÖÔÚÎÒÃÇÒѾ­µÃµ½ÁË40άµÄ¶ÔÊý÷¶ûÄÜÁ¿£¬µ«ÓÉÓÚÏàÁÚÂ˲¨Æ÷Ö®¼ä´æÔÚÖØµþ£¬ÕâЩά¶È¸ß¶ÈÏà¹Ø¡£ÄÜ·ñ½øÒ»²½Ñ¹ËõÈßÓàÐÅÏ¢£¿

µ±È»¿ÉÒÔ£¡ÕâʱÒýÈëÀëÉ¢ÓàÏұ任£¨DCT£©£¬½«Ïà¹ØÐÔÇ¿µÄ÷¶ûÄÜÁ¿×ª»»ÎªÒ»×éÏ໥¶ÀÁ¢µÄϵÊý¡£

ͨ³£Ö»±£Áôǰ12~13¸öDCTϵÊý£¬ÕâЩ¾ÍÊÇËùνµÄMFCCϵÊý£¬Ò²±»³Æ×÷¡°ÉùÒôµÄÖ¸ÎÆ¡±¡ª¡ªËüÃÇŨËõÁËÓïÒôÖÐ×î¾ß±æÊ¶¶ÈµÄÐÅÏ¢£¬Í¬Ê±ÌÞ³ýÁËÈßÓàºÍÔëÉù¡£

ÖÁ´Ë£¬MFCCÌØÕ÷ÌáÈ¡Íê³É¡£ÕâÌ×Á÷³Ì´ÓÔ¤¼ÓÖØµ½DCT£¬Ã¿Ò»²½¶¼ÔÚÏòÈËÀàÌý¾õϵͳ¿¿Â££¬Ê¹µÃ»úÆ÷²»½öÄÜ¡°Ìý¼û¡±ÉùÒô£¬¸üÄÜ¡°Ìý¶®¡±ÉùÒô¡£

½è¼øÀàËÆPCAµÄºËÐÄ˼Ï룬½«ÐźŵÄÄÜÁ¿¼¯ÖÐÌåÏÖÔÚǰ¼¸¸öϵÊýÉÏ£¬´Ó¶øÊµÏÖ½µÎ¬ÓëÌØÕ÷Ç¿»¯¡£¾­¹ýÕâÒ»´¦ÀíºóµÃµ½µÄ½á¹û±»³ÆÎª¡°µ¹Æ×¡±£¨Cepstrum£¬¼´spectrumµÄµ¹Ðò¶ÁÒô£©£¬¶øÆäÖеÄǰ12ÖÁ13¸öϵÊý£¬ÕýÊÇÎÒÃÇËùÐèµÄMFCCÌØÕ÷¡£

mfcc = dct(filter_banks, type=2, axis=1, norm='ortho')[:, :12]

¹ØÓÚµÚ0άϵÊý£¨C0£©µÄÈ¡ÉáÎÊÌâ

ÔÚʵ¼ÊÓ¦ÓÃÖдæÔÚÒ»¸öСÕùÒ飺ÊÇ·ñÓ¦±£ÁôMFCCÖеĵÚ0άϵÊý£¨C0£©£¿

  • C0·´Ó³µÄÊÇÓïÒôÖ¡µÄÕûÌåÄÜÁ¿Ë®Æ½£¬¿ÉÓÃÓÚ¼ì²â¾²Òô¶Î»òÅжÏÓïÒô»îÔ¾³Ì¶È£»
  • È»¶ø£¬ÔÚ²¿·ÖÈÎÎñÖУ¬¸Ãά¶È»áͨ¹ýµ¹Æ×¾ùÖµ¹éÒ»»¯£¨CMS£©±»È¥³ý£¬ÒÔÏ÷ÈõÒòÂó¿Ë·çÁéÃô¶È²îÒì´øÀ´µÄÉ豸ƫ²î¡£

½¨Òé×ö·¨ÊÇ£º±£ÁôC0£¬µ«¶ÔÆä½øÐжÀÁ¢´¦Àí£¬ÒÔ±ã¼æ¹ËÄÜÁ¿ÐÅÏ¢ÓëÉ豸³°ôÐÔ¡£

¦¤ Óë ¦¤¦¤£ºÎªÌØÕ÷×¢È붯̬ÐÅÏ¢

¾²Ì¬µÄMFCC½öÄ̻ܿ­Ä³Ò»Ê±¿ÌµÄÉùÒôÌØÐÔ£¬¶øÓïÑÔ±¾ÖÊÉÏÊÇÒ»ÖÖ¶¯Ì¬±í´ï¹ý³Ì¡ª¡ªÒôËØ¼äµÄ¹ý¶É¡¢Óïµ÷µÄ±ä»¯¡¢ÓïËٵĿìÂýµÈ¶¼Ô̺¬ÖØÒªÐÅÏ¢¡£Îª´Ë£¬ÒýÈëÁË£º

  • Ò»½×²î·Ö£¨Delta£©£ºÄ£ÄâÌØÕ÷ËæÊ±¼ä±ä»¯µÄ¡°ËÙ¶È¡±£»
  • ¶þ½×²î·Ö£¨Delta-Delta£©£ºÃèÊö±ä»¯µÄ¡°¼ÓËÙ¶È¡±¡£

ÆäʵÏÖ·½Ê½ÀàËÆÓÚ»¬¶¯´°¿ÚÄÚµÄÏßÐÔÄâºÏ£¬Í¨³£²ÉÓáÀ2Ö¡×÷Ϊ´°¿Ú·¶Î§£¬¼ÆËãÏàÁÚÖ¡Ö®¼äµÄбÂÊ¡£

def calculate_deltas(mfcc, window=2):
    denominator = sum(i*i for i in range(-window, window+1))
    delta = np.zeros_like(mfcc)
    for t in range(window, mfcc.shape[0]-window):
        for n in [-2,-1,0,1,2]:
            delta[t] += n * mfcc[t+n]
    return delta / denominator

×îÖÕ£¬½«Ô­Ê¼µÄ13ά¾²Ì¬MFCC¡¢13άDeltaºÍ13άDelta-DeltaÆ´½ÓÆðÀ´£¬¹¹³É¾­µäµÄ39Î¬ÌØÕ÷ÏòÁ¿¡£ÕâÖÖ×éºÏÒѳÉΪ´«Í³ÓïÒôʶ±ðϵͳÖÐ×î³£¼ûµÄÊäÈë¸ñʽ¡£

ʵս¾­Ñé·ÖÏí£º³£¼ûÏÝÚåÓëÓÅ»¯²ßÂÔ

ÀíÂÛ¿´ËÆÇåÎú£¬µ«ÔÚÕæÊµÏîÄ¿ÖÐÈÔÐèÃæ¶ÔÖî¶àÌôÕ½¡£ÒÔÏÂÊÇÎÒÔÚ¹¤³Ìʵ¼ùÖÐ×ܽá³öµÄ¹Ø¼üÒªµã£º

²ÎÊýµ÷ÓŲο¼±í

²ÎÊý ÍÆ¼öÖµ ˵Ã÷
²ÉÑùÂÊ ¡Ý16kHz µÍÓÚ8kHz»áµ¼Ö¸¨Òôϸ½Ú¶ªÊ§£¬Ó°Ïìʶ±ð¾«¶È
Ö¡³¤ 20~30ms ¹ý¶ÌÔòƵÂÊ·Ö±æÂʲ»×㣬¹ý³¤ÔòËðʧʱ¼äÃô¸ÐÐÔ
Â˲¨Æ÷ÊýÁ¿ 26~40 ÖÐÎij¡¾°½¨ÒéʹÓÃ32~40£¬Ó¢ÎÄ26ͨ³£ÒÑ×ã¹»
DCT½×Êý 12~13 ³¬¹ý15¿ÉÄÜÒýÈëÈßÓàÔëÉù£¬½µµÍ·º»¯ÄÜÁ¦

Ò×´íµãÌáÐÑ

  • Îñ±Ø¼ÓÈ뼫Сֵeps£¬·ÀÖ¹log(0)µ¼ÖÂÊýÖµÒì³££º
log(power + 1e-10)
  • ±ÜÃâÉèÖùý¶àµÄ÷¶ûÂ˲¨Æ÷£¬ÓÈÆäÔÚѵÁ·Êý¾ÝÓÐÏÞʱ£¬ÈÝÒ×Òý·¢¹ýÄâºÏ£»
  • ½÷É÷ÍêÈ«ÒÀÀµ¶Ëµ½¶ËÄ£ÐÍÌæ´ú´«Í³Á÷³Ì¡ª¡ª¾¡¹ÜWav2VecµÈ·½·¨±íÏÖÓÅÒ죬µ«ÔÚMCUµÈµÍ¹¦ºÄÉ豸ÉÏÄÑÒÔÔËÐУ»
  • ÔÚÔëÉù»·¾³Ï£¬ÍƼö½áºÏCMS£¨µ¹Æ×¾ùÖµ¹éÒ»»¯£©»òRASTAÂ˲¨¼¼Êõ£¬ÏÔÖøÌáÉýϵͳ³°ôÐÔ¡£

³£Óù¤¾ßÍÆ¼ö

ÎÞÐèÖØ¸´ÔìÂÖ×Ó£¬ÒÔϳÉÊì¿â¿É´ó·ùÌáÉý¿ª·¢Ð§ÂÊ£º

  • librosa.feature.mfcc()
    £ºPython»·¾³ÏÂÊ×Ñ¡£¬¾«¶È¸ß¡¢ÎĵµÍêÉÆ£»
  • Kaldi
    £º¹¤Òµ¼¶×Ô¶¯ÓïÒôʶ±ð¹¤¾ßÁ´£¬Ö§³Ö¶àÖÖMFCC±äÌ壻
  • speechpy
    £º×¨×¢ÓÚÓïÒôÌØÕ÷ÌáÈ¡£¬APIÉè¼Æ¼ò½àÓѺá£

MFCC vs Éî¶Èѧϰ£ºÎ´À´ÊôÓÚË­£¿

³£ÓÐÈËÌáÎÊ£º¡°Èç½ñÒÑÊÇ2025Ä꣬Transformer¶¼ÄÜÉú³É¸ßÖÊÁ¿ÓïÒôÁË£¬»¹ÐèÒªMFCCÂ𣿡±

ÎҵĴ𰸺ÜÃ÷È·£ºÐèÒª£¡ÓÈÆäÊÇÔÚÏÖʵӦÓó¡¾°ÖС£

ËäÈ»Éî¶ÈÄ£ÐÍÈçWav2Vec¡¢HuBERTÄܹ»Ö±½Ó´Óԭʼ²¨ÐÎÖÐÑ§Ï°ÌØÕ÷£¬Õ¹ÏÖ³öÇ¿´óÐÔÄÜ£¬µ«Ò²ÃæÁÙ¼¸¸ö¹Ø¼üÎÊÌ⣺

  • ѵÁ·³É±¾¼«¸ß£¬ÒÀÀµ´ó¹æÄ£±ê×¢Êý¾Ý£»
  • Ä£ÐÍΪºÚÏä½á¹¹£¬È±·¦¿É½âÊÍÐÔ£»
  • ¶Ô¼ÆËã×ÊÔ´ÒªÇó´ó£¬ÄÑÒÔ²¿ÊðÓÚ¶ú»ú¡¢ÖÇÄÜÊÖ±í»òIoTÉ豸¡£

Ïà±È֮ϣ¬MFCC¾ß±¸ÒÔÏÂÓÅÊÆ£º

  • ¼ÆË㿪ÏúС£¬¼¸Ê®ÐдúÂë¼´¿ÉʵÏÖ£»
  • Ã¿Ò»Î¬ÌØÕ÷¾ùÓÐÃ÷È·ÎïÀíÒâÒ壬±ãÓÚµ÷ÊÔÓë·ÖÎö£»
  • ÔÚ×ÊÔ´ÊÜÏÞÉ豸ÉÏÒÀÈ»±£³Ö¸ßЧÎȶ¨¡£

Òò´Ë£¬µ±Ç°´ó¶àÊýÁ¿²úÐÍÓïÒô²úÆ·ÈÔ²ÉÓÃǰ¶ËMFCC + ºó¶ËDNN/GMM/HMMµÄ»ìºÏ¼Ü¹¹¡£ÉõÖÁһЩ¶Ëµ½¶ËÄ£ÐÍ£¬ÆäÄÚ²¿Ò²ÒþʽµØÈÚÈëÁËÀàËÆÃ·¶ûÂ˲¨µÄ»úÖÆ¡ª¡ªÕâÕýÌåÏÖÁËÈËÀà¶ÔÌý¾õ¸ÐÖª¹æÂɵÄÉî¿ÌÀí½â£¬ÖµµÃÖ¾´¡£

½áÓ²»Ö¹ÓÚ¼¼Êõ£¬¸üÊǸÐÖªµÄÇÅÁº

MFCC±íÃæÉÏÖ»ÊÇÒ»¸öÉùÑ§ÌØÕ÷ÌáÈ¡·½·¨£¬ÊµÔòÄý¾ÛÁ˼¸Ê®ÄêÀ´ÐÄÀíÉùѧ¡¢ÐźŴ¦ÀíÓ빤³Ìʵ¼ùµÄÖǻ۽ᾧ¡£Ëü´«µÝÁËÒ»¸öÉî¿ÌµÄÆôʾ£º

ÓÅÐãµÄAI£¬²»ÔÚÓÚ¸´ÖÆÊý¾Ý£¬¶øÔÚÓÚÀí½âÈËÀàÈçºÎ¸ÐÖªÊÀ½ç¡£

µ±Ï´ÎÄ㻽ÐÑÊÖ»ú˵³ö¡°ºÙ Siri¡±Ê±£¬²»·ÁÏëÒ»Ï롪¡ªÄÇһ˲¼ä£¬±³ºóÓжàÉÙ¿ÆÑ§Ô­ÀíÕýÔÚÎÞÉùЭ×÷£¿

»òÐíÖÕÓÐÒ»Ì죬MFCC»á±»¸üÏȽøµÄÄ£ÐÍËùÈ¡´ú¡£µ«ÔÚÄÇÒ»Ììµ½À´Ö®Ç°£¬ËüÒÀÈ»ÊÇÁ¬½ÓÉù²¨ÓëÓïÒåÖ®¼ä×îÓÅÑŵÄÇÅÁºÖ®Ò»¡£

¡°¼¼ÊõµÄ¼ÛÖµ£¬²»ÔÚÓÚ¶àô¸´ÔÓ£¬¶øÔÚÓÚ¶àôÌù½üÈËÐÄ¡£¡±

¡ª¡ª ÖÂËùÓÐÖÂÁ¦ÓÚÈûúÆ÷ѧ»áÇãÌýµÄÈË

¶þάÂë

ɨÂë¼ÓÎÒ À­ÄãÈëȺ

Çë×¢Ã÷£ºÐÕÃû-¹«Ë¾-ְλ

ÒÔ±ãÉóºË½øÈº×ʸñ£¬Î´×¢Ã÷Ôò¾Ü¾ø

¹Ø¼ü´Ê£ºMFC calculate transform EMPHASIS absolute

ÄúÐèÒªµÇ¼ºó²Å¿ÉÒÔ»ØÌû µÇ¼ | ÎÒҪע²á

±¾°æÎ¢ÐÅȺ
jg-xs1
À­Äú½ø½»Á÷Ⱥ
GMT+8, 2025-12-5 17:01