Google文字转语音-mp3输出中缺少SSML

时间:2019-01-18 14:51:16

标签: google-text-to-speech

在将base 64输出从Google Text转换为Speech转换为MP3文件时,Am遇到SSML标签被“丢弃”的问题。

平台是OSX 10.12.6。

我的语法似乎不错,并且可以与其他服务一起测试正常,但是,当我通过终端将其转换时,它将删除所有的SSML。

过去8个小时一直在尝试各种不同的事情!

我对API的调用是:

curl -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
  -H "Content-Type: application/json; charset=utf-8" \
  --data "{
    'input':{
      'ssml':'<speak>
First sentence<break time="3s"/>
Second sentence <break time="300ms"/><say-as interpret-as="date" format="yyyy" detail="1">1919</say-as><break time="2s"/>
Third sentence <say-as interpret-as="characters">send</say-as> <break time="300ms"/><say-as interpret-as="date" format="yyyy" detail="1">2016</say-as><break time="2s"/>
Fourth sentence <say-as interpret-as="cardinal">10456</say-as> <break time="300ms"/><say-as interpret-as="date" format="yyyy" detail="1">2017</say-as><break time="2s"/>
Fifth sentence <say-as interpret-as="unit">10 foot</say-as> <break time="300ms"/><say-as interpret-as="time" format="hms12">3:30am</say-as><break time="2s"/>
</speak>'
    },
    'voice':{
      'languageCode':'en-gb',
      'name':'en-GB-Wavenet-A',
      'ssmlGender':'FEMALE'
    },
    'audioConfig':{
      'audioEncoding':'MP3',
      'pitch': '0',
      'speakingRate': '0.90'
    }
  }" "https://texttospeech.googleapis.com/v1/text:synthesize" > complex-test.txt

然后使用以下命令将输出转换为MP3:

sed 's|audioContent| |' < complex-test.txt > tmp-output.txt && \
tr -d '\n ":{}' < tmp-output.txt > tmp-output-2.txt && \
base64 tmp-output-2.txt --decode > complex-test.mp3 && \
rm tmp-output*.txt

输出只是一声快速的口语曲目,没有间断,并且没有SSML标签起作用。

感谢任何新想法!

非常感谢。

0 个答案:

没有答案