步骤 1. 在服务器上托管 MaryTTS
我编写了marytts-http来包装 MaryTTS,因此很容易部署到 Heroku,尽管您也可以将它部署到其他服务器。
首先你需要一个 Heroku 帐户,然后安装他们的toolbelt并运行heroku login
.
之后,您可以marytts-http
像这样部署到 Heroku:
git clone https://github.com/draffensperger/marytts-http
cd marytts-http
heroku create
git push heroku master
步骤 2. 在您的网站中使用您托管的 MaryTTS 实例
Heroku 将为marytts-http
您在上面创建的实例命名,稍后您可以在 Heroku 仪表板上更改该名称。假设您的实例名称是my-marytts
,那么获取文本转语音音频文件的 URL 将是my-marytts.herokuapp.com/?text=Hello
(只需指定text
查询参数)。
要将音频嵌入您的网站,您应该使用<audio>
标签,例如:
<audio src="my-marytts.herokuapp.com/?text=Hello" autoplay></audio>
这autoplay
使它在加载元素时开始音频。因此,在您的情况下,您可以做的是<audio>
在用户单击按钮后动态添加一个元素,例如:
<input type="text" id="text">
<button onclick="play('text');">Speak it</button>
<span id="audio-container" style="display:none;"></span>
<script>
function play(id) {
var maryttsHost = 'https://example-mary-tts.herokuapp.com'
var text = document.getElementById(id).value;
var container = document.getElementById("audio-container");
var audioSrc = maryttsHost + '/?text=' + encodeURIComponent(text);
container.innerHTML = '<audio src="' + audioSrc + '" autoplay></audio>';
}
</script>
您需要在maryttsHost
上面进行更改以匹配marytts-http
Heroku 上实例的实际 URL。