问题标签 [google-text-to-speech]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
390 浏览

java - Android TTS 中没有声音 - 上下文错误?

我有一个类DistanceAnnouncer,它使用 Android Text-to-speech 引擎来宣布两个位置之间的距离。它是这样构造的:

通过这种方法向用户说出距离:

在我的MainActivity我创建了一个类级对象...

然后在单击对话框按钮时以匿名方法使用,如下所示。这工作正常。但现在我想重构代码以使用更少的内存并想摆脱类级变量。为了测试它,我创建了一个新的测试对象并将其MainActivity.this作为 Context 提供(与构造函数中接收的类级对象相反this)。旧对象仍然有效,新对象无效。没有抛出异常。代码已执行,但没有声音。

代码:

我怀疑这是上下文问题,但在这种情况下,两个上下文之间的区别是什么?他们应该是一样的,不是吗?

编辑:全距离播音员类代码:

编辑 2:应用程序日志,由TextToSpeech过滤:

似乎系统将第一个连接到系统 TTS 服务,但没有连接到第二个。但出于什么原因?我还尝试删除第一个,只留下第二个(也许每个活动都不允许有几个 TTS?),但没有成功。

0 投票
1 回答
1672 浏览

android - 在 Android 中 synthesizeToFile 时 TextToSpeech 花费了太多时间

我已经使用下面的代码来合成.txt文件到.mp3使用 Android 内置的文件TTS Engine

代码:

以上是示例代码。以下是应用程序执行流程:

  1. 从 SD 卡获取文件
  2. 将文件合成为 mp3
  3. 播放 mp3 文件

问题:文件合成完成后,只有我可以播放 mp3 文件。对于大小为 1 mb 的文件,大约需要 1 分钟。

有什么我可以做的改进吗?

注意:我们需要使用MediaPlayer我们需要播放/暂停阅读器。

谢谢。

0 投票
1 回答
2351 浏览

java - Android TextToSpeech,改变性别声音

我将尝试制作一个应用程序,当您通过参数传递一种语言和一种声音(男性或女性)时。我确实知道语言变化,如下所示

但是当我查看和阅读时,我无法找到一种方法来更改您可以使用多种语音的语言的语音。

请帮助我,非常感谢。

0 投票
5 回答
32194 浏览

python - 自定义 Python gTTS 语音

我一直在使用 python 3.4 的 gTTS 模块来制作语音文本的 mp3 文件。它一直在工作,但所有的演讲都是用某个成年女性的声音。有没有办法自定义 gTTS 读取文本的声音?

0 投票
1 回答
813 浏览

android - TextToSpeech:检查 API < 21 是否在线或离线

我正在尝试实现一个以不同语言读取文本的应用程序。令人惊讶的是,当我使用方法isLanguageAvailable(Locale loc)时,它会为 Google TTS 列表中尚未下载的语言返回true 。当我调用speak()方法时,它们甚至会播放。我得出的结论是,发生这种情况是因为它们是在线声音。

文档显示,您可以通过 Voice 对象使用方法getFeatures()来了解语音是否在线。但是,Voice类是为 API >= 21 实现的。对于 API < 21,还有一个getFeatures(Locale loc)方法,它覆盖TextToSpeech类,它应该返回一个具有不同特征描述的字符串数组。我已经在不同的引擎和语言环境上尝试了最后一种方法,但我通常得到一个空数组。大概,这是TTS开发者可以填写或不填写的额外信息……

那么,我怎么知道 tts 语言环境是否是 API < 21 的在线语言环境?

0 投票
0 回答
394 浏览

android - 通话期间服务中的 TextToSpeech

我正在创建一个应用程序,它告诉用户打电话的人。

因此,作为测试的一部分,我创建了一个抽象类,它扩展了广播接收器以处理调用。

我还创建了一个扩展抽象类的类,并从这里开始了一项服务。

在服务中,我创建了一个 TextToSpeech 对象并启动了 speak()。

这似乎不起作用。我只听到铃声。每当我接到电话时,我都会听到铃声,但听不到声音。

目的:我希望听到铃声响起的声音。

请帮我 !

谢谢。

我的广播接收器如下:

}

扩展 PhoneCallReceiver 类的类:

我的服务如下:

0 投票
1 回答
664 浏览

android - 在android通话期间静音铃声音量

我的目标是让用户知道打电话的人。我在服务中使用 TextToSpeech 来完成这项任务。

所以我决定在通话过程中将铃声静音:

我知道这是要添加的代码,但在哪里?它在扩展广播接收器的类中吗?

我的问题是,只要有电话,电话就会正常响铃。我想静音铃声并让我的 TextToSpeech 对象说话

我的清单文件如下:

扩展广播接收器的我的 PhoneCallReceiver 类是:

我的 CallReceiver 类扩展了 PhoneCallReceiver 类是:

最后,我的服务类说的是:

总结查询:

目的:在通话过程中静音铃声音量并使 TextToSpeech 对象说话并在语音后继续铃声音量

问题:1)在哪里添加使铃声音量静音的代码 2)我已经在 CallReceiver 类中的 onIncomingCallReceived() 中添加了代码,但它似乎不起作用。铃声不会停止

请帮忙!

我知道这是一个很长的问题,但我被困在这里。谢谢您的帮助!

0 投票
1 回答
234 浏览

android - 如何在 Android 中应用 Google 文字转语音

我开发了一个 Android 应用程序。我想将设备中的 Google 文字转语音功能而不是默认的文字转语音功能应用到我的项目中。

我已经搜索但没有找到任何关于 google text-to-speech 的示例或教程。如何在 Android 项目中应用 Google 文字转语音?

0 投票
1 回答
932 浏览

bash - 高麦克风输入触发 Bash

我一直在开发一个类似于 Siri 或 Amazon Echo 的小型语音识别程序,它可以让我简化家中的一些小任务。我对 bash 非常陌生,因此我需要一些帮助,以减少将连续数据流向 Google Speech To Text 服务器的必要性。目前,我每三秒录制一个新的音频文件并将其发送到谷歌服务器进行翻译。这种方法似乎效率很低。这部分代码如下所示。

相反,我假设触发这个脚本语音会大大减少我网络上的互联网流量。通过语音触发,我的意思是它在听到特定音量或更高音量的声音时开始录制音频以发送给 Google。如果有人可以就我应该如何创建这个声音触发器或简单地减少对这些服务器的请求数量提供任何建议,那将非常有帮助。

此外,当前方法会导致某些音频被拆分为两个或多个文件,因为录音可能在扬声器开始之前的任何时间开始。在听到声音时触发录音也可以解决这个问题。

欢迎任何与我的代码相关的建议。如果需要任何进一步的信息,请在评论中提出要求,我很乐意为您提供您需要知道的任何信息。如果您对我的问题有任何疑问,请发表评论,以便我知道以后不要犯这个错误。bash 脚本如下所示。

注意:此脚本的目的是将来自 Google Speech to Text 服务器的响应写入名为“SpeechLog.txt”的文件中

语音识别.sh

0 投票
2 回答
2697 浏览

java - TextToSpeech setLanguage 不起作用?

我正在使用语言环境“en_GB”将我的 TextToSpeech 设置为使用特定语言(英语 - 英国)。但它总是使用我的设备默认语言。有没有办法以编程方式设置它?我已经下载了该语言所需的文件,当我将 TTS 的默认语言更改为“英语 - 英国”时,它可以工作,但是当默认值不同时,程序化方法不起作用。我已尽我所能搜索网络,但无法解决此问题。

尝试了几种方法,但都没有奏效。我不能以编程方式设置我的 TTS 语言吗?

谢谢你

编辑:回应“蜂蜜鸨”

其他代码:

我的onInit()

我也正在调用.setLanguage()my onCreate(),只要 myTextToSpeech初始化。那是对的吗?另外我只调用一次。不需要每次都调用它吧?我也在GS7上测试