Twilio TTS напрямую в AIFF или MP3? - PullRequest
1 голос
/ 15 марта 2012

Я хотел бы поговорить с Twilio напрямую в MP3 или AIFF и т. Д. До сих пор я использовал loopback на Mac OS X, что является некоторой болью в тылу, поскольку я обычно использую Skype иустановите несколько вещей для предварительной записи.

Итак, я ищу способ без какого-либо ухудшения качества перейти от преобразования текста в речь Twilio к выводу аудиофайла для загрузки, если это вообще возможно.Есть идеи?

1 Ответ

0 голосов
/ 14 января 2014

Роб из Twilio здесь.

Спасибо за то, что предоставили немного больше цвета для вашей попытки записать вывод из глагола Twilio Say (также называемого преобразованием текста в речь). Если вам нужна высококачественная запись компьютерной речи, есть несколько более простых вариантов, например TTS-API или iSpeech .

Но, если вы ищете быстрый взлом, чтобы точно услышать то, что ваши пользователи услышат без потерь от ваших глаголов Say, вот один метод, использующий параметр Record=true.

Шаг 1 Создайте документ TwiML с <Say> глаголом текста, который вы пытаетесь захватить.

<Response>
  <Say voice="alice">I am totally going to capture this text in a robot voice.</Say>
</Response>

Обязательно разместите этот документ в общедоступном месте (например, , например, ).

Шаг 2 Создайте конечную точку для захвата RecordingUrl, который вам даст Twilio. Вот один быстрый пример приложения Python Flask , которое регистрирует полученный 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. Но при некотором творческом споре необязательных параметров при создании вызова с использованием Twilio REST API искомые файлы могут быть сгенерированы абсолютно точно.

Надеюсь, это поможет!

...