ºìÁªLinuxÃÅ»§
Linux°ïÖú
µ±Ç°Î»ÖÃ: ºìÁªLinuxÃÅ»§ > Ubuntu

Ubuntu Ö®Íæ×ªÓïÒôºÏ³É£¨Festival£©

·¢²¼Ê±¼ä:2008-02-15 16:25:01À´Ô´:ºìÁª×÷Õß:uxwoldsh
Ò²ÐíÒѾ­ÓÐÒ»²¿·ÖÈËÔç¾ÍÖªµÀ Festival Õâ¸öÓïÒôºÏ³ÉÈí¼þ£¬Ò²¾ÍÊÇËùνµÄ TTS (text to speech)¡£²»¹ýÍøÉÏÏà¹ØµÄ°²×°×ÊÁÏ´óͬСÒ죬»ù±¾ÉÏÊÇÔÚ Gentoo Éϰ²×°µÄÐĵá£ÎÒ·¢ÏÖ Ubuntu Ö»ÓÐ Festival£¬¶øÃ»ÓÐÏà¹ØµÄ speechd Èí¼þ¡£ÎÒ¾­¹ýÒ»ÍíÉϵÄ̽Ë÷£¬ÖÕÓÚ¿ÉÒÔ°ÑÕâ¸ö Festival Íæ×ªÆðÀ´£¬¶øÇÒÓÐÁËһЩ±È½ÏºÃµÄЧ¹û£¬ÏÂÃæ¹²Ïí×Ô¼ºµÄ¾­Ñé³öÀ´¡£

°²×°»ù±¾ÉÏ Ubuntu µÄ¿âÀï¾ÍÓÐ Festival Èí¼þ¡£
$sudo apt-get install festival
ʹÓÃFestival µÄ»ù±¾Ó÷¨£º
½»»¥Ä£Ê½£ºÖ±½ÓÊäÈë festival ½øÈëËüµÄÃüÁîÐнçÃæ¡£

$festival
festival 〉 (SayText ¡± hello , festival is coming ¡°)
festival 〉 (tts myfile)

µÚ¶þÐÐÊǶÁÈ¡ myfile ÎļþÀïµÄÄÚÈÝ¡£
ÃüÁîÐÐģʽ£º
$festival -tts myfileÖ±½Ó¶ÁÈ¡ myfile ÀïµÄÄÚÈÝ¡£
$ echo ¡°hello , festival is coming ¡± | festival -tts

¶ÁÈ¡×Ö·û´®¡£

ÅäÖÃFestival ĬÈÏÓõÄÊÇ oss£¬ÔÚһЩϵͳ»á¶ÀÕ¼ÒôƵ¡£ÕâÀïÎÒÃǽ«ÅäÖóÉʹÓà alsa ·¢Òô¡£
н¨Îļþ ~/.festivalrc £¬ ÊäÈëÒÔÏÂÄÚÈÝ:

(Parameter.set ¡®Audio_Command ¡°aplay -q -c 1 -t raw -f s16 -r $SR $FILE¡±)
(Parameter.set ¡®Audio_Method ¡®Audio_Command)

Èç¹ûÏëÌá¸ßÒôÁ¿£¬¿ÉÌí¼Ó£º

(set! default_after_synth_hooks
(list (lambda (utt) (utt.wave.rescale utt 1.6 t))))

ÖÁ´Ë festival Ó¦¸Ã±È½ÏºÃµÄ¹¤×÷ÁË¡£ÔÚ¼¯³ÉÉù¿¨Öлá³öÏÖÒôËÙ¹ý¿ìµÄÎÊÌâ¡£

ÎÒÕÒµ½ÁËÈçºÎ½«ÓïËÙ»Ö¸´Õý³£µÄ·½·¨¡£

Ö÷ÒªÊǼ¯³ÉÔÚÖ÷°åÉϵÄÉù¿¨»á³öÏÖÓïËÙ¹ý¿ìµÄÎÊÌ⣬½â¾ö·½Ê½ÊÇ£º

ÔÚ /usr/lib/festival/ Ŀ¼Ï´´½¨Ò»¸öÎļþ siteinit.scm£¬ÄÚÈÝÈçÏ£º

(Parameter.set ¡®Audio_Method ¡®Audio_Command)
(Parameter.set ¡®Audio_Command ¡°sox -t raw -sw -r $SR $FILE -c2 -t ossdsp /dev/dsp¡±)

Õâ¸ö²ÎÊýдÔÚ ~/.festivalrc ÉÏÒ²ÊÇÓÐЧµÄ¡£²»¹ý¾ÍºÍÇ°ÃæÎÒÉèÖÃÓà alsa ·¢ÒôµÄÉèÖóåÍ»ÁË¡£ÄǸö alsa µÄÉèÖúÃÏñÒ²ÄܰÑÓïËÙ¼õÂýÒ»µã°É¡£ÎÒÕâÀïÌṩ·½·¨¡£Äã×Ô¼º¿´×ÅÑ¡ÔñÁË¡£

°²×°ÐÂÓïÒôÕⲿ·Ö²ÅÊÇÎÒд´ËÎÄÕµÄÖØÒªÄ¿µÄ¡£ÒòΪÔÚ Gentoo µÄÌû×Ó£¬°²×°Ò»¸öеÄÅ®Éù£¬Ö»ÐèÒª emerge mbrola¡£¶øÔÚ Ubuntu µÄ¿âÖв¢Ã»ÓÐÊÕ¼´Ë°ü¡££¨Ò²ÐíÊÇÎÒ²»ÖªµÀ£¬Ë­ÖªµÀ¸æËßÎÒ£©ÁíÒ»¸öÔ­ÒòÊÇ£¬Ä¬ÈϵÄÃÀ¹úÄÐÉùËÆºõÓÐЩº¬ºý²»Çå¡£ËùÒÔÎÒÕÒÁË mbrola µÄÅ®ÉùÀ´°²×°£¨×¢Ò⣬²»µÃÓÃÓÚÉÌÒµÓÃ;£¬Ëû˵µÄ£©¡£

ÊÖ¶¯°²×° festival mbrola µÄÐÅÏ¢¡£

°²×° festival voice wrapper (Õâ¸öÕ¦·­ÒëżÄò»×¼£©ÏÂÔØ festvox_us1.tar.gz£¬°ÑËü½âѹµ½ festival µÄ°²×°Ä¿Â¼Ï£¬Ubuntu ÏÂΪ /usr/share/festival¡£

»ñÈ¡ MBROLA ÉùÒôÎļþºÍËüµÄÖ´ÐÐÎļþÌøµ½ http://tcts.fpms.ac.be/synthesis/mbrola.html £¬µã»÷ download£¬ÏÂÔØ MBROLA binary ºÍÄãÐèÒªµÄÉùÒôÎļþ¡£ÕâÀïÑ¡ÔñÃÀ¹úÓ¢ÓïÅ®Éù£¨for us1£©¡£

°²×° MBROLA binary£¬ÕâÀïÄãÓ¦¸ÃÏÂÔØµ½Ò»¸öÃûΪ mbr301h.zip µÄÎļþ¡£½âѹºó°ÑÆäÖÐÃûΪ mbrola-linux-i386 µÄÎļþ¸ÄÃûΪ mbrola£¬ÔÙ¸´ÖƵ½ /usr/local/bin Ŀ¼ÖС£

°²×°ÉùÒôÎļþ£¬ÕâÀïÄãÏÂÔØµ½µÄÉùÒôÎļþµÄÎļþÃûÓ¦¸ÃÀàËÆ us1-980512.zip£¬°ÑËü½âѹµ½

[festival_install_dir]/festival/lib/voices/english/us1_mbrola
[festival_install_dir]Ϊ festival µÄ°²×°Ä¿Â¼¡£ÔÚ Ubuntu ÏÂӦΪ /usr/share/festival¡£

²âÊÔеÄÉùÒôÔÚÖ´ÐÐÍêÉÏÃæ²½ÖèºóеÄÃÀ¹úÓ¢ÓïÅ®ÉùÓ¦¸Ã°²×°Íê±Ï¡£½øÈë festival ÃüÁîÐвâÊÔһϣº

festival) (voice_us1_mbrola)
festival) (SayText ¡± hello , american english female voice is coming¡±)

ÔÚÕâÀïÄãÓ¦¸ÃÌýµ½ÓÅÃÀµÄÃÀ¹úÓ¢ÓïÅ®ÉùÁ˰ɡ£
¸ü»»Ä¬ÈÏÉùÒôÈç¹ûÏë°ÑÉÏÃæµÄÅ®Éù±ä³ÉĬÈϵÄÉùÒô£¬ÇëÔÚ ~/.festivalrc ÎļþÖÐÌí¼Ó£º

(set! voice_default ¡®voice_us1_mbrola)

µ½ÕâÀï±È½ÏÍêÃÀÁ˰ɡ£

ÆäËüÍæ·¨µ±È»Äã»áÒòΪһʱºÃÆæ¶ø×°Ëü¡£²»¹ý¹ýÒ»»áÖ®ºó¾Í»áÏëËü»áÓÐʲôÓÃÄØ£¿ÎÒÕâÀïÌṩ×Ô¼ºµÄÒ»Ð©Íæ·¨¡£

¼¯³É´Êµä·¢ÒôÔÚÎÒ֮ǰµÄ vim ¼¼ÇÉÖÐÓÐÌáµ½¹ý sdcv Õâ¸ö´Êµä·­ÒëÈí¼þ¡£ËüÊÇÐǼÊÒëÍõµÄÃüÁîÐа汾¡£×Ô´ÓÓÐÁËËüÖ®ºóÎÒ¾ÍÔÙҲûÓдò¿ª¹ýÐǼÊÒëÍõÁË¡£ÒòΪÓÐÐèÒª¾ÍÖ±½Ó sdcv ¡°word¡± ¾ÍÐÐÁË¡£µ±È»Ä¬ÈÏËüÊÇûÓн«µ¥´ÊµÄ¶ÁÒô¶Á³öÀ´µÄ¡£ÐǼÊÒëÍõÒ²Óиö 100 ¶à M µÄÓïÒô¿â£¬µ«ÄǸö¿âÊÇÒ»¸öµ¥´ÊÒ»¸öÎļþ¡£Ö»ÄܶÁ¿âÀïÓÐÓïÒôÎļþµÄµ¥´Ê¡£ËùÒÔÎÒÃÇ¿ÉÒÔд¸ö½Å±¾£¬Èà sdcv ºÍ festival °ó¶¨£¬ÕâÑùѧϰӢÓïÀ´²»ÊǸüÐÎÏóÂï¡£

$cat dict
#!/bin/sh

echo ¡°$1 ¡± |festival -tts >/dev/null 2>&1 &
sdcv -n $1

ʹÓà dict ´úÌæ sdcv£¬²éѯµÄµ¥´ÊÎÞÂÛÔõÑù¶¼»áÓжÁÒô¡£

¶ÁÖÐÎÄÄãÔÚ¿ªÍæÐ¦°É¡£Êǵ쬻ù±¾ÉÏÊǸöÍæÐ¦¡£ÖÐÎÄÓïÒôºÏ³É¹úÄÚ 863 ºÃÏóÓÐÏîÄ¿¡£²»¹ýËÆºõûÓиø¹«¹²Æ½Ì¨ÌṩʲôÈí¼þ½Ó¿Ú¡£ÕâÀïÄã¿ÉÒÔÈà festival ¶ÁÖÐÎÄÆ´Òô£¬ÓÐÍâ¹úÈ˶ÁÖÐÎĵÄζµÀ¡££¨linuxsirÉϵÄÍøÓÑ·¢Ïֵģ©

$echo ¡°ni hao, huan yin lai dao linux¡± |festival -tts

¶ÁÎÄÕÂÓÃËüÀ´¶ÁÓ¢ÎÄÎÄÕ¡£µ«ÎÒÏ룬¶ÔÓÚÎÒÕâ³Ì¶È£¬´ó¸Å»á°ÑÎұƷ衣
µ±È»Èç¹ûÄ㻹ÓÐʲôºÃµÄÖ÷Ò⣬»¶Ó­¸æËßÎÒ¡£

ºó¼Ç£ºÒÔÉÏÄÚÈݲ¿·Ö²Î¿¼ Gengoo ÀïµÄ HOWTO£¬¶ÔÓÚתÌùÎҺܻ¶Ó­£¬µ«Ï£ÍûÄܱ£Áôԭʼ³ö´¦¡£ÉÏÃæÌáµ½µÄÏÂÔØ mbrola ÎļþµÄÍøÕ¾ÎÒÓôúÀí²ÅÄÜÉÏ¡£ÎªÃâ´ó¼ÒÏÂÔØÂé·³£¬ÎÒ°ÑÏÂÔØµÄÈý¸öÎļþ´òºÃ°üÁË¡£

£¨ÎÄlerosua£©
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 0 ÌõÆÀÂÛ