在将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标签起作用。
感谢任何新想法!
非常感谢。