文字转语音

如何用文字转语音?现百度、腾讯以开放AI平台。只需申请应用得到ID以及密钥调用即可。

文字转语音_第1张图片

发现一种更简单的办法,Windows系统自带TTS接口即可完成,记事本内输入下列文字,保存为VBS格式即可。文本编码为ANSI,我保存为UTF-8出现了Windows Scrpit Host错误,代码:800A0409。

CreateObject("SAPI.SpVoice").Speak"你需要转换成语音的文字"

文字转语音_第2张图片

SpVoice

该SpVoice对象带来了文字到应用程序使用的SAPI自动化语音转换(TTS)引擎功能。 

应用程序可以创建无数SpVoice对象,每个独立和与人交往的能力。 一个SpVoice对象,通常简称为一个声音,是创建具有默认属性设置,以便它已准备好立即发言。

该SpVoice自动化对象有下列内容:

下面是是SAPI.SpVoice 对象的一些说明 (自己整理的有些地方可能跟官方的有差异)

 

 

属性列表说明
属性 描述
AlertBoundary 获取并设置警戒范围,它指定如何说话的声音暂停警报本身。

AllowAudioOutputFormatChangesOnNextSet

获取并设置标志,指定是否允许调整声音输出格式的音频自动。
AudioOutput 获取并设置当前的音频输出对象的声音使用。
AudioOutputStream 获取并设置当前音频流对象使用的声音。
EventInterests

获取并设置了语音接收到的事件的类型。

Priority 获取并设置优先级的声音。
Rate 获取和设置声音说话速度。
Status 返回当前的发言和事件的声音地位1 ISpeechVoiceStatus对象。
SynchronousSpeakTimeout 获取并设置时间间隔,以毫秒为单位,在这之后的声音的同步发言和SpeakStream调用将超时当它的输出设备不可用。
Voice  获取和设置当前活动的声音集合的成员。
Volume 获取并设置相应的体积(响度)的语音水平。
方法列表说明
方法 参数 返回值 描述

DisplayUI(

     hWndParent As Long,

     Title As String,

     TypeOfUI As String,

     [ExtraData As Variant = Nothing]

)

参数

hWndParent

指定的窗口句柄所属的窗口。

标题

指定使用的用户界面窗口的标题。

TypeOfUI

A String specifying the name of the UI to display. For a list of available SAPI 5 UI, see Engine User Interfaces.

ExtraData

[可选]指定ExtraData。 此信息是独一无二的应用程序,可以用来提供额外的或更具体的信息到用户界面。 默认情况下,没有任何价值,并指出使用的用户界面不使用任何额外的信息用这种方法提供的。

启动指定的用户界面显示。

SpVoice.GetAudioOutputs(

     [RequiredAttributes As String = ""],

     [OptionalAttributes As String = ""]

) As ISpeechObjectTokens

 

参数

RequiredAttributes

[可选]指定RequiredAttributes。 要返回GetAudioOutputs,音频输出令牌必须包含所有属性的具体要求。 如果没有标记匹配的选择,选择返回的将不包含任何元素。 默认情况下,没有属性是必需的,因此该方法返回所有的标记发现。

OptionalAttributes

[择]指定OptionalAttributes。 返回令牌包含RequiredAttributes是由OptionalAttributes排序。 如果OptionalAttributes指定,令牌所列OptionalAttributes第一。 默认情况下,没有属性指定的讲话,从配置数据库返回的列表属性的顺序被发现的。

一个ISpeechObjectTokens集合包含选定的产出。

 

可用的音频输出令牌返回一个选择。

SpVoice.GetVoices(

     [RequiredAttributes As String = ""],

     [OptionalAttributes As String = ""]

) As ISpeechObjectTokens

参数

RequiredAttributes

[可选]指定RequiredAttributes。 挑选符合这些规格的声音。 如果没有匹配的声音选择,选择将返回包含任何声音。 默认情况下,没有属性是必需的,所以列表返回所有的标记发现。

OptionalAttributes

[择]指定OptionalAttributes。 这些规范相匹配的声音将返回在选择面前。 默认情况下,没有属性指定的讲话,从配置数据库返回的列表属性的顺序被发现的。

返回值:一个ISpeechObjectTokens变量包含了语音收集令牌选中。 返回一个声音可供选择的声音。

SpVoice.IsUISupported(

     TypeOfUI As String,

     [ExtraData As Variant = Nothing]

) As Boolean

参数

TypeOfUI

A String specifying the name of the UI to display. For a list of available SAPI 5 UI, see Engine User Interfaces.

ExtraData

[可选]指定ExtraData。 此信息是独一无二的应用程序,可以用来提供额外的或更具体的信息到用户界面。 默认情况下,没有任何价值,并表明使用的用户界面不使用任何额外的信息用这种方法提供的。

返回值:一个布尔变量指示是否支持指定的用户界面。 它返回True,如果支持,如果不支持或False 如果指定的用户界面是支持的确定。
SpVoice.Resume() 原因恢复说话的声音时暂停。
SpVoice.Pause() 暂停的声音在最近的警报和关闭边界的输出设备,允许它被用于其他的声音。

SpVoice.Skip(

     Type As String,

     NumItems As Long

) As Long

参数

类型:

该项目类型被跳过。 目前,一句是唯一一种支持。

NumItems

该项目的数目,跳过了在语音输入流。 负的值指定跳绳落后。

返回值:一个长整型变量包含的项目数跳过。 导致声音向前或向后跳过由内当前输入文本流项规定的数量。

SpVoice.Speak(

     Text As String,

     [Flags AsSpeechVoiceSpeakFlags = SVSFDefault]

) As Long

Text  要说的内容

返回值:一个长整型变量包含事件处理。 启动一个文本字符串,文本文件或波形文件的声音说话
SpVoice.SpeakCompleteEvent()As Long 返回值:一个长整型变量包含事件处理。 获取事件处理将要完成的声音信号时,说话的声音。

SpVoice.SpeakStream(

     Stream AsISpeechBaseStream,

     [Flags AsSpeechVoiceSpeakFlags = SVSFDefault]

) As Long

 

参数:Stream指定一个ISpeechBaseStream对象,包含流。Flags [可选]指定的标记。 默认值是SVSFDefault。

 

返回值:一个长整型变量包含流的数目。 当一个声音enqueues通过讲多个异步流,流的数目要与相应的流关联的事件。

启动一个文本流或声音文件上的声音。

SpVoice.WaitUntilDone(

     msTimeout As Long

) As Boolean

 

参数

msTimeout

指定以毫秒为单位的超时。 如果-1,时间间隔被忽略,方法简单的语音等待把话说完。

返回值

一个布尔变量,说明这种情况下,终止了通话。 如果为True,声音发言完毕;若假,时间间隔时间。

阻止对方的声音,直到发言完毕或在指定的时间间隔已过。


 

你可能感兴趣的:(一些小玩意)