此外,其实就以语音库这件事而言,尽管现在 AI 语音盛行,离线语音越来越不占优势,但这并不代表离线语音就不再受到开发厂商的支持,因为仍然有大量的场景,例如我们刚刚提到的柜台软件等,在大部分情况下,仍然需要离线语音的快捷和便利。而对于读屏软件而言,我们最需要做的,是和语音厂商进行充分的交流与沟通,需要表达我们对语速、自然程度、响应速度等不同方面的需求。只有厂商充分了解了我们这个群体,才能真正为我们提供更好的服务。点明和讯飞语音的交流,其实不仅仅照顾到了点明软件的优化,同时,也让语音厂商了解了,为屏幕阅读器提供语音服务时,应该注意哪些问题,这才是最有意义之处。
自从点明安卓升级到 64 位语音库以来,就时不时会有人讨论关于语音库音色、音质等问题。有些朋友因为更新到 64 位语音库以后没感觉到太明显的变化,甚至觉得你这简直就是更新了个寂寞啊,花了这么长时间,用了这么多精力,说是更新到 64 位了,可是我们的使用感受一点没变,语音库以前是什么声音现在还是什么声音,以前有哪些角色现在还是哪些角色,以前怎么设置的,现在还一样的设置,你这是不是在玩儿我。今天,我们就来和大家聊聊这事儿。
首先说结论,对于将 32 位语音库更新到 64 位这件事来说,其实,没变化,恰恰就是最好的结果。我们在做这项工作的时候秉承的一个首要原则就是,更新之后要确保没有变化,一点变化都不能有。这里说的没有变化,主要是指原有语音角色的音色以及响应速度。看到这里,你是不是有点困惑,居然没变化,要更新它干什么?这就要说背景了。
更新到 64 位语音库这件事儿,本质上并不是为了改善我们的听觉效果,而是一个大势所趋。我们知道,现在已经有越来越多的软件都将自己的架构升级到了 64 位,手机随着芯片的不断迭代,也逐步的趋向于 64 位架构,彻底放弃 32 位软件也指日可待。也就是说,在不久的将来,如果你的软件仍然是 32 位架构,将无法在新的手机上安装和运行。许多手机厂商为了提前做好准备,在自己的应用商店中已经不允许上传 32 位架构的应用程序。例如之前有一段时间,点明安卓在小米和华为的应用商店一直没有更新,主要原因就是因为我们所使用的是 32 位的语音库,应用商店不让上传。这就给我们提出了一个很大的挑战,软件是我们的,可语音库却是讯飞的,要把我们自己的软件改成 64 位容易,语音库也要改成 64 位,就只有找语音库厂商协调。这也不是我们一家的问题,我们的所有友商也都得必须面对。所以我们才看到后续几乎所有的手机读屏都慢慢开始调整,陆陆续续推出了自己的 64 位语音。
说实话,这项工作并不好做,有些朋友应该还记得,我们最初和大家聊到 64 位语音库,应该还是在2022年我们的十周年发布会上,后来,在去年春季的点明秀场,我们也不止一次提到这项工作。但直到真正和大家见面,时间已经过去了一年多。其实,我们头脑风暴组几个人早在2022年春节放假之前就拿到了一个基于 64 位语音库的点明安卓测试版本,但效果和现在根本不能同日而语。之后就是无比漫长的调试和优化,说起来简直就是一把辛酸泪。
64 位语音库的主要问题在哪儿呢?其实就是朗读效果和跟手速度。就朗读效果而言,语音技术发展到今天,厂商们一直在追求的是更加自然、流畅的语音效果。然而,这种效果与读屏所迫切需要的效果却有所不同。语音库追求的效果是自然,逼真,接近真人,而读屏软件所追求的效果首当其冲是流畅,自然度方面,平铺直叙就好,最重要的原因是在加快朗读速度以后能够不损失发音质量。我们拿到的第一个版本,当调整到一个比较慢的发音速度时,朗读效果确实比之前的语音库要更接近真人一些,可当速度被加快以后,声音就没法听了。抖动、丢字、爆音、停顿不正常、发音奇怪等问题层出不穷,实在是不能用。
再说跟手速度,就更是一个要命的问题。如果说语音厂商在效果追求方面多多少少还和我们有一些共同点,而在跟手速度方面,就完全只有靠我们自己。因为语音库在发展过程中,可以说,几乎从来没有追求过跟手速度这个东西。为什么呢?因为这东西除了读屏软件以外,其他领域几乎没有需求。所谓跟手速度,就是指我们从屏幕上触摸访问一段文本,语音库要以极快的速度为我们做出响应,这样才能确保我们操作的流畅性。可是在其他领域呢?导航、虚拟主播、或者一些带语音功能的软硬件,比如电梯、柜台软件设备,他几乎不需要追求极致的响应速度,甚至延迟个一秒左右也不是什么不能接受的事儿。这样,它只需要追求自然度就好,发音如果接近真人,那就再好不过了。而为了达到更加逼真的朗读效果,语音需要更长的时间对文本进行处理,这就损失了我们读屏软件所必须的跟手速度。从这点来说,在技术发展的过程中,语音库的自然度提升,和我们所需要的响应速度完全就是背道而驰的。
就是这样的局面,开始的时候我们也是一筹莫展。头脑风暴组在体验完前几个版本后将结果陆续反馈到开发那边,工程师鼓捣了一段时间,发现实在难搞,开始挠头了。说算了吧,不然就简单集成一个 64 位语音库先上传到应用商店,用户实在不习惯,我们在提供个老 32 位的语音库TTS安装包,可以让用户换回原来的语音库。开会的时候讨论,老板说不行,你这不是长久之计,还得想办法。然后我们的工程师就像闭关修炼一样,开始去研究了,长久没消息,我们都开玩笑说他是不是搞不出来,准备辞职跑路了。
时间就这样来到了八九月份,慢慢开始出版本了,体验下来还是不行。响应速度上来了,声音变了,在什么手机上听起来都扁扁的,速度快了字头字尾都一片模糊,累耳朵。这段时间,我们换了好几种开发方案,不知道多少次把原来做的推翻了重来,但不行还是不行,想想,干脆找讯飞做个定制好了,结果人讯飞根本不知道我们说的声音太扁了、小燕的声音像是感冒了是啥意思,拉了个群讨论,起初每次开会都跟在说玄学一样,人家gat不到我们的点,也不理解为什么我们对响应速度有那么高的要求。
好在经过一段时间磨合以后,沟通终于慢慢变的有效了,讯飞方面还是理解了我们的诉求。开始站在视障者操作读屏软件的角度改善语音库的速度,理解了读屏软件的操作逻辑,为什么视障者对速度如此敏感等问题。又进一步,从频率、响度等方面改善语音库发音不清晰的问题,才让我们得到了一个清晰的语音库。
这个过程非常艰难,因为据讯飞的工程师说,之前的语音库并不是他们做的,现在要真正理解这些问题其实很难,但因为长期的沟通,也终于让他们彻底理解了视障者的使用场景,甚至改变了他们的一些偏见和认知误区。例如,最初在他们看来语音最重要的是朗读清楚,速度加快以后的朗读效果并不在考虑范围之内。但沟通以后他们能够理解,视障者对朗读速度的需求是很多明眼人难以想象的,因为在视障者的使用场景中,我们所使用的语速往往是他们根本难以听清的。但要他们完全将语音库做成之前的样子,那还是不现实的,不过能做多少算多少吧,让他们解决一部分,剩下的我们慢慢啃,这才一点一点让语音库听上去明显好了起来。直到我们对外正式拿出版本,音色和音质上几乎已经和以前的一样了,而响应速度方面相对于旧版本还有了相当不错的提升。
这里面还有个插曲,讯飞提供的新版语音库当中有几个角色,除了普通话外,还有英文和四川话、东北话等地方口音的,其实挺好玩儿的。但听来听去,音质实在太差了,而且还多占用了近 10 MB的存储,我们响了想,又给拿掉了。都搞到这个程度了,能保证我们原有的发音角色一个不少,并且发音质量不受影响,那还是见好就收吧。不过还是希望以后能优化出更多的高质量发音角色,从而满足我们对好语音库的期盼。虽然现在来看的确不行,但谁说朗读效果和响应速度就永远都会像现在这样不能共存呢?说不定哪一天,无论怎样调整发音速度,也能无限接近真人呢?科技这东西最擅长的,本身就是把不可能变为可能,就像十年前我们始终无法想象,有一天,AI语音会听起来如此自然一样,大家一起期待吧。
和大家聊这么多,其实是想说。去年在点明秀场我们跟你们吹牛,说我们的语音库很快就能搞出来和大家见面,结果一拖就是一年,这一年里,经常接到一些询问。说 64 位的语音库是什么声音啊,有哪些角色啊。我们也一再表示,64 位语音库主要不是改变声音和角色,而是一个非常必要的升级。同时,为了最大程度的不影响大家升级后的体验,我们首先要确保,这个升级是无感的,即不能因为要升级到 64 位而影响到用户的体验,尤其是带来退步的体验。读屏软件是一个产品,同时也是一项服务,而语音库毋庸置疑是读屏软件的灵魂,因此,无论多困难,我们首先都需要照顾到用户的感受,这才是一个产品的长久生存之道。
此外,其实就以语音库这件事而言,尽管现在 AI 语音盛行,离线语音越来越不占优势,但这并不代表离线语音就不再受到开发厂商的支持,因为仍然有大量的场景,例如我们刚刚提到的柜台软件等,在大部分情况下,仍然需要离线语音的快捷和便利。而对于读屏软件而言,我们最需要做的,是和语音厂商进行充分的交流与沟通,需要表达我们对语速、自然程度、响应速度等不同方面的需求。只有厂商充分了解了我们这个群体,才能真正为我们提供更好的服务。点明和讯飞语音的交流,其实不仅仅照顾到了点明软件的优化,同时,也让语音厂商了解了,为屏幕阅读器提供语音服务时,应该注意哪些问题,这才是最有意义之处。