标签: text-to-speech

python“Stream_to_file”中的方法不起作用

使用 OpenAI API 及以下是我的简单代码,但收到“steam_to_file”方法的弃用警告。

代码 -

from openai import OpenAI
from pathlib import Path

client = OpenAI(
  api_key=os.getenv("OPENAI_API_KEY"),
 )

speech_file_path = Path(__file__).parent / "speech.mp3"
response = client.audio.speech.create(
  model="tts-1",
  voice="alloy",
  input= '''I see skies of blue and clouds of white
            The bright blessed days, the dark sacred nights
            And I think to myself
            What a wonderful world
         '''
)
response.stream_to_file(speech_file_path)
Run Code Online (Sandbox Code Playgroud)

IDE——Visual Studio 代码

警告如下 -

** DeprecationWarning:由于错误,此方法实际上并不传输响应内容,.with_streaming_response.method()应使用 response.stream_to_file("song.mp3")**

有人可以帮忙吗?

我尝试检查不同的论坛,但找不到与stream_to_file相关的错误。

我正在使用Python 3.12

text-to-speech python-3.x openai-api

5
推荐指数
1
解决办法
482
查看次数

Android TTS语言

我正在玩Android TTS引擎.我试图用西班牙语从墨西哥讲话,而不是从西班牙讲.

我已经尝试了几种语言代码/国家代码的组合,但我无法从西班牙获得任何西班牙语.这是我目前的代码

loc = new Locale("es", "MEX");
myTts.setLanguage(loc);
say("Hello");
Run Code Online (Sandbox Code Playgroud)

我也试过("es","US"),("es","LA"),("spa","US"),("spa","MEX"),我能想到的每一个组合它在日志中显示我:

TtsEngine :: setLanguage找到匹配语言(spa)但不匹配国家(MEX).

已成功加载es-ES

我可以退出我的应用程序并打开TTS服务扩展.如果我将语言设置为西班牙语[西班牙语]或西班牙语 - 拉丁语.无论哪种方式,当我点击'听预览'我得到"Hola"这是预期的.但是根据我的申请,我得到了"Heyyo"而不是"Hola".任何人都可以看到我错误地设置我的语言吗?

android text-to-speech

4
推荐指数
2
解决办法
1万
查看次数

为什么ACTION_CHECK_TTS_DATA意图"难以使用"?

负责人介绍文本到语音Android中说:"在创建活动中,良好的第一步是检查是否与相应的意图TTS资源的存在:"

Intent checkIntent = new Intent();
checkIntent.setAction(TextToSpeech.Engine.ACTION_CHECK_TTS_DATA);
startActivityForResult(checkIntent, MY_DATA_CHECK_CODE);
Run Code Online (Sandbox Code Playgroud)

但是@gregm在这个帖子中暗示:

另外,不要使用ACTION_CHECK_TTS_DATA Intent,这很难使用.

相反,请执行以下操作:

  1. 创建TextToSpeech
  2. OnInit,检查isLanguageAvailable(),如果是,你的应用程序都已设置好.如果没有,发送ACTION_INSTALL_TTS_DATA

如果我理解正确,@ gregm做/建议的是将支票推迟到.TextToSpeech.LANG_MISSING_DATAonActivityResult()onInit()

为什么这比正式方法更好?

为什么ACTION_CHECK_TTS_DATA如此"难以使用"?

android text-to-speech

4
推荐指数
1
解决办法
1929
查看次数

使用Dephi的SAPI:异步语音不起作用

以下工作完美(Delphi 7):

procedure TMainForm.SayIt(s:string); // s is the string to be spoken
var
voice: OLEVariant;
begin
  memo1.setfocus;
  voice := CreateOLEObject ('SAPI.SpVoice');
  voice.Voice := voice.GetVoices.Item(combobox1.ItemIndex); // current voice selected
  voice.volume := tbVolume.position;
  voice.rate := tbRate.position;
  voice.Speak (s, SVSFDefault);
end;
Run Code Online (Sandbox Code Playgroud)

以上工作在"同步"模式(SVSFDefault标志),但如果我在尝试以异步模式播放声音时将标志更改为SVSFlagsAsync,则不会产生声音.没有给出错误消息,但扬声器上没有播放任何内容.

问题可能是什么?我在Delphi的Imports文件夹中有SpeechLib_TLB单元.

编辑:这是在Windows XP中

谢谢,布鲁诺.

delphi sapi text-to-speech delphi-7

4
推荐指数
1
解决办法
1989
查看次数

在Windows Phone 8中取消语音合成

我在我的应用程序中添加了语音合成.它工作但问题是我无法取消语音...例如,当我导航到另一个页面时,语音继续...所以,我调用CancelAll()方法取消当前语音但发生异常而且我不知道为什么.你知道这是什么问题吗?

例外

A first chance exception of type 'System.Threading.Tasks.TaskCanceledException' occurred in mscorlib.ni.dll
An exception of type 'System.Threading.Tasks.TaskCanceledException' occurred in mscorlib.ni.dll and wasn't handled before a managed/native boundary
An exception of type 'System.Threading.Tasks.TaskCanceledException' occurred in mscorlib.ni.dll and wasn't handled before a managed/native boundary
The program '[2576] TaskHost.exe' has exited with code -1 (0xffffffff).
Run Code Online (Sandbox Code Playgroud)

我的代码:

    private SpeechSynthesizer synth = new SpeechSynthesizer();

    protected override void OnBackKeyPress(CancelEventArgs e)
    {
        //I tried to cancel also here but it's the same exception...
    }

    //method called when …
Run Code Online (Sandbox Code Playgroud)

c# text-to-speech windows-phone-8

4
推荐指数
1
解决办法
1768
查看次数

自动下载android TTS引擎

我开发了一款基于TTS for Android 2.3的应用程序.我注意到在最新版本的Android(4.2.2)中,没有默认安装的默认TTS语言,您必须通过以下方式手动下载它们:设置 - >语言和输入 - >文本到语音输出 - > Google Text-To-speech - >安装语音数据

有没有办法自动安装语言?

android text-to-speech

4
推荐指数
1
解决办法
1万
查看次数

如何比较两个MFCC特征向量或两个语音话语的MFCC特征向量之间的相似性

我已经提取了两个话语的13个MFCC特征.第一个话语的特征集大小为11*13,其他为18*13.那么,如何比较两个特征集来找到这两个词之间的相似性呢?

如果有人知道,我没有使用任何分类器,标准工具遵循哪种算法来比较MFCC特征向量.请建议我,以便我可以实施它.

speech-recognition text-to-speech mfcc

4
推荐指数
2
解决办法
2242
查看次数

如何在文本转语音中设置荷兰语?

我想在我的TTS对象中设置荷兰语.以下是代码,

@Override
public void onInit(int status) 
{
    if ( status == TextToSpeech.SUCCESS ) 
    {
        int result = tts.setLanguage(Locale.getDefault());

        System.out.println ( "Result : " + result  + " " + Locale.getDefault().getLanguage() );

        if (result == TextToSpeech.LANG_MISSING_DATA
                || result == TextToSpeech.LANG_NOT_SUPPORTED) 
        {
            Toast.makeText( this , "Please Set your Language to English US.", Toast.LENGTH_LONG ).show();
        }
        else
        {
            tts.speak( "Hoe gaat het",TextToSpeech.QUEUE_FLUSH, null );
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

以下行设置TTS中的语言

int result = tts.setLanguage(Locale.getDefault());
Run Code Online (Sandbox Code Playgroud)

Locale中的可用区域设置.

在此输入图像描述

现在,如果我的手机语言是荷兰语,那么我可以将TTS的语言设置为荷兰语,但如果我的手机语言不是荷兰语(例如,如果它是英语),则没有选项将TTS的语言设置为荷兰语.

有人可以帮我在TTS中设置荷兰语吗?

android text-to-speech android-location

4
推荐指数
2
解决办法
7692
查看次数

在Python 3下工作的文本到语音转换(TTS)模块

我尝试过PyTTS(已弃用)和PyTTSx(最推荐)和两个Google TTS解决方案(gTTS和另一个名为Hung Truong的人),但没有一个在Python 3.4下工作.似乎他们还没有被移植到3.x.

我在这里搜索StackOverflow和Google,但所有提议的TTS解决方案都不能在Python 3下运行.我在Windows 7上.

python text-to-speech python-3.x

4
推荐指数
1
解决办法
3万
查看次数

Swift iOS文字转语音无法在循环中使用“延迟”

我正在尝试让iOS文本语音合成器“说”短语列表,这些短语之间存在可变的延迟。例如,我可能要说“你好”,然后等待5秒钟,然后“有人在吗?”,然后等待10秒钟,然后说“你好?” ...等等。

我在下面做了一个简单的例子,说明了我要做什么。我知道语音合成器正在讲话,其他语音被添加到队列中并按照接收顺序进行讲话。

我尝试了许多方法来实现循环中的此延迟。使用打印语句测试延迟可以确认它们是否有效,但是它们似乎干扰了text-speach-function功能,该功能说的是第一个短语,但要等到for循环完成后再说其余的内容。我认为这些类型的任何延迟都可以工作,因为我假设语音合成器是事件驱动的。

我希望能提供一些帮助,或者至少能对它为什么无法工作有所了解。谢谢!

这是示例代码:iPhone 6模拟器,Xcode 7.3

import UIKit
import AVFoundation

class ViewController: UIViewController {

    let speechSynthesizer = AVSpeechSynthesizer()
    var phraseArray: [String] = ["One", "Two", "Three", "Four", "Five", "Six", "Seven"]

    override func viewDidLoad() {
        super.viewDidLoad()
        for phrase in phraseArray{
            let speechUtterance = AVSpeechUtterance(string: phrase)
            speechSynthesizer.speakUtterance(speechUtterance)

            //"delay()" goes here.  It needs to be a variable length delay.

        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我尝试过的一些延迟方法:

  1. 将类设置为语音合成器的委托,并运行while循环,直到合成器完成。

  2. 基于时间的延迟: referenceDate = NSDate() while(NSDate().timeIntervalSinceDate(referenceDate) < 0.5) {}

  3. 我已经尝试过从堆栈中“延迟”解决方案,就像这样: 循环中的快速延迟

    func delay(delay:Double, closure:()->()) { dispatch_after( dispatch_time( DISPATCH_TIME_NOW, Int64(delay …

text-to-speech delay ios swift

4
推荐指数
1
解决办法
1360
查看次数