드디어 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
. 아래 단계를 참조하십시오:
- festival/voices 폴더로 이동
- 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>)
- 페스티벌 서버를 다시 시작하거나 우분투를 재부팅하세요. 기본 음성은 명령이나 Firefox를 통해 새로운 음성으로 변경됩니다
spd-say
.
답변2
speech-dispatcher
에서 페스티벌의 기본 음성을 허용하지 않고 자체 설정을 사용하려고 하기 때문에 문제가 발생할 수 있습니다 .
DefaultVoiceType
주석을 제거하고 다음과 같이 변경해 보세요 .
DefaultVoiceType "FEMALE1"
또한 Firefox의 리더 모드(ALT+CTRL+R)와 같은 다른 프로그램을 사용하여 몇 가지 테스트를 수행하고 나열된 음성 중 작동하는 것이 있는지 확인합니다.