我想将Twilio的一些演讲直接发送到MP3或AIFF等。到目前为止,我一直在Mac OS X上使用环回,因为我一般不得不使用Skype和设置一些东西来预先录制录音。
所以,我正在寻找一种方法,在没有任何质量下降的情况下,从Twilio文本到语音转换到音频文件输出,如果可能的话,下载。有什么想法吗?
答案 0 :(得分:0)
来自Twilio的Rob。
感谢您为尝试录制Twilio Say Verb(又名文字转语音)的输出提供更多颜色。如果您只是想要一些高质量的计算机化语音录音,可以使用一些更简单的选项,例如TTS-API或iSpeech。
但是,如果你正在寻找一个快速的黑客,以确切地听到你的用户将从你的动词中无损地听到什么,这里有一个利用the parameter Record=true
的方法。
第1步
创建一个TwiML文档,其中包含您要捕获的文本的<Say>
动词。
<Response>
<Say voice="alice">I am totally going to capture this text in a robot voice.</Say>
</Response>
请务必将此文档存放在可公开访问的位置(例如a twimlbin like this)。
第2步 创建一个端点来捕获Twilio将为您提供的RecordingUrl。以下是记录收到的RecordingUrl的Python Flask app的一个简单示例。
from flask import Flask
from flask import request
app = Flask(__name__)
@app.route('/recordingHandler', methods=['POST'])
def recording_handler():
if request.form.get('RecordingUrl'):
app.logger.info("New recording: %s" % request.form['RecordingUrl'])
return "Recording Url logged."
if __name__ == "__main__":
app.debug = True
app.run(host='0.0.0.0', port=5000)
第3步 创建对手机的调用,执行要记录的TwiML文档集。这是Python中的一个例子。
from twilio.rest import TwilioRestClient
ACCOUNT_SID = "ACxxxxxxxxxx"
AUTH_TOKEN = "yyyyyyyyyyyyy"
client = TwilioRestClient(ACCOUNT_SID, AUTH_TOKEN)
client.calls.create(from_="[INSERT TWILIO PHONE NUMBER]",
to="[INSERT YOUR PHONE NUMBER]",
url="[LINK TO TWIML DOCUMENT IN STEP 1]",
status_callback="[LINK TO RECORDING HANDLER IN STEP 2]")
第4步 接听来电,收听TTS并允许呼叫自行挂断。然后检查您在步骤2中创建的处理程序的输出,以获得指向您的清晰mp3的链接。
显然,这对于获得你正在寻找的东西来说是一个黑客攻击,并且有比使用Twilio更容易,更便宜和更高保真的合成语音方式。但是,在creating a call using the Twilio REST API时对可选参数进行一些创造性的争论时,绝对可以生成您要查找的文件。
希望这有帮助!