Flutter_TTS 包在不同设备上的行为不同

Posted

技术标签:

【中文标题】Flutter_TTS 包在不同设备上的行为不同【英文标题】:Flutter_TTS package behaves differently on different devices 【发布时间】:2021-01-24 01:02:29 【问题描述】:

Hei Dev,我正在尝试为我的孩子制作一个应用程序来学习印地语字母,该应用程序可以说出来

我使用 flutter_tts: ^1.2.7 并且有 2 个设备(Samsung A8 2018,MI Redmi 4),它们都给我相同的代码不同的结果。

PS:印地语有很多声音和字母。 Hindi Swar and Vyanjan list

1.三星 A8 2018:

用英式英语说印地语,我的意思是在英语单词附近的任何发音或字母都会变成输出声音中的单词(带有英国口音),因为例子

'अ' (aa),'आ' (aaaa) = A 'इ' (E),'ई' (EEEE) = I, 'उ' (oo),'ऊ' (oooo like in ooo la la la) = U

TEXT-to-Speach 的引擎可以是 Google 或三星,但结果是一样的。

2。小米红米4:

听起来更合理,大多数时候听起来类似于字母的实际发音(它也有一些字符的准确性问题,但不像三星那样完全南方) 这里的问题是音量,手机上的一切听起来都不错,甚至 youtube 视频听起来又响亮又清脆,除了我的应用程序。

应用声音太慢了,如果我不靠近设备就很难听清。

参数设置为volume = 1.0 pitch = 1.0 and rate = 0.4,但是我无法提高音量。

这些都是我的手机,使用相同的母语(美国英语)

请建议,我很沮丧,因为我正在考虑录制和播放声音,因为如果包如此不可预测,它们甚至可能无法在 IOS 或第三台设备上运行。

代码示例可以是插件页面上的示例代码:FLUTTER_TTS package

【问题讨论】:

【参考方案1】:

设备必须使用不同的引擎。您将无法预测任何设备正在使用什么引擎。即使flutter tts允许你在代码中指定你想要的引擎,它也可能不在设备上。

要获得一致的结果(在 android 上),您必须在应用中嵌入 tts,或者为了在所有平台上实现完全一致,您可以使用云服务,例如 google cloud speech。

【讨论】:

以上是关于Flutter_TTS 包在不同设备上的行为不同的主要内容,如果未能解决你的问题,请参考以下文章

App在iOS设备和iOS模拟器上的行为有所不同

不同 API 上的奇怪自定义 SeekBar 可绘制行为

由 xcode 4.6 与 xcode 5.0 创建时,iOS 应用程序在 iOS 7.0 设备上的行为不同

traceroute----追踪数据包在网络上的传输过程

不同Android版本上的奇怪行为Constraintlayout动画

Flutter_tts 无法在 iOS 上运行