这是我的中文 TTS 代码,尽管中文 TTS 引擎安装成功,但说话功能失败
\n\nusing Microsoft.Speech.Synthesis;\nusing System.Globalization;\n\nnamespace TTS3\n{\n class Program\n {\n static void Main(string[] args)\n {\n //CultureInfo=new CultureInfo("zh-CN");\n SpeechSynthesizer synth = new SpeechSynthesizer();\n\n// Output information about all of the installed voices. \n foreach (InstalledVoice voice in synth.GetInstalledVoices(new CultureInfo("zh-CN")))\n {\n synth.SelectVoice(voice.VoiceInfo.Name);\n //Console.WriteLine(synth.Voice.Description);\n synth.SetOutputToWaveFile("C:\\\\Users\\\\surabhi\\\\Desktop\\\\yes.wav");\n synth.Speak("\xe4\xbd\xa0\xe5\xa5\xbd\xe4\xb8\x96\xe7\x95\x8c");\n break;\n}\n Console.WriteLine();\n Console.WriteLine("Press any key to exit...");\n Console.ReadKey();\n }\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n\n代码抛出的异常是
\n\nUnhandled Exception: System.InvalidOperationException: Speak error \'80004005\'. -\n--> System.Runtime.InteropServices.COMException: Error HRESULT E_FAIL has been r\neturned from a call to a COM component.\n at …Run Code Online (Sandbox Code Playgroud) 我希望能够创建一个宏,该宏将在演示者笔记中的文本上启动文本到语音转换。我将把宏应用到一个 ActiveX 按钮上,它允许用户开始阅读,最终我想将幻灯片的动画计时到语音。
我在 Excel VBA 中成功写出命令来与单元格对话:
application.speech.speak (sheet1.cells(1,1))
Run Code Online (Sandbox Code Playgroud)
我找到了一个代码,可以将文本输入到所有幻灯片的演讲者备注部分。
Sub AddTextAllSpeakerNotes()
Dim sld As Slide
For Each sld In ActivePresentation.Slides
sld.NotesPage.Shapes.Placeholders(2).TextFrame.TextRange = ""
Next sld
End Sub
Run Code Online (Sandbox Code Playgroud)
我已经添加了 Microsoft Speech Object Library 参考,但我永远无法让 VBA 识别语音命令并自动完成任何有助于我弄清楚如何进一步操作的命令。
如何编写将文本转语音命令应用于特定幻灯片的演讲者备注部分的代码。
当用户将网络合成语音设置为默认值时,我的应用程序会缓存常见的请求以防止未来的网络延迟。
我如何做到这一点,是体现在我的代码在这里。简而言之,它将引擎名称和话语与请求匹配,如果它们匹配,我会流式传输缓存的音频而不是使用 TTS 引擎。
如果用户随后在 Android 文本到语音设置中更改了他们的音调和语速,则缓存的音频当然将不再反映这一点,并且需要被忽略并“重新缓存”,或者相应地处理音频。
我的问题:如何获得系统默认设置,用于音调和语速。
要设置音调和速率,TextToSpeech API中提供了公开的方法:
/**
* Sets the speech rate.
*
* This has no effect on any pre-recorded speech.
*
* @param speechRate Speech rate. {@code 1.0} is the normal speech rate,
* lower values slow down the speech ({@code 0.5} is half the normal speech rate),
* greater values accelerate it ({@code 2.0} is twice the normal speech rate).
*
* @return {@link #ERROR} or {@link …Run Code Online (Sandbox Code Playgroud) 我正在寻找一种优化的合法方法来从 NodeJS 上的文本创建音频文件。
现在我看到了 5 个变体:
1) 向谷歌翻译文本到语音 API 的简单 hhtp 请求。这个变体不好,因为每个请求都需要生成的令牌,例如“tk:729008.879154”,如果没有这个,它可能会失败。除此之外,这个选项是“非法的”。
2) 从“控制台浏览器”向谷歌翻译文本到语音 API 的 http 请求 - puppeteer
有没有办法生成正确的令牌密钥以使此请求“合法”?
3)在puppeteer中使用Web Speech Api获取二进制数据并将其保存到文件?或者有没有办法使用 Chromium/Chrome 源代码?
4)在带有nodejs的机器上使用任何其他技术/语言库,并使用js作为解释器来调用该技术/程序中的命令。有任何想法吗?
5)有没有支持不同语言的免费公共API(dream api)?
任何建议将不胜感激。
我有这个 USB 转 GSM 串行 GPRS-SIM800C 模块,我已经成功地能够向它发送 AT 命令并执行一些操作,但我真正想要的是文本转语音功能,我能够生成 AMR 音频文件,上传到模块内存,有人来电就播放。
但是来电者听到的消息将是动态的,并且 TTS 将实时运行,因此将音频文件上传到模块的过程会导致不良的延迟,有什么方法可以通过模块传输一些音频吗?
谢谢。
我正在使用 Amazon Polly 进行 TTS,但我无法了解如何将转换后的语音保存到我的计算机中的 .mp3 文件中
我已经尝试过 gTTS,但我的任务需要 Amazon Polly。
import boto3
client = boto3.client('polly')
response = client.synthesize_speech
(Text = "Hello my name is Shubham", OuptutFormat = "mp3", VoiceId = 'Aditi')
Run Code Online (Sandbox Code Playgroud)
现在,我应该怎么做才能播放此转换后的语音或将其作为 .mp3 文件保存到我的 PC 中?
python text-to-speech amazon-web-services boto3 amazon-polly
我正在尝试在我的 php 网站中使用 google 的文本转语音功能,并将其托管在实时 Cpanel 服务器上
我已启用文本转语音 API,在凭据部分创建了 API 密钥,还从创建服务帐户密钥页面下载了凭据的 json 文件。
然后我从 Github 下载了示例文件,并使用 Composer 构建了库
现在我不知道把钥匙放在哪里。在每个地方,它都要求在 Shell 中导出密钥,但这适用于 1 个打开的命令提示符会话,并且每次都必须导出。
由于我想在基于 cpanel 的实时托管上运行此代码,因此我认为无法导出。
代码中是否有任何地方可以传递密钥?
关于stackoverflow 上的这篇 url文章:第一个答案将 CURL 的响应导出到Synthesize-text.txt,但我们需要 mp3 输出
另一个答案指出我们应该使用jq但由于它是共享的 hsoting 服务器,我不确定我们是否可以安排jq。
这个问题有什么办法解决吗?
更新
参考@V.Tur的答案后尝试了以下代码
$params = [
"audioConfig"=>[
"audioEncoding"=>"MP3",
"pitch"=> "1",
"speakingRate"=> "1",
"effectsProfileId"=> [
"medium-bluetooth-speaker-class-device"
]
],
"input"=>[
"ssml"=>'<speak>The <say-as interpret-as=\"characters\">SSML</say-as>
standard <break time=\"1s\"/>is defined by the
<sub alias=\"World Wide Web Consortium\">W3C</sub>.</speak>'
],
"voice"=>[
"languageCode"=> …Run Code Online (Sandbox Code Playgroud) php text-to-speech google-text-to-speech google-cloud-platform
我试图在 google colab 中循环运行音频,但它没有给 mi 任何输出
from gtts import gTTS
from IPython.display import Audio
for voice in ["Aniket","sachin"]:
tts = gTTS("Hello {}".format(voice))
tts.save('1.wav')
sound_file = '1.wav'
Audio(sound_file, autoplay=True)
Run Code Online (Sandbox Code Playgroud)
输出我想要的是它应该听起来 hello aniket hello sachin 请帮忙
python text-to-speech google-text-to-speech google-colaboratory
我想使用我录制的音频样本在 Mozilla TTS 中创建自定义语音,但不知道如何开始。Mozilla TTS 项目有文档和教程,但我在将这些部分放在一起时遇到了麻烦——似乎缺少一些初学者需要知道的基本信息。
我有一些问题:
metadata.csv文件——我需要在那个文件中放入什么?我在配置文件中自定义了什么?scale_stats.npy文件——我如何生成它?我需要在 Android 模拟器中更改一些设置吗?该应用程序在 Android 设备中运行,但不在模拟器中运行。当我按下转换按钮时,它根本不输出任何语音。我什至检查其他应用程序是否通过扬声器提供输出。是的,youtube 运行得很好。
package com.example.labpgm7;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.speech.tts.TextToSpeech;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import java.util.Locale;
public class MainActivity extends AppCompatActivity {
EditText texttospeak;
Button speak;
TextToSpeech t;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
texttospeak=findViewById(R.id.texttospeech);
t=new TextToSpeech(this, new TextToSpeech.OnInitListener() {
@Override
public void onInit(int status)
{
}
});
}
public void speak(View v)
{
String text=texttospeak.getText().toString();
t.setPitch(1.0f);
t.setSpeechRate(1.0f);
t.speak(text,TextToSpeech.QUEUE_FLUSH,null);
}
}
Run Code Online (Sandbox Code Playgroud) text-to-speech ×10
android ×2
audio ×2
python ×2
amazon-polly ×1
boto3 ×1
excel ×1
gsm ×1
java ×1
javascript ×1
node.js ×1
php ×1
powerpoint ×1
saiy ×1
sapi ×1
sim800 ×1
sox ×1
vba ×1