我們在「【語音合成技術 - GPT-SoVITS】如何架設API伺服器」分享如何架設API V3版本的TTS服務, 但發音的部份似乎只有早期的API版本才使用到g2pw這類的技術, 因此我們可能會需要將API退回舊版, 在這裡我們也整理了早期版本api與api_v2的一些差異, 期望幫助到正在面臨選擇的朋友們!
差異最大的部份是api_v2.py改善了api.py的複雜配置, 每個入口都留有配置的影子, 這對於初次接觸的朋友來說會比較難以理解, 接下來我們將針對兩個版本的API進行細部解析。
大致上比較複雜的地方會在「get_phones_and_bert」, 這裡多了一些文字清洗、字音匹配、bert的流程, 對於要細部調整發音的朋友來說或許會是一個重要的資訊, 也歡迎一起分享對此原始碼的見解。
與api.py差別在於將文字處理的部份抽象成TextPreprocessor, 架構上更加簡潔易讀, 對於二次開發的需求來說也較容易入門。
當我們需要對於一個開源專案進行一些功能上的修改時, 第一步就是要先解析專案組成的架構, 並找出核心所在, 最好的方法就是繪製成圖的方式, 讓我們更快的進入狀況, 以利我們能夠順利的修改。