本發(fā)明屬于文本語音轉(zhuǎn)換,具體涉及一種克隆音色進(jìn)行tts在高并發(fā)場景下的解決方法。
背景技術(shù):
1、文本到語音(text-to-speech,tts)技術(shù)的核心目標(biāo)是將文本轉(zhuǎn)化為自然流暢的語音輸出。近年來,多模態(tài)大型語言模型(multimodal?large?language?model,llm)的發(fā)展顯著推動(dòng)了語音合成技術(shù)的革新,其中音色克?。╲oice?cloning)作為關(guān)鍵分支,致力于通過少量樣本復(fù)現(xiàn)特定說話人的音色特征。
2、當(dāng)前音色克隆與tts(文本到語音)技術(shù)已從依賴大規(guī)模標(biāo)注數(shù)據(jù)的傳統(tǒng)模型(如hmm、dnn)轉(zhuǎn)向基于少樣本學(xué)習(xí)的大語言模型微調(diào)方案。例如,gpt-sovits僅需5秒語音即可生成80%-95%相似度的克隆音頻,llasa?tts通過llama?8b大模型實(shí)現(xiàn)情感與風(fēng)格的精細(xì)化控制,而cosyvoice2通過輕量化設(shè)計(jì)(0.5b參數(shù))和流式輸出技術(shù)降低延遲。
3、在現(xiàn)有技術(shù)中,cosyvoice作為流式語音合成模型技術(shù),本身已經(jīng)具備很多優(yōu)秀的特征了。然而,現(xiàn)有音色克隆tts技術(shù)雖在音色相似度和流式低延遲方面取得了重要突破,但模型本身需要占用大量gpu顯存(如?cosyvoice2-0.5b單次推理約需6gb),在并發(fā)量增大時(shí)容易導(dǎo)致顯存飽和和推理任務(wù)排隊(duì),加劇硬件成本,流式合成需要持續(xù)推送音頻數(shù)據(jù),帶寬壓力驟增且網(wǎng)絡(luò)波動(dòng)容易引發(fā)播放卡頓,與此同時(shí),為了保持低延遲輸出,客戶端通常要維持大量長連接,一旦并發(fā)連接數(shù)激增,會帶來嚴(yán)重的內(nèi)存與cpu負(fù)載,并在網(wǎng)絡(luò)中斷后導(dǎo)致“重連風(fēng)暴”。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的目的是提供一種克隆音色進(jìn)行tts在高并發(fā)場景下的解決方法,能夠通過分段并行、動(dòng)態(tài)負(fù)載均衡、流式分片寫入與彈性調(diào)度等手段,既保證用戶端低延遲首包啟動(dòng),又能最大化地利用后端算力與網(wǎng)絡(luò)資源、平滑應(yīng)對高并發(fā)請求。
2、本發(fā)明采取的技術(shù)方案具體如下:
3、一種克隆音色進(jìn)行tts在高并發(fā)場景下的解決方法,包括:
4、接收待合成文本,按標(biāo)點(diǎn)符號規(guī)則將其分割為多個(gè)文本片段;
5、將多個(gè)文本片段并行發(fā)送至模型網(wǎng)關(guān),由模型網(wǎng)關(guān)通過預(yù)設(shè)負(fù)載均衡策略分配至對應(yīng)的音色克隆模型實(shí)例;
6、控制音色克隆模型實(shí)例以流式方式生成對應(yīng)文本片段的音頻流,并實(shí)時(shí)存儲至對象存儲系統(tǒng)生成獨(dú)立音頻文件;
7、當(dāng)首個(gè)文本片段對應(yīng)的獨(dú)立音頻文件生成完成時(shí),立即向客戶端返回包含全部音頻文件預(yù)定義url的有序列表,使客戶端可順序下載播放,同時(shí)后臺持續(xù)生成剩余音頻文件。
8、在一種優(yōu)選方案中,接收待合成文本,按標(biāo)點(diǎn)符號規(guī)則將其分割為多個(gè)文本片段的步驟,包括:
9、tts?api系統(tǒng)接收待合成文本,檢測待合成文本中的句子邊界標(biāo)點(diǎn)符號集,其中,標(biāo)點(diǎn)符號集包括句號、問號、感嘆號和分號;
10、在每個(gè)檢測到的邊界標(biāo)點(diǎn)符號位置執(zhí)行初級分割,生成初始文本段;
11、若初級分割產(chǎn)生的文本段長度小于預(yù)設(shè)字符條件時(shí),則向后合并至相鄰段直至預(yù)設(shè)字符條件;
12、為每個(gè)初始文本段附加順序標(biāo)識符,得到多個(gè)文本片段。
13、在一種優(yōu)選方案中,預(yù)設(shè)字符條件為十個(gè)字符。
14、在一種優(yōu)選方案中,將多個(gè)文本片段并行發(fā)送至模型網(wǎng)關(guān),由模型網(wǎng)關(guān)通過預(yù)設(shè)負(fù)載均衡策略分配至對應(yīng)的音色克隆模型實(shí)例的步驟,包括:
15、基于每個(gè)文本片段創(chuàng)建獨(dú)立請求包;
16、通過異步線程池將多個(gè)獨(dú)立請求包批量推送至模型網(wǎng)關(guān)的負(fù)載均衡代理入口;
17、基于模型網(wǎng)關(guān)獲取實(shí)時(shí)資源監(jiān)控?cái)?shù)據(jù),并執(zhí)行預(yù)設(shè)負(fù)載均衡策略,將多個(gè)獨(dú)立請求包分配至對應(yīng)的音色克隆模型實(shí)例。
18、在一種優(yōu)選方案中,獨(dú)立請求包包括文本片段內(nèi)容、順序標(biāo)識符、音色源文件的哈希值以及音頻參數(shù)配置。
19、在一種優(yōu)選方案中,控制音色克隆模型實(shí)例以流式方式生成對應(yīng)文本片段的音頻流,并實(shí)時(shí)存儲至對象存儲系統(tǒng)生成獨(dú)立音頻文件的步驟,包括:
20、接收獨(dú)立請求包,解析其中的文本片段內(nèi)容、順序標(biāo)識符、音色源文件的哈希值以及音頻參數(shù)配置;
21、基于音色源文件的哈希值加載對應(yīng)的音色克隆模型實(shí)例,并配置音頻參數(shù);
22、基于加載的音色克隆模型實(shí)例,以流式方式生成與文本片段內(nèi)容對應(yīng)的音頻數(shù)據(jù)流;
23、將音頻數(shù)據(jù)流分割為連續(xù)的數(shù)據(jù)塊;
24、將分割后的數(shù)據(jù)塊實(shí)時(shí)上傳至對象存儲系統(tǒng);
25、在對象存儲系統(tǒng)中,根據(jù)順序標(biāo)識符和音色源文件的哈希值生成唯一的音頻文件標(biāo)識,并將接收到的數(shù)據(jù)塊順序?qū)懭胍纛l文件標(biāo)識對應(yīng)的獨(dú)立音頻文件中。
26、在一種優(yōu)選方案中,當(dāng)首個(gè)文本片段對應(yīng)的獨(dú)立音頻文件生成完成時(shí),立即向客戶端返回包含全部音頻文件預(yù)定義url的有序列表,使客戶端可順序下載播放,同時(shí)后臺持續(xù)生成剩余音頻文件的步驟,包括:
27、實(shí)時(shí)監(jiān)控多個(gè)文本片段對應(yīng)的獨(dú)立音頻文件的生成狀態(tài);
28、若檢測到首個(gè)文本片段對應(yīng)的獨(dú)立音頻文件在對象存儲系統(tǒng)中完成寫入并關(guān)閉,則立即生成并返回按順序標(biāo)識符排序的全部預(yù)定義url列表至客戶端;
29、在向客戶端返回有序url列表之后,后臺繼續(xù)執(zhí)行將多個(gè)文本片段并行發(fā)送至模型網(wǎng)關(guān)處理剩余文本片段的流程,直至所有文本片段對應(yīng)的獨(dú)立音頻文件均在對象存儲系統(tǒng)中生成完畢;
30、當(dāng)客戶端請求未生成文件時(shí),返回包含等待時(shí)間的中間響應(yīng)。
31、在一種優(yōu)選方案中,若檢測到首個(gè)文本片段對應(yīng)的獨(dú)立音頻文件在對象存儲系統(tǒng)中完成寫入并關(guān)閉,則立即生成并返回按順序標(biāo)識符排序的全部預(yù)定義url列表至客戶端的步驟,包括:
32、若檢測到首個(gè)文本片段對應(yīng)的獨(dú)立音頻文件在對象存儲系統(tǒng)中完成寫入并關(guān)閉,根據(jù)多個(gè)文本片段的順序標(biāo)識符,為每個(gè)文本片段在對象存儲系統(tǒng)中生成一個(gè)預(yù)定義的url;
33、將生成的url按照順序標(biāo)識符的數(shù)值由小到大排序,形成有序url列表;
34、立即向發(fā)起請求的客戶端返回有序url列表。
35、在一種優(yōu)選方案中,當(dāng)客戶端請求未生成文件時(shí),返回包含等待時(shí)間的中間響應(yīng)的步驟,包括:
36、實(shí)時(shí)監(jiān)測客戶端對有序列表中后續(xù)url的下載請求;
37、若檢測到客戶端請求下載的音頻文件尚未在對象存儲系統(tǒng)中生成完畢時(shí),則提升對應(yīng)文本片段在模型網(wǎng)關(guān)中的處理優(yōu)先級,向客戶端返回狀態(tài)碼及預(yù)計(jì)等待時(shí)間,同時(shí)觸發(fā)對象存儲系統(tǒng)中對應(yīng)文本片段的寫入完成監(jiān)聽,當(dāng)監(jiān)聽到對應(yīng)文本片段完成寫入時(shí),立即向客戶端推送可重定向至完整文件的最終url。
38、以及,一種克隆音色進(jìn)行tts在高并發(fā)場景下的解決終端,包括:
39、一個(gè)或多個(gè)處理器;
40、存儲裝置,其上存儲有一個(gè)或多個(gè)程序;
41、當(dāng)一個(gè)或多個(gè)程序被一個(gè)或多個(gè)處理器執(zhí)行,使得一個(gè)或多個(gè)處理器實(shí)現(xiàn)克隆音色進(jìn)行tts在高并發(fā)場景下的解決方法。
42、本發(fā)明取得的技術(shù)效果為:
43、本發(fā)明,在通過文本分段并行,首個(gè)片段往往延遲較低,即可生成并返回給客戶端,相比傳統(tǒng)串行等整段合成的方式,大幅縮短用戶等待時(shí)間,并在一個(gè)音頻生成完畢后返回,可以在高并發(fā)下有效減少用戶等待時(shí)間,減少網(wǎng)絡(luò)帶寬與延遲壓力,實(shí)時(shí)性得到保證,且不會出現(xiàn)重連災(zāi)難,并且可以充分利用底層模型服務(wù),不會受到cosyvoice2模型串行處理特性的影響,客戶端可立即開始播放首段音頻,即便后續(xù)段落尚在合成,也不會影響前面內(nèi)容的連續(xù)播放體驗(yàn),在并發(fā)量增加時(shí),模型網(wǎng)關(guān)可動(dòng)態(tài)將請求分散到多臺gpu實(shí)例,避免單卡顯存占滿后出現(xiàn)長隊(duì)列等待,各實(shí)例按需加載或卸載模型,有效降低顯存碎片化,保證顯存利用。