2012-03-14 34 views
1

我想直接從Twilio發表一些演講給MP3或AIFF等等。迄今爲止,我一直在使用Mac OS X上的環回功能,這在背後很痛苦,因爲我通常不得不使用Skype並設置一些事情要做好錄音。Twilio TTS直接到AIFF或MP3?

所以,我正在尋找一種方式,沒有任何質量下降,如果可能的話,從Twilio文本到語音轉換爲音頻文件輸出下載。有任何想法嗎?

+0

你也許可以使用Record = true啓用外撥電話一起破解這個,但它會非常不可靠。 – 2012-03-14 21:38:28

+0

儘管是正確的,但它仍然是有損質量的,因爲它會穿過voip conn,我猜想。 – ylluminate 2012-03-14 21:41:17

+0

我從來沒有嘗試過,所以我不確定,但錄音全部發生在通話的同一側。該系統並不是一個通用的TTS引擎。你試圖解決什麼問題? – 2012-03-14 21:48:07

回答

0

來自Twilio的Rob在這裏。

感謝您爲嘗試錄製Twilio Say Verb(又名文字轉語音)輸出提供更多顏色。如果您只是在尋找一些高質量的電腦語音錄音,可以使用一些更簡單的選項,如TTS-APIiSpeech

但是,如果您正在尋找一種快速入侵方式,以準確地聽到您的用戶會從您的Say動詞中無損地聽到什麼,這裏有一種方法利用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。下面是Python Flask app的一個簡單例子,它記錄了收到的RecordingUrl。

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有一些創意性的可選參數爭執時,您正在尋找的文件可以絕對生成。

希望這會有所幫助!

+0

TTS-API已經停機了幾天(至少是託管MP3文件的部分) - 希望它不會永久死機。 – Matt 2015-05-19 18:24:43