最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網 會員登陸 & 注冊

關于使用 VITS對模型進行推理的時候自己的一點思考+搜尋模型并完成推理新手教程

2023-06-16 00:11 作者:就讀讀書  | 我要投稿

起因是本人在下載了模型和配置文件(.pth和..json文件)后,使用CjangCjengh?大佬的moegoe GUI想直接進行推理。然后發(fā)現了一個問題,我下的明明是一個人的模型的啊,怎么說話人里那一欄都是其他角色沒有我想要的呢?本文章以推理禪雅塔的模型為例,分析原因以及教你正確的姿勢進行推理。在這里先感謝CjangCjengh、huggingface里的zomehwh等大佬提供的免費資源。

附圖,可見有很多角色但是翻完都翻不到禪雅塔(我這里說明一下,我產生這個問題也是因為我在huggingface的這個空間里下的模型和config.json,才會出現這個問題,如果你也是下載的huggingface里排名第一空間里的模型,有小概率出現這個疑惑):

甚至為了這個問題我還到處到Google、github、bilibili去找類似的解決辦法,都沒有找到...于是我還提出過這個在各位大佬們看起來很蠢的問題“為什么我下的單人模型只能讓他扮演原神里的音色,而且說話的聲音很怪?”,當時獲得的回答是“我沒聽懂你的問題..."

好了,多的廢話不說了,總之最后我解決了這個問題并且知道了發(fā)生的原因。如果你跟我一樣是一個這個領域的純新手,目前已有的整合包不能滿足你的對某些特定角色音色的需要,你也可以參考一下我的解釋(不看問題也不大,如果你不會用現有的模型進行推理的話想直接推理可以轉到我下面的教程):

---------------------------------------------------------------------------------------------------------------------

我解釋一下這個問題發(fā)生的原因,原因出現在配置文件config.json上。這里面有一個叫n_speakers的東西,如果你下的模型里的config.json的這個n_speakers不為0,那么它多半是個多人模型,至于最下面的speakers沒有特殊的意義,這是對每一個音色打的標簽。

(附圖)

data下的n_speakers為804,這意味著有804種說話者。

speakers里的'\u7279...'之類的是中文的編碼,沒有特殊的意義。

下面我解釋一下它是怎么實現在一個模型中多音色的轉變,也就是在你的說話人里面選擇不同的角色出現了不一樣的語調和語速之類的現象。多人模型中,通常會有一個叫speaker?embedding的東西,這是一個嵌入向量,它被訓練用于捕捉和模擬每個特定說話者的音色特征。這個嵌入向量在訓練過程中被學習,并在合成語音時使用。當你選擇一個特定的說話者作為輸入時,模型會查找該說話者對應的嵌入向量,并用它來影響語音的生成,從而模擬該說話者的音色。
你變換標簽(說話者姓名)實際上就是通過調整嵌入向量來模擬多種不同的音色,所以在多人模型中我們無需為每個說話者單獨訓練一個完整的模型。

里面的speakers順序排列,和它對應的這個嵌入向量是一一對應的。所以你要是出現了和我一樣的問題,你可以先檢查n_speakers這里,那個speakers一般不是問題所在..(前面什么都不知道的情況下我還在這里卡了很久)

不過一般你在其他地方下的打包好的模型都會有配置文件整合在一起,很難出現這樣的問題。我是因為在huggingface上下載模型然后和自己現有的config搞錯亂了。。

---------------------------------------------------------------------------------------------------------------

以上就是原理的部分解釋..BTW,如果你也有喜歡的角色,但是電腦配置不太支持訓練自己的模型,建議你可以去Huggingface找一些大佬們的模型下載,和我一樣的小白可以參考一下我這個淺淺的教程...

下面是用你已經下載好了的現有模型和配置文件進行推理(讓你的模型說話)教程:

第一步,在space里找一個你喜歡的模型:

huggingface隨便找一個模型,這里以禪雅塔為例

第二步,下載模型,下載config.json:

記住這里的config是默認多人模型的,默認給的角色里沒有我們要的。你可能要改里面的n_speakers


第三步,檢查config是不是我們之前那個問題:

????

這里就碰到我前面說的問題了,由于單人模型,我們就可以把n_speakers改成0。speakers隨便改個名字就行。

第四步,可以用moegoe進行推理了:

(moegoe下載地址:https://github.com/CjangCjengh/MoeGoe

這個界面是gui,需要搭配上面的moegoe.exe使用,更方便,建議安裝在同一目錄。下載地址:https://github.com/CjangCjengh/MoeGoe_GUI)

可以看到我們這里就只有一個說話者,zenyatta。如果你要改成兩人,多人,原理是一樣的。前提是你的模型不是單人模型。

第五步,輸入文本,推理,成功輸出音頻,成功截圖就不演示了,到這一步基本也沒有問題了:

記得看一行,如果是純日語模型可以不用[JA][JA]包圍,直接輸入日語即可。如果是日語中文混合模型需要你用[JA][JA]或[ZH][ZH]包圍,否則你只會得到嘆息的聲音。。圖中就是一個日語中文混合的模型。樣例:[JA]こんにちはJA],[ZH]你好[ZH]。
如果是這樣的話就代表是一個日語模型,推理的時候文本直接輸入日語即可,樣例:こんにちは



到這里就全部結束了。當然,我也只是一個還在學習的純小白,要是你和我碰到了這個一樣的不可描述的問題,至少有了解決辦法orz...

如果這篇文章對你有幫助的話,請給我留下一個贊,謝謝。再次感謝付出的大佬們。

關于使用 VITS對模型進行推理的時候自己的一點思考+搜尋模型并完成推理新手教程的評論 (共 條)

分享到微博請遵守國家法律
渑池县| 阿荣旗| 武川县| 阜康市| 安康市| 壤塘县| 沙雅县| 钟山县| 湘乡市| 章丘市| 鹤庆县| 芜湖市| 胶州市| 凤阳县| 商都县| 无极县| 隆德县| 奉新县| 盱眙县| 蓝山县| 巫溪县| 宁陕县| 宝清县| 平度市| 新巴尔虎右旗| 遂溪县| 杭锦旗| 陇西县| 廊坊市| 河源市| 满城县| 曲沃县| 泽州县| 西昌市| 南投县| 崇明县| 额尔古纳市| 织金县| 达日县| 烟台市| 都匀市|