Twilio TTS直接转AIFF还是MP3?

时间:2012-03-14 21:23:02

标签: php python ruby-on-rails text-to-speech twilio

我想将Twilio的一些演讲直接发送到MP3或AIFF等。到目前为止,我一直在Mac OS X上使用环回,因为我一般不得不使用Skype和设置一些东西来预先录制录音。

所以,我正在寻找一种方法,在没有任何质量下降的情况下,从Twilio文本到语音转换到音频文件输出,如果可能的话,下载。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

来自Twilio的Rob。

感谢您为尝试录制Twilio Say Verb(又名文字转语音)的输出提供更多颜色。如果您只是想要一些高质量的计算机化语音录音,可以使用一些更简单的选项,例如TTS-APIiSpeech

但是,如果你正在寻找一个快速的黑客,以确切地听到你的用户将从你的动词中无损地听到什么,这里有一个利用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时对可选参数进行一些创造性的争论时,绝对可以生成您要查找的文件。

希望这有帮助!