沒辦法之下他隻能采用聲母跟韻母同時播放的方式,他就裝了個adobe 公司的audition來製作混音,陳經發現通過混音的確可以產生漢字的語音,但是要求很嚴格,首先錄出來的各聲母韻母長短必須相等,而且在混音的時候要把聲音文件中前麵沒有音量的部分剪掉,並且設置混音的時候還要非常地有耐心調整各種參數才能得出合適的聲音,錄音方麵如果錄出來的時間長度差不多的話還可以使用軟件處理一下使他們長度一致,最多音質沒那麽好,如果非要搞好一點的話每個聲母韻母都錄個幾十遍,總有一次合適吧,至於剪掉沒聲音的部分也很簡單,隻不過重複240次而已,相比錄入六千多個漢字來說少做了不少活,而最後一個也是最麻煩的一個就是如果混音了。
要知道這裏的混音並不是說通過別的軟件來,而是自己設計一個軟件,然後通過這個軟件來把聲母單純的聲音混合產生漢字的聲音,這也正是陳經所設想這個軟件最基本的功能,其它一切都要以這個功能為基礎,還好陳經雖然說並不參與v係統編寫,但是係統的代碼他都看過,並且也跟韋老他們討論過,現在v係統的雛形已經出來了,聲音處理部分也做好了,因此陳經可以參考這部分,另外再結合別的一些相關的資料應該可以做出這個軟件的功能,但是裏麵各種參數的設置就得經過不斷的調試才有可能成功了,不然的話發出的聲音就是四不像。
陳經不得已之下還是迴到了實驗室,本來這段時間是不打掉再去那了的,關於聲音處理方麵不是要迴實驗室看源碼才懂,這方麵陳經也不太熟悉,另外,錄下聲母和韻母的事也要交給韋老他們去辦了,怎麽說也是科大元老級的人物,這點事應該很容易辦好吧,到實驗室跟幾老一說,他們精神上支持陳經,不過這都給陳經來親自完成這個軟件了,他們也走不開啊,眼看係統都到了關鍵時刻了,還好科大本身也做過這種項目,他們介紹陳經去找一些導師來討論。
又在實驗室悶了三天陳經終於對聲音處理有所了解,對照著這些代碼起碼能勉強做出一個簡陋的混音器來了,之後聽從幾老的建議找到幾位做過tts語音係統方麵的老師,終於對這方麵有所了解,通過幾位老師的解析他才了解到,他現在的想法不是沒人想過,但是聲母跟韻母合成的聲音很難控製好,一不小心就會走調,要真正做到發出人聲還是比較麻煩的,因此現在的tts語音係統基本上都是直接錄每個漢字的聲音的,不過即使這樣陳經還是決定按他的設想來做,別人怎麽樣他管,但陳經心中就是有一個念頭,自己偏出來的程序要盡可能地小,軟件越小以後運用起來就越靈活,所以陳經還是從聲音合成方麵著手。
其它老師雖然沒有這方麵的經驗,但是他們設計傳統tts語音係統的過程對陳經還是有不少幫助的,起碼有些地方可以少走很多彎路,他重新對自己的計劃進行改變,首先新的語音係統以句為基礎,陳經本來是以詞為基礎的,但聽那幾位老師說以詞為基礎的話聽起來還是有些生硬,要達到更好的效果必須要以句為基礎逐句發音,而不是逐字或逐詞發音。
但也並不是說全盤否定的先前的工作,因為無論是逐句發音還是逐詞發音,這一切都要以逐字發音為基礎,一個一個字的發音做出來之後才能實現各個詞語的發音,而各詞的發音出來之後才能實現成句發音,其實逐句發音的難點就在於如何分句,如果有標點還好,兩個標點間做一句就成了,這時候成為詞語的按詞語的發音讀出來,不成詞語的就按單字發音讀出來,讀完一句就算逐句發音了,但是詞語的發音還有一個難題,那就是當其中的一個字與前後的兩個字都可以組成詞語時這個時候是讀出前麵那個詞的聲音還是後麵那個的,這又需要軟件能作出判斷。
而對於一句比較長的句子,中間又沒有標點隔開的,這種情況下就要通過軟件來分句了,同樣也可能產生某個詞語戓某個字既可跟前一分句連在一起也可跟後一分句連在一起的情況,這時一樣要軟件自行判斷詞語應該屬於那一分句。
這些問題在陳經看來是有一定的難度的,但是並不是做不出來,但是現在最主要的如何通過聲母和韻母的發音來合成單字的聲音,這方麵大家都沒有什麽經驗,陳經也隻能自行查找一些資料來看了,為此這段時間在宿舍裏上網查找資料,在教室裏則看從圖書館借來的書,旁邊的同學隻能對他作出一個字的評價——牛!
時間匆匆而過,大一的時光馬上又要過去,陳經大學的第一人暑假也即將來臨,有人說過辦法是人想出來的,這話沒錯,在語音合成這一方麵沒有任何人幫助的陳經終於找到了一個比較穩妥的方法實現漢字發音,陳經發現當各字的聲母和韻母混音之後,有一種特殊的情況出現,那就是先發出聲母和韻母的聲音,然後後麵又接上這個字的正確發音,而且這個發音是比較清晰的,基本不受專線作韻母的雜音影響,陳經在不斷試驗過後終於找到了適合的參數使得這個聲音更接近自然發音,隻要通過一定的措施剪去前麵部分就留下了一個跟人發出的聲音沒多少差距的發音了,陳經找到這個參數之後馬上用韋老他們找人做好的聲母韻母發音來試,果真發出了清晰準確的漢語聲音。
做完這個基礎的之後隻要把各個漢字用拚音表示那就可能通過拚音發出這些字的聲音了,並且不僅一級二級漢字可以使用,就算是一些生僻字,隻要知道它們的漢語拚音一樣可以發出它們的語音來,並且這種主意係統占用空間極少,每個字就隻需保存它們的專線和韻母就行了,陳經把所有的聲母和韻母包括各韻母的音調都重新排列用1到240的二進製數字表示,而一字節可以表示256個數字的,這樣一來每個漢字聲母加上韻母隻要兩個字節就可以表示出來了,而如果使用單字錄音的方式那母個字起碼也要十k,這一算就是幾千部的差距,雖說編程方麵複雜一點,但是這一切老師值得的。
陳經為了趕在暑假之前完成這個軟件他又迴複到了不去教室的狀態,終於在期末考試前做出了一個tts發音引擎,通過一些發音軟件一試發現語音的連續性還不錯,但是音質跟別的tts軟件還是有一點差距的,不過也算可以了,這是合成的聲音,又不是原音,反正也比一般人說話要標準得多了,他還發現個別語句不是沒判斷好,不過這一切都不是這個學期內完成的事了,他已經決定留到下學期再解決這個問題了,暑假要迴家放鬆一下,已經一個學期不見自己父母了。
陳經把做好的tts語音引擎發到圈圈官網上供人試用,以便找出那些不合理的地方,這樣下學期一來就可以著手改進了,接下來要做的就是複雜備考了,雖說他不怕考試,不過總要做個樣子也來勤奮一下吧。
要知道這裏的混音並不是說通過別的軟件來,而是自己設計一個軟件,然後通過這個軟件來把聲母單純的聲音混合產生漢字的聲音,這也正是陳經所設想這個軟件最基本的功能,其它一切都要以這個功能為基礎,還好陳經雖然說並不參與v係統編寫,但是係統的代碼他都看過,並且也跟韋老他們討論過,現在v係統的雛形已經出來了,聲音處理部分也做好了,因此陳經可以參考這部分,另外再結合別的一些相關的資料應該可以做出這個軟件的功能,但是裏麵各種參數的設置就得經過不斷的調試才有可能成功了,不然的話發出的聲音就是四不像。
陳經不得已之下還是迴到了實驗室,本來這段時間是不打掉再去那了的,關於聲音處理方麵不是要迴實驗室看源碼才懂,這方麵陳經也不太熟悉,另外,錄下聲母和韻母的事也要交給韋老他們去辦了,怎麽說也是科大元老級的人物,這點事應該很容易辦好吧,到實驗室跟幾老一說,他們精神上支持陳經,不過這都給陳經來親自完成這個軟件了,他們也走不開啊,眼看係統都到了關鍵時刻了,還好科大本身也做過這種項目,他們介紹陳經去找一些導師來討論。
又在實驗室悶了三天陳經終於對聲音處理有所了解,對照著這些代碼起碼能勉強做出一個簡陋的混音器來了,之後聽從幾老的建議找到幾位做過tts語音係統方麵的老師,終於對這方麵有所了解,通過幾位老師的解析他才了解到,他現在的想法不是沒人想過,但是聲母跟韻母合成的聲音很難控製好,一不小心就會走調,要真正做到發出人聲還是比較麻煩的,因此現在的tts語音係統基本上都是直接錄每個漢字的聲音的,不過即使這樣陳經還是決定按他的設想來做,別人怎麽樣他管,但陳經心中就是有一個念頭,自己偏出來的程序要盡可能地小,軟件越小以後運用起來就越靈活,所以陳經還是從聲音合成方麵著手。
其它老師雖然沒有這方麵的經驗,但是他們設計傳統tts語音係統的過程對陳經還是有不少幫助的,起碼有些地方可以少走很多彎路,他重新對自己的計劃進行改變,首先新的語音係統以句為基礎,陳經本來是以詞為基礎的,但聽那幾位老師說以詞為基礎的話聽起來還是有些生硬,要達到更好的效果必須要以句為基礎逐句發音,而不是逐字或逐詞發音。
但也並不是說全盤否定的先前的工作,因為無論是逐句發音還是逐詞發音,這一切都要以逐字發音為基礎,一個一個字的發音做出來之後才能實現各個詞語的發音,而各詞的發音出來之後才能實現成句發音,其實逐句發音的難點就在於如何分句,如果有標點還好,兩個標點間做一句就成了,這時候成為詞語的按詞語的發音讀出來,不成詞語的就按單字發音讀出來,讀完一句就算逐句發音了,但是詞語的發音還有一個難題,那就是當其中的一個字與前後的兩個字都可以組成詞語時這個時候是讀出前麵那個詞的聲音還是後麵那個的,這又需要軟件能作出判斷。
而對於一句比較長的句子,中間又沒有標點隔開的,這種情況下就要通過軟件來分句了,同樣也可能產生某個詞語戓某個字既可跟前一分句連在一起也可跟後一分句連在一起的情況,這時一樣要軟件自行判斷詞語應該屬於那一分句。
這些問題在陳經看來是有一定的難度的,但是並不是做不出來,但是現在最主要的如何通過聲母和韻母的發音來合成單字的聲音,這方麵大家都沒有什麽經驗,陳經也隻能自行查找一些資料來看了,為此這段時間在宿舍裏上網查找資料,在教室裏則看從圖書館借來的書,旁邊的同學隻能對他作出一個字的評價——牛!
時間匆匆而過,大一的時光馬上又要過去,陳經大學的第一人暑假也即將來臨,有人說過辦法是人想出來的,這話沒錯,在語音合成這一方麵沒有任何人幫助的陳經終於找到了一個比較穩妥的方法實現漢字發音,陳經發現當各字的聲母和韻母混音之後,有一種特殊的情況出現,那就是先發出聲母和韻母的聲音,然後後麵又接上這個字的正確發音,而且這個發音是比較清晰的,基本不受專線作韻母的雜音影響,陳經在不斷試驗過後終於找到了適合的參數使得這個聲音更接近自然發音,隻要通過一定的措施剪去前麵部分就留下了一個跟人發出的聲音沒多少差距的發音了,陳經找到這個參數之後馬上用韋老他們找人做好的聲母韻母發音來試,果真發出了清晰準確的漢語聲音。
做完這個基礎的之後隻要把各個漢字用拚音表示那就可能通過拚音發出這些字的聲音了,並且不僅一級二級漢字可以使用,就算是一些生僻字,隻要知道它們的漢語拚音一樣可以發出它們的語音來,並且這種主意係統占用空間極少,每個字就隻需保存它們的專線和韻母就行了,陳經把所有的聲母和韻母包括各韻母的音調都重新排列用1到240的二進製數字表示,而一字節可以表示256個數字的,這樣一來每個漢字聲母加上韻母隻要兩個字節就可以表示出來了,而如果使用單字錄音的方式那母個字起碼也要十k,這一算就是幾千部的差距,雖說編程方麵複雜一點,但是這一切老師值得的。
陳經為了趕在暑假之前完成這個軟件他又迴複到了不去教室的狀態,終於在期末考試前做出了一個tts發音引擎,通過一些發音軟件一試發現語音的連續性還不錯,但是音質跟別的tts軟件還是有一點差距的,不過也算可以了,這是合成的聲音,又不是原音,反正也比一般人說話要標準得多了,他還發現個別語句不是沒判斷好,不過這一切都不是這個學期內完成的事了,他已經決定留到下學期再解決這個問題了,暑假要迴家放鬆一下,已經一個學期不見自己父母了。
陳經把做好的tts語音引擎發到圈圈官網上供人試用,以便找出那些不合理的地方,這樣下學期一來就可以著手改進了,接下來要做的就是複雜備考了,雖說他不怕考試,不過總要做個樣子也來勤奮一下吧。