自制有聲書閱讀器:用PaddleSpeech打開讀書新方式

? ? ? ?呂聲輝,飛槳開發(fā)者技術(shù)專家(PPDE),某網(wǎng)絡(luò)科技公司研發(fā)工程師。主要研究方向為圖像識別,自然語言處理等。
??AI Studio主頁
https://aistudio.baidu.com/aistudio/personalcenter/thirdview/227158
01 項目背景
? ? ? ?隨著互聯(lián)網(wǎng)的發(fā)展,普通用戶對于書籍展示形式的需求已由純文字變成了圖文、語音、視頻等多種形式,因此將文本書籍轉(zhuǎn)換為有聲讀物具有很大的市場需求。本文以飛槳語音模型庫PaddleSpeech提供的語音合成技術(shù)為核心,通過音色克隆、語速設(shè)置、音量調(diào)整等附加功能,展示有聲書籍的技術(shù)可行方案。

最終呈現(xiàn)效果如:player.bilibili.com/player.html?bvid=BV1x84y1V7SR
網(wǎng)頁體驗訪問地址:https://book.weixin12306.com/
02 環(huán)境準備
? ? ? ?PaddleSpeech 是基于飛槳的語音方向開源模型庫,用于語音和音頻中的各種關(guān)鍵任務(wù)的開發(fā),包含大量基于深度學習的前沿和有影響力的模型。首先進行PaddleSpeech安裝環(huán)境的配置,配置如下:

03 數(shù)據(jù)處理
? ? ? ?每本書的內(nèi)容均以json格式存放在txt文本中,路徑為/work/books/inputs/bookname.txt。為方便演示,這里以三國演義為例。

04 音頻合成
PART 1 段落句子分割
? ? ? ?以換行符"\n"分割為段落,以"。"分割為句子。

PART2 特殊字符處理
? ? ? ?在國學書籍中,有可能出現(xiàn)很多生僻字或者特殊符號,這里需要做針對性的替換。

PART3 音頻合成
? ? ? ?根據(jù)分割的ID,保存到對應位置。

PART4 音色克隆
? ? ? ?可以事先將不同音色音頻放置在?/work/sounds 目錄下。此處音色克隆部分的功能主要參考自PaddleSpeech語音克隆項目。
項目鏈接:https://aistudio.baidu.com/aistudio/projectdetail/4265795?channelType=0&channel=0

PART5 語速和音量調(diào)整

音色、語速和音量需要在 main.py 的頭部中設(shè)置。

PART6 查看生成結(jié)果
? ? ? ?最終切分好的數(shù)據(jù)在/work/outputs/sanguoyanyi目錄下,原始語速和音量音頻在outputs目錄下,指定語速和音量音頻在final目錄下。其中的outputs.txt為切分內(nèi)容,而音頻會按照每個章節(jié)以及每個章節(jié)的句子索引排序好。
以下為outputs.txt 內(nèi)容:

以下為第一回的每個句子wav格式音頻。

05 客戶端展示
? ? ? ?輸出第三部分生成好的內(nèi)容和音頻。這里用H5頁面簡單展示一下有聲書閱讀的效果,包括內(nèi)容展示和逐句朗讀高亮兩種功能。
? ? ? ?展示視頻可以到飛槳微信公眾號查看~
H5的具體代碼已放在GitHub 上,大家可在下方鏈接中查看:https://github.com/lvsh2012/book2audio
手機或者PC也可直接體驗:https://book.weixin12306.com/
06 總結(jié)
? ? ? ?通過PaddleSpeech可以簡單快速地實現(xiàn)語音合成功能,輕松實現(xiàn)書籍有聲化。使用者在這里需要關(guān)注下,當以H5展示播放效果時,需要注意內(nèi)容和音頻的對應關(guān)系。除了語音合成功能外,PaddleSpeech還提供了包括語音識別、聲紋提取、標點恢復等其他功能。相信大家基于PaddleSpeech可以在該領(lǐng)域挖掘出更多的可能性!
自制有聲書閱讀器:用PaddleSpeech打開讀書新方式的評論 (共 條)
