笔趣阁 > 武侠修真 > 万物起源 > 第38章 :初步实现语音功能

看更多诱惑小说请关注微信  npxswz    各种乡村  都市  诱惑      没办法之下他只能采用声母跟韵母同时播放的方式,他就装了个adobe 公司的aud来制作混音,陈经发现通过混音的确可以产生汉字的语音,但是要求很严格,首先录出来的各声母韵母长短必须相等,而且在混音的时候要把声音文件中前面没有音量的部分剪掉,并且设置混音的时候还要非常地有耐心调整各种参数才能得出合适的声音,录音方面如果录出来的时间长度差不多的话还可以使用软件处理一下使他们长度一致,最多音质没那么好,如果非要搞好一点的话每个声母韵母都录个几十遍,总有一次合适吧,至于剪掉没声音的部分也很简单,只不过重复240次而已,相比录入六千多个汉字来说少做了不少活,而最后一个也是最麻烦的一个就是如果混音了。

    要知道这里的混音并不是说通过别的软件来,而是自己设计一个软件,然后通过这个软件来把声母单纯的声音混合产生汉字的声音,这也正是陈经所设想这个软件最基本的功能,其它一切都要以这个功能为基础,还好陈经虽然说并不参与v系统编写,但是系统的代码他都看过,并且也跟韦老他们讨论过,现在v系统的雏形已经出来了,声音处理部分也做好了,因此陈经可以参考这部分,另外再结合别的一些相关的资料应该可以做出这个软件的功能,但是里面各种参数的设置就得经过不断的调试才有可能成功了,不然的话发出的声音就是四不像。

    陈经不得已之下还是回到了实验室,本来这段时间是不打掉再去那了的,关于声音处理方面不是要回实验室看源码才懂,这方面陈经也不太熟悉,另外,录下声母和韵母的事也要交给韦老他们去办了,怎么说也是科大元老级的人物,这点事应该很容易办好吧,到实验室跟几老一说,他们精神上支持陈经,不过这都给陈经来亲自完成这个软件了,他们也走不开啊,眼看系统都到了关键时刻了,还好科大本身也做过这种项目,他们介绍陈经去找一些导师来讨论。

    又在实验室闷了三天陈经终于对声音处理有所了解,对照着这些代码起码能勉强做出一个简陋的混音器来了,之后听从几老的建议找到几位做过tts语音系统方面的老师,终于对这方面有所了解,通过几位老师的解析他才了解到,他现在的想法不是没人想过,但是声母跟韵母合成的声音很难控制好,一不小心就会走调,要真正做到发出人声还是比较麻烦的,因此现在的tts语音系统基本上都是直接录每个汉字的声音的,不过即使这样陈经还是决定按他的设想来做,别人怎么样他管,但陈经心中就是有一个念头,自己偏出来的程序要尽可能地小,软件越小以后运用起来就越灵活,所以陈经还是从声音合成方面着手。

    其它老师虽然没有这方面的经验,但是他们设计传统tts语音系统的过程对陈经还是有不少帮助的,起码有些地方可以少走很多弯路,他重新对自己的计划进行改变,首先新的语音系统以句为基础,陈经本来是以词为基础的,但听那几位老师说以词为基础的话听起来还是有些生硬,要达到更好的效果必须要以句为基础逐句发音,而不是逐字或逐词发音。

    但也并不是说全盘否定的先前的工作,因为无论是逐句发音还是逐词发音,这一切都要以逐字发音为基础,一个一个字的发音做出来之后才能实现各个词语的发音,而各词的发音出来之后才能实现成句发音,其实逐句发音的难点就在于如何分句,如果有标点还好,两个标点间做一句就成了,这时候成为词语的按词语的发音读出来,不成词语的就按单字发音读出来,读完一句就算逐句发音了,但是词语的发音还有一个难题,那就是当其中的一个字与前后的两个字都可以组成词语时这个时候是读出前面那个词的声音还是后面那个的,这又需要软件能作出判断。

    而对于一句比较长的句子,中间又没有标点隔开的,这种情况下就要通过软件来分句了,同样也可能产生某个词语戓某个字既可跟前一分句连在一起也可跟后一分句连在一起的情况,这时一样要软件自行判断词语应该属于那一分句。

    这些问题在陈经看来是有一定的难度的,但是并不是做不出来,但是现在最主要的如何通过声母和韵母的发音来合成单字的声音,这方面大家都没有什么经验,陈经也只能自行查找一些资料来看了,为此这段时间在宿舍里上网查找资料,在教室里则看从图书馆借来的书,旁边的同学只能对他作出一个字的评价——牛!

    时间匆匆而过,大一的时光马上又要过去,陈经大学的第一人暑假也即将来临,有人说过办法是人想出来的,这话没错,在语音合成这一方面没有任何人帮助的陈经终于找到了一个比较稳妥的方法实现汉字发音,陈经发现当各字的声母和韵母混音之后,有一种特殊的情况出现,那就是先发出声母和韵母的声音,然后后面又接上这个字的正确发音,而且这个发音是比较清晰的,基本不受专线作韵母的杂音影响,陈经在不断试验过后终于找到了适合的参数使得这个声音更接近自然发音,只要通过一定的措施剪去前面部分就留下了一个跟人发出的声音没多少差距的发音了,陈经找到这个参数之后马上用韦老他们找人做好的声母韵母发音来试,果真发出了清晰准确的汉语声音。

    做完这个基础的之后只要把各个汉字用拼音表示那就可能通过拼音发出这些字的声音了,并且不仅一级二级汉字可以使用,就算是一些生僻字,只要知道它们的汉语拼音一样可以发出它们的语音来,并且这种主意系统占用空间极少,每个字就只需保存它们的专线和韵母就行了,陈经把所有的声母和韵母包括各韵母的音调都重新排列用1到240的二进制数字表示,而一字节可以表示256个数字的,这样一来每个汉字声母加上韵母只要两个字节就可以表示出来了,而如果使用单字录音的方式那母个字起码也要十k,这一算就是几千部的差距,虽说编程方面复杂一点,但是这一切老师值得的。

    陈经为了赶在暑假之前完成这个软件他又回复到了不去教室的状态,终于在期末考试前做出了一个tts发音引擎,通过一些发音软件一试发现语音的连续性还不错,但是音质跟别的tts软件还是有一点差距的,不过也算可以了,这是合成的声音,又不是原音,反正也比一般人说话要标准得多了,他还发现个别语句不是没判断好,不过这一切都不是这个学期内完成的事了,他已经决定留到下学期再解决这个问题了,暑假要回家放松一下,已经一个学期不见自己父母了。

    陈经把做好的tts语音引擎发到圈圈官网上供人试用,以便找出那些不合理的地方,这样下学期一来就可以着手改进了,接下来要做的就是复杂备考了,虽说他不怕考试,不过总要做个样子也来勤奋一下吧。

(https://www.duoduoxs.cc/biquge/15_15733/c4620363.html)


1秒记住笔趣阁网:www.duoduoxs.cc。手机版阅读网址:wap.duoduoxs.cc