前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >B4A TTS使用小米"小爱同学语音引擎"进行文字转语音

B4A TTS使用小米"小爱同学语音引擎"进行文字转语音

作者头像
一线编程
发布2021-06-25 21:39:19
12.5K0
发布2021-06-25 21:39:19
举报
文章被收录于专栏:办公魔盒

TTS是Text To Speech的缩写,即“从文本到语音”,是人机对话的一部分,让机器能够说话。

它是同时运用语言学和心理学的杰出之作,在内置芯片的支持之下,通过神经网络的设计,把文字智能地转化为自然语音流。TTS技术对文本文件进行实时转换,转换时间之短可以秒计算。在其特有智能语音控制器作用下,文本输出的语音音律流畅,使得听者在听取信息时感觉自然,毫无机器语音输出的冷漠与生涩感。TTS语音合成技术 [1] 即将覆盖国标一、二级汉字,具有英文接口,自动识别中、英文,支持中英文混读。所有声音采用真人普通话为标准发音,实现了120-150个汉字/分钟的快速语音合成,朗读速度达3-4个汉字/秒,使用户可以听到清晰悦耳的音质和连贯流畅的语调。有少部分MP3随身听具有了TTS功能。

TTS是语音合成应用的一种,它将储存于电脑中的文件,如帮助文件或者网页,转换成自然语音输出。TTS不仅能帮助有视觉障碍的人阅读计算机上的信息,更能增加文本文档的可读性。TTS应用包括语音驱动的邮件以及声音敏感系统,并常与声音识别程序一起使用。(以上内容来自"百度百科")

具体实现步骤:

1.首先下载我为大家准备的"B4A文字转语音压缩包",里面包含了B4A源码及小爱同学v1.2.8的语音引擎;

代码语言:javascript
复制
https://vbee.lanzoui.com/iEbVFpv7lqf

2.然后安装压缩里面的"com.xiaomi.mibrain.speech_小爱同学语音引擎1.2.8"语音引擎

3.安装完成后,在系统设置里面设置tts默认引擎;

3.1.一般手机设置里面都有个搜索框,直接输入tts搜索即可,没有搜索框的话可以在设置里面找到"语言和输入法->文字转语音(TTS)输出"即可

3.2.然后看到"文字转语音(TTS)输出"或者TTS等字眼,点进去设置,选择"系统语音引擎",然后可以点击,下面"收听示例"或者"播放"的字眼,进行测试,是否测试成功;

4.接下来就是编译B4A源代码了(已下载压缩包的同学可以直接编译)

代码语言:javascript
复制
#Region Module Attributes
  #FullScreen: False
  #IncludeTitle: True
  #ApplicationLabel: B4A文字转语音
  #VersionCode: 1
  #VersionName: 
  #SupportedOrientations: portrait
#End Region

Sub Process_Globals
  Dim TTS1 As TTS
End Sub

Sub Globals
  Private btnOk As Button
  Private Pch As SeekBar
  Private Sellang As Spinner
  Private SpR As SeekBar
  Private txt_str As EditText
End Sub

Sub Activity_Create(FirstTime As Boolean)
  Activity.LoadLayout("1")
  Sellang.AddAll(Array As String("cn","en"))
End Sub

Sub TTS1_Ready (Success As Boolean)
  If Success Then
    For i = 0 To Activity.NumberOfViews - 1
      Activity.GetView(i).Enabled = True
    Next
    btnOk_Click
  Else
    ToastMessageShow("初始化TTS引擎时失败", "")
  End If
End Sub

Sub Activity_Resume
  If TTS1.IsInitialized = False Then
    TTS1.Initialize("TTS1")
  End If
End Sub

Sub Activity_Pause (UserClosed As Boolean)
  TTS1.Release
End Sub

Private Sub SpR_ValueChanged (Value As Int, UserChanged As Boolean)
  If UserChanged Then
    TTS1.SpeechRate = Value / 10
  End If
End Sub

Private Sub Sellang_ItemClick (Position As Int, Value As Object)
  If btnOk.Enabled = False Then Return
  If TTS1.SetLanguage(Value, "") = False Then
    ToastMessageShow("找不到该语言", True)
    Return
  End If
End Sub

Private Sub Pch_ValueChanged (Value As Int, UserChanged As Boolean)
  If UserChanged Then
    TTS1.Pitch = Value / 10
  End If
End Sub

Private Sub btnOk_Click
  If txt_str.Text.Length > 0 Then
    TTS1.Speak(txt_str.Text, True)
    txt_str.SelectAll
  End If
End Sub

好了就这样吧;只是一个简单的调用系统默认设置语音引擎而已,并没有集成SDK语音引擎,所以比较简单;同样的也可以下载其他语音引擎,设置为系统默认的语音引擎效果也是一样的;

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-06-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 办公魔盒 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
语音合成
语音合成(Text To Speech,TTS)满足将文本转化成拟人化语音的需求,打通人机交互闭环。提供多场景、多语言的音色选择,支持 SSML 标记语言,支持自定义音量、语速等参数,让发音更专业、更符合场景需求。语音合成广泛适用于智能客服、有声阅读、新闻播报、人机交互等业务场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档