我在我的应用程序中使用OpenEars进行语音转换,但现在情况要求我将文本转换为语音.我可以只使用OpenEars吗?有没人试过这个?
如果是这样,请指导我如何做到这一点.任何帮助将不胜感激.
我的应用程序中有一个viewpager.当用户向右/向左滑动时,我使用TTS引擎说出文本,使用MediaPlayer播放声音.
问题是同时播放..一旦TTS引擎说话文本结束,我该如何播放声音?
PS:我不想睡觉或等待.
更新:
这是我的代码:
@SuppressLint("NewApi")
@SuppressWarnings("deprecation")
@Override
public void onInit(int status) {
if (status == TextToSpeech.SUCCESS) {
if (result == TextToSpeech.LANG_MISSING_DATA
|| result == TextToSpeech.LANG_NOT_SUPPORTED) {
} else {
//Do Something here
}
if(Build.VERSION.SDK_INT >= 15 ){
UtteranceProgressListener listener = new UtteranceProgressListener() {
@Override
public void onStart(String utteranceId) {
// TODO Auto-generated method stub
}
@Override
public void onError(String utteranceId) {
// TODO Auto-generated method stub
}
@Override
public void onDone(String utteranceId) {
// TODO Auto-generated method stub
//start …Run Code Online (Sandbox Code Playgroud) 我遇到了 startBluetoothSco 连接速度不够快的问题。我如何等待获取 SCO_AUDIO_STATE_CONNECTED 返回值,然后继续让我的消息大声朗读。到连接状态返回时,我已经大声朗读了一半的消息。如果我睡了,那么主要活动就会停止,什么也不会发生。如您所知,我是 Android 的初学者。谢谢
在花了很多时间在网上搜索之后,我想是时候问了。
我正在尝试使用 C++ 中的 SAPI5 实现一些文本到语音。唯一可用的 64 位语音是 Anna。和安娜在一起一切都很好,但我还需要一个德国人的声音。所以我找到了 Hedda(微软)和 Steffi(Realspeak)。
我已经想实施一些约会服务。
Hedda 和 Steffi 均未添加到注册表中。因此,当 SAPI 检查“HKLM\SOFTWARE\Microsoft\Speech\Voices”以获取选择语音所需的令牌时,它们都不会被 SAPI 检测到。我还尝试将注册表路径更改为 ...\SOFTWARE\Wow6432Node... 以使用 32 位语音,但没有成功。
有人知道如何将 Hedda 或 Steffi 与 Sapi 一起使用吗?有没有办法使用32位语音?
希望任何人都可以提供帮助。提前致谢。
我正在调用法语文本转语音功能。
这在以下设备上按预期工作:iOS 9.3模拟器、iOS 9.3设备 ( iPad 3rd gen)、iOS 10.3模拟器。不能在iOS 10.3设备 ( iPhone 6s) 上(静默)工作。
默认法语语音已安装并根据设备设置运行。
static AVSpeechSynthesizer* synthesizer = NULL;
//...
+(void)readText:(NSString*)text
{
if(synthesizer == NULL)
synthesizer = [[AVSpeechSynthesizer alloc] init];
AVSpeechUtterance *utterance = [AVSpeechUtterance speechUtteranceWithString:text];
utterance.voice = [AVSpeechSynthesisVoice voiceWithLanguage:@"fr-FR"];
[synthesizer speakUtterance:utterance];
}
Run Code Online (Sandbox Code Playgroud) 我尝试了几种方法来降低 google tts android 中的语速。
myTTS.setSpeechRate(1/2);
Run Code Online (Sandbox Code Playgroud)
这是行不通的。这将产生默认速度。它不接受 0.5(类型是浮点数)。有人帮忙
我的目标是使用Android Text-to-speech API将一段文本作为语音播放,同时跟踪当前所说的单词。
为了获得流畅的自然播放,我使用:
tts.speak("This is the sentence", TextToSpeech.QUEUE_FLUSH, null, null)
Run Code Online (Sandbox Code Playgroud)
但后来我无法跟踪当前所说的话。
要在跟踪当前说出的单词的同时播放句子,我使用:
val words = "This is the sentence".split(" ")
words.forEachIndexed { index, element ->
tts.speak(element, TextToSpeech.QUEUE_ADD, null, index.toString())
}
Run Code Online (Sandbox Code Playgroud)
与 UtteranceProgressListener 结合使用,但随后语音非常生涩,不能作为自然句子读回。
有没有办法让自然说出的句子同时跟踪当前说出的单词?
你看到这段代码有什么问题吗?函数执行时出现以下错误::尝试对空对象引用java.lang.NullPointerException调用接口方法。java.lang.Object[] java.util.Set.toArray()我在Android 7.0上运行它。
import android.speech.tts.TextToSpeech;
import android.speech.tts.TextToSpeech.OnInitListener;
import java.util.Locale;
import java.util.Set;
import java.util.Arrays;
import android.content.Context;
public static String GetLanguages(Object objcon) {
Context context = (Context) objcon;
TextToSpeech tts;
tts = new TextToSpeech(context, new OnInitListener(){
@Override
public void onInit(int status) {
};
});
Set<Locale> loc = tts.getAvailableLanguages();
Object[] objloc = loc.toArray();
return Arrays.toString(objloc);
};
Run Code Online (Sandbox Code Playgroud) 我正在使用对讲来开发语音辅助功能,但是当画外音从文本视图中读取文本时,它将缩写/首字母缩写作为单词而不是单个字符读取。例如,FBI 应该是 FBI,而不是作为单词读出。
再会。
我的语音合成在讲长文本时出现不一致的问题。
我正在尝试用英语和普通话进行文字转语音。当我指定 utterance.lang = 'en-US'; 我发现我的英文文章会一直读到读完。但是,当我使用 utterance.lang = 'zh-CN'; 我的英语和普通话文本只能读到 30 个单词。不知道是编码有问题还是什么。
文章:
E. 环果香
Enterolobium cyclocarpum,通常被称为 guanacaste、caro caro 或象耳树,是豌豆科中的一种开花树种。豆科植物,原产于美洲热带地区,从墨西哥中部南部到巴西北部(罗赖马)和委内瑞拉。它以其巨大的比例、广阔的、通常是球形的冠和形状奇特的种子荚而闻名。这种树的数量非常丰富,尤其是在哥斯达黎加的瓜纳卡斯特省,因其在强烈阳光下提供的阴凉处而备受推崇,再加上其巨大,使其成为广受认可的物种。它是哥斯达黎加的国树。
onload = function() {
if ('speechSynthesis' in window) with(speechSynthesis) {
var playEle = document.querySelector('#play');
var pauseEle = document.querySelector('#pause');
var stopEle = document.querySelector('#stop');
var flag = false;
playEle.addEventListener('click', onClickPlay);
pauseEle.addEventListener('click', onClickPause);
stopEle.addEventListener('click', onClickStop);
function onClickPlay() {
if(!flag){
flag = true;
utterance = new SpeechSynthesisUtterance(document.querySelector('article').textContent);
utterance.lang = 'zh-CN';
utterance.onend = function(){
flag = false; playEle.className = pauseEle.className = ''; stopEle.className = …Run Code Online (Sandbox Code Playgroud) text-to-speech ×10
android ×6
bluetooth ×1
c++ ×1
cocoa-touch ×1
ios ×1
ipad ×1
iphone ×1
java ×1
javascript ×1
kotlin ×1
objective-c ×1
openears ×1
sapi ×1
wait ×1