Festival
드디어 미국 HTS 사운드인 ,,,,,,,를 사용하기 시작했습니다 cmu_us_awb_cg
.cmu_us_jmk_cg
cmu_us_slt_cg
cmu_us_bdl_cg
cmu_us_clb_cg
cmu_us_rms_cg
festival.scm
음성을 사용하도록 수동으로 구성했습니다 bdl
.
(set! voice_default 'voice_cmu_us_bdl_cg)
이제 대화형 환경 festival
과 서버( )에서 실행될 때 모두 festival --server
잘 작동합니다 .
nc localhost 1314 <<< "(tts_text \"Hello big world, this is a test.\" nil)(quit)"
그런 다음 음성 스케줄러를 구성했는데 자체적으로 올바르게 구성되지 못했지만 spd-conf
구성 파일을 수동으로 수정했습니다 speechd
. 그것들을 추가하세요:
LogLevel 3
LogDir "default"
DefaultRate 5
DefaultVolume 100
DefaultLanguage "en"
DefaultPunctuationMode "all"
AudioOutputMethod "alsa"
AudioALSADevice "default"
AddModule "festival" "sd_festival" "festival.conf"
AddModule "dummy" "sd_dummy" ""
DefaultModule festival
LanguageDefaultModule "en" "festival"
Include "clients/*.conf"
이제 ALSA 테스트가 제대로 작동합니다(소리 생성). 하지만 다음 주소로 문자 메시지를 보낼 때 speech-dispatcher
:
spd-say "Hello big world, this is a test."
... festival
서버는 성공하지 못한 채 생각할 수 있는 모든 사운드를 시도하는 것처럼 미쳐갑니다.
SIOD: unknown voice cmu_us_ahw_cg
SIOD: unknown voice cmu_us_ahw_cg
SIOD: unknown voice cmu_us_aup_cg
SIOD: unknown voice cmu_us_aup_cg
SIOD: unknown voice cmu_us_awb_cg
SIOD: unknown voice cmu_us_awb_cg
SIOD: unknown voice cmu_us_axb_cg
SIOD: unknown voice cmu_us_axb_cg
SIOD: unknown voice cmu_us_bdl_cg
SIOD: unknown voice cmu_us_bdl_cg
SIOD ERROR: could not open file /usr/share/festival/dicts/oald/oaldlex.scm
closing a file left open: /usr/share/festival/voices/english/rab_diphone/festvox/rab_diphone.scm
SIOD: unknown voice rab_diphone
SIOD ERROR: could not open file /usr/share/festival/dicts/oald/oaldlex.scm
closing a file left open: /usr/share/festival/voices/english/rab_diphone/festvox/rab_diphone.scm
SIOD: unknown voice rab_diphone
SIOD: unknown voice cmu_us_kal_com_hts
SIOD: unknown voice cmu_us_kal_com_hts
SIOD: unknown voice cstr_us_ked_timit_hts
SIOD: unknown voice cstr_us_ked_timit_hts
SIOD: unknown voice cmu_us_slt_cg
SIOD: unknown voice cmu_us_slt_cg
SIOD: unknown voice cmu_us_rms_cg
SIOD: unknown voice cmu_us_rms_cg
SIOD: unknown voice cmu_us_awb_cg
SIOD: unknown voice cmu_us_awb_cg
SIOD: unknown voice cmu_us_bdl_cg
SIOD: unknown voice cmu_us_bdl_cg
SIOD ERROR: ran out of storage
closing a file left open: /usr/share/festival/voices/us/cmu_us_clb_cg//rf_models/trees_08/cmu_us_clb_mcep.tree
SIOD: unknown voice cmu_us_clb_cg
SIOD ERROR: ran out of storage
closing a file left open: /usr/share/festival/voices/us/cmu_us_clb_cg//festival/trees/cmu_us_clb_mcep.tree
SIOD: unknown voice cmu_us_clb_cg
client(10) Mon Mar 16 22:10:26 2020 : accepted from localhost
SIOD: unknown voice cmu_us_ahw_cg
SIOD: unknown voice cmu_us_aup_cg
SIOD: unknown voice cmu_us_awb_cg
SIOD: unknown voice cmu_us_axb_cg
SIOD: unknown voice cmu_us_bdl_cg
SIOD ERROR: could not open file /usr/share/festival/dicts/oald/oaldlex.scm
closing a file left open: /usr/share/festival/voices/english/rab_diphone/festvox/rab_diphone.scm
SIOD: unknown voice rab_diphone
SIOD: unknown voice cmu_us_kal_com_hts
SIOD: unknown voice cstr_us_ked_timit_hts
SIOD: unknown voice cmu_us_slt_cg
SIOD: unknown voice cmu_us_rms_cg
SIOD: unknown voice cmu_us_awb_cg
SIOD: unknown voice cmu_us_bdl_cg
SIOD ERROR: ran out of storage
closing a file left open: /usr/share/festival/voices/us/cmu_us_clb_cg//rf_models/trees_08/cmu_us_clb_mcep.tree
SIOD: unknown voice cmu_us_clb_cg
SIOD ERROR: ran out of storage
closing a file left open: /usr/share/festival/voices/us/cmu_us_jmk_cg//festival/trees/cmu_us_jmk_mcep.tree
SIOD: unknown voice cmu_us_jmk_cg
SIOD: unknown voice cmu_us_ahw_cg
SIOD: unknown voice cmu_us_ahw_cg
SIOD: unknown voice cmu_us_aup_cg
SIOD: unknown voice cmu_us_aup_cg
SIOD: unknown voice cmu_us_awb_cg
SIOD: unknown voice cmu_us_awb_cg
따라서 페스티벌이 실행 중이고 ALSA에 대한 연결이 작동 중이며 음성 스케줄러가 페스티벌에 무언가를 보내고 있지만 어떻게든 손상되었거나 음성 설정이 잘못되었을 수 있습니다.
/etc/speech-dispatcher/modules/
폴더에는 페스티벌 모듈에 대한 구성 파일도 있지만 festival.conf
실제로는 비어 있고(댓글 텍스트가 많음) speech-dispatcher
호출 시 설정되는 사운드 에 대한 언급이 없습니다 Festival
. 나는 특히 다음의 댓글 때문에 이것이 설정될 수 있는 장소라고 생각합니다 speechd.conf
.
DefaultVoiceType은 기본적으로 사용해야 하는 음성 유형을 제어합니다. 보이스 유형은 출력 모듈 구성을 기반으로 신디사이저가 제공하는 특정 보이스에 매핑되는 기호 이름입니다. 다른 기호 이름에 할당된 사운드를 확인하려면 etc/speech-dispatcher/modules/의 신디사이저 관련 구성을 참조하세요. 현재 지원되는 기호 이름은 MALE1, MALE2, MALE3, FEMALE1, FEMALE2, FEMALE3, CHILD_MALE, CHILD_FEMALE입니다.
#기본 음성 유형 "MALE1"
또한 (다른 토론의 일부 게시물에 따라) 힙 크기를 50M로 늘리려고 시도했지만 도움이 되지 않았습니다.
festival --server --heap 50000000
나도 똑같은 이상한 오류가 발생했습니다. 어떤 제안이라도 감사하겠습니다.
답변1
이 문제를 해결하려면 파일 (proclaim_voice
에 정의해야 합니다. scm
다음 단계를 참조하세요.
- 페스티벌/사운드 폴더로 이동
- SCM 파일 편집
- 열려 있는:
vim us/cmu_us_clb_arctic_clunits/festvox/cmu_us_clb_arctic_clunits.scm #<--voice clunits.scm
- 파일 맨 아래로 이동하기 전에 줄 추가
(provide 'cmu_us_clb_arctic_clunits)
- 다음을 추가하세요(필요에 따라 언어, 성별, 방언을 업데이트하세요). 업데이트하고 저장하고 종료합니다.
(proclaim_voice 'cmu_us_clb_arctic_clunits '((language english) (gender female) (dialect american) (description "This voice provides an American English male voice using a residual excited LPC diphone synthesis method. It uses the CMU Lexicon pronunciations. Prosodic phrasing is provided by a statistically trained model using part of speech and local distribution of breaks. Intonation is provided by a CART tree predicting ToBI accents and an F0 contour generated from a model trained from natural speech. The duration model is also trained from data using a CART tree.")))
- 열려 있는:
/usr/bin/festival --server
오류는 다음 후에 사라져야 합니다.
세부 정보를 표시하기 위해 실행할 수도 있습니다 spd-say -L
.
기본 공휴일 음성을 업데이트해야 하는 경우:
/etc/festival.scm
추가하려면 수정하세요 .(set! voice_default 'voice_<You prefered Voice name>)
- Festival 서버를 다시 시작하거나 우분투를 다시 시작하세요. 기본 음성은
spd-say
명령을 통해 또는 Firefox에서 새 음성으로 변경됩니다 .
답변2
문제는 speech-dispatcher
페스티벌의 기본 사운드를 받아들이지 않고 대신 자체 설정을 사용하려고 한다는 것일 수 있습니다.
DefaultVoiceType
주석을 해제하고 다음과 같이 변경해 보세요 .
DefaultVoiceType "FEMALE1"
또한 Firefox의 리더 모드(ALT+CTRL+R)와 같은 다른 프로그램을 사용하여 몇 가지 테스트를 수행하여 나열된 사운드 중 하나를 사용할 수 있는지 확인했습니다.