음성 스케줄러 및 축제 음성 구성 문제

음성 스케줄러 및 축제 음성 구성 문제

Festival드디어 미국 HTS 사운드인 ,,,,,,,를 사용하기 시작했습니다 cmu_us_awb_cg.cmu_us_jmk_cgcmu_us_slt_cgcmu_us_bdl_cgcmu_us_clb_cgcmu_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다음 단계를 참조하세요.

  1. 페스티벌/사운드 폴더로 이동
  2. 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.")))
      
  3. /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)와 같은 다른 프로그램을 사용하여 몇 가지 테스트를 수행하여 나열된 사운드 중 하나를 사용할 수 있는지 확인했습니다.

관련 정보