女人被狂躁到高潮视频免费无遮挡,内射人妻骚骚骚,免费人成小说在线观看网站,九九影院午夜理论片少妇,免费av永久免费网址

當(dāng)前位置:首頁 > > 了不起的程序員
[導(dǎo)讀]今天給大家分享一個(gè)國(guó)產(chǎn)的,文字和語音互轉(zhuǎn)的開源工具:PaddleSpeech。

哈嘍,大家好,我是月亮。一個(gè)工作n年的老程序員啦,平時(shí)喜歡研究各種有意思的小工具,每周定時(shí)分享給大家~

今天給大家分享一個(gè)國(guó)產(chǎn)的,文字和語音互轉(zhuǎn)的開源工具:PaddleSpeech。

說起文字轉(zhuǎn)語音,應(yīng)用場(chǎng)景還是非常多的,月亮以前工作時(shí)就遇到過處理文字轉(zhuǎn)語音的情況,當(dāng)時(shí)需要給一篇簡(jiǎn)短的稿子進(jìn)行配音工作。

一般的公司都是沒有專門的配音人員的,所以當(dāng)時(shí)這項(xiàng)需求可是讓產(chǎn)品經(jīng)理小小的頭疼了一下。

后來調(diào)研了某度和某大訊飛,在試聽了這幾個(gè)平臺(tái)文字轉(zhuǎn)語音的效果后,成功制作出了一段還不錯(cuò)的音頻。

要是當(dāng)時(shí)研究過一些音頻技術(shù),可能處理起來就會(huì)更容易啦。

工具安裝

截止本文寫作的時(shí)間,PaddleSpeech在Github上收獲了4.6K Star,可以說是很優(yōu)秀的工具包啦~

TA可以實(shí)現(xiàn)文字轉(zhuǎn)語音、語音轉(zhuǎn)文字、語音翻譯等功能,功能支撐還是挺齊全的。

首先,安裝PaddleSpeech。

由于PaddleSpeech是依賴于paddlepaddle的,所以先安裝paddlepaddle。

本文演示使用的是Windows操作系統(tǒng),如果你是其他操作系統(tǒng),請(qǐng)參考paddlepaddle官網(wǎng)進(jìn)行安裝。

python -m pip install paddlepaddle==2.3.1 -i https://mirror.baidu.com/pypi/simple

接著,安裝PaddleSpeech,命令如下。

pip install pytest-runner
pip install paddlespeech

接著開始等待... ...

此處切換為國(guó)內(nèi)下載源,就會(huì)特別快。

注:安裝請(qǐng)使用python3.7,步驟、環(huán)境嚴(yán)格按照官網(wǎng)要求來執(zhí)行,否則出錯(cuò)很難處理。

30秒入門體驗(yàn)

文字轉(zhuǎn)語音

首先來體驗(yàn)一下最基礎(chǔ)的文字轉(zhuǎn)語音,這樣咱們就可以得到一份語音文件,語音可以用于后續(xù)的其他功能的測(cè)試。

直接在python代碼中,輸入想要轉(zhuǎn)換的文字即可,代碼如下。

使用的文字為:我愛吃西紅柿。

from paddlespeech.cli.tts.infer import TTSExecutor
out = TTSExecutor()
out(text="我愛吃西紅柿。", output="tomato.wav")

生成了一份名為 tomato.wav 的語音文件,我試聽了一下,雖然有一些明顯的AI合成聲音的味道,但是總體效果還是不錯(cuò)的。

音頻貼在下面,大家可以試聽一下。

語音轉(zhuǎn)文字

為了保證轉(zhuǎn)換正確,我這里直接使用上面生成的語音。

如果自己錄一段語音的話,肯定會(huì)有些雜音,不知道會(huì)不會(huì)影響轉(zhuǎn)換效果,用工具生成的語音肯定沒有問題。

轉(zhuǎn)換代碼如下。

from paddlespeech.cli.asr.infer import ASRExecutor
asr = ASRExecutor()
result = asr(audio_file="tomato.wav")
print(result)

這里是轉(zhuǎn)換結(jié)果。

結(jié)果轉(zhuǎn)換非常正確,識(shí)別無誤。

如果大家想要測(cè)試更有難度的場(chǎng)景,可以自己錄制語音進(jìn)行嘗試,比如說錄音里加一些窗外的鳴笛的嘀嘀聲,風(fēng)扇的呼呼聲...

自動(dòng)添加標(biāo)點(diǎn)符號(hào)

除開語音和文字轉(zhuǎn)換的處理,PaddleSpeech還可以對(duì)單獨(dú)的文字進(jìn)行處理。

比如下面這段缺少標(biāo)點(diǎn)的文字,TA能自動(dòng)給識(shí)別出來應(yīng)該斷句的位置,并且給加上合適的標(biāo)點(diǎn)。

要我說呀那西紅柿有啥好吃的還是黑椒牛排好吃

代碼如下。

from paddlespeech.cli.text.infer import TextExecutor
text_punc = TextExecutor()
result = text_punc(text="要我說呀那西紅柿有啥好吃的還是黑椒牛排好吃")

不知何故,在python代碼中執(zhí)行,沒有給到正確的運(yùn)行結(jié)果,所以我嘗試了一下用命令行的方式。

paddlespeech text --task punc --input "要我說呀那西紅柿有啥好吃的還是黑椒牛排好吃" 

運(yùn)行結(jié)果如下。

# 添加標(biāo)點(diǎn)的結(jié)果 要我說:呀,那西紅柿有啥好吃的?還是黑椒牛排好吃。

稍微有一點(diǎn)點(diǎn)不正確,感覺上,xx說,這個(gè)xx直接被當(dāng)作某人在說話了。

這里我換了兩個(gè)例子,重新試了一下。

校長(zhǎng)說胸前除了?;談e別別的

校長(zhǎng)說今天中午作業(yè)沒交的全部留下

paddlespeech text --task punc --input "校長(zhǎng)說胸前除了?;談e別別的" paddlespeech text --task punc --input "校長(zhǎng)說今天中午作業(yè)沒交的全部留下" # 測(cè)試結(jié)果 校長(zhǎng)說:胸前除了?;?,別,別,別的。
校長(zhǎng)說:今天中午,作業(yè)沒交的,全部留下。

測(cè)試結(jié)果不是特別精準(zhǔn),但是一些基本的、沒有歧義的句子,工具還是能自動(dòng)識(shí)別出來的。

自動(dòng)翻譯

PaddleSpeech另一個(gè)強(qiáng)悍的功能,在于TA可以直接將語音進(jìn)行翻譯。

下面用I like eating tomatoes來演示。

翻譯成中文,應(yīng)該是:我喜歡吃西紅柿。

示例中我用兩段音頻測(cè)試,但是沒有翻譯成功。

根據(jù)官方描述,語音翻譯功能當(dāng)前只能使用Ubuntn系統(tǒng)體驗(yàn)。

而我的服務(wù)器安裝的是centos系統(tǒng),這個(gè)功能就不演示了,同時(shí)官方也推薦大家使用Linux操作系統(tǒng)來使用本項(xiàng)目。

如果感興趣,大家可以自行嘗試PaddleSpeech更多功能。

重要提醒

在這里還是要提醒大家,一定按照官網(wǎng)要求的版本來進(jìn)行環(huán)境安裝,本文中的示例,我用了整整一天才把環(huán)境問題搞定。

可以說是非常麻煩了,安裝到一半的時(shí)候,我就有預(yù)感要出問題,最后果然環(huán)境問題一個(gè)接著一個(gè)出現(xiàn)。

一般像這類耗時(shí)比較多的技術(shù)文,我都會(huì)周末一口氣寫完,這次直接消耗掉了半個(gè)周末。


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀
關(guān)閉