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

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

TTS (讀屏)語(yǔ)速急速調(diào)節(jié)

2023-08-13 11:46 作者:南柯-hw  | 我要投稿

TTS(Text-to-Speech,即文本到語(yǔ)音)技術(shù)是將文本信息轉(zhuǎn)化為可聽(tīng)的語(yǔ)音輸出的技術(shù)。本文重點(diǎn)關(guān)注 TTS 在輔助盲人和視障人士閱讀文本相關(guān)領(lǐng)域。

背景

前幾天在 B 站刷到一個(gè)視頻《【諾子】盲人是如何做飯的?看不見(jiàn)也絕對(duì)安全的微波爐料理!》。UP 主是一位盲人。注意到她晚上還會(huì)直播,感覺(jué)比較好奇,就去看了一下。

她直播是用彈幕機(jī)讀觀眾發(fā)的彈幕,然后與觀眾互動(dòng)的??戳艘粫?huì)兒,正好聊天彈幕機(jī)語(yǔ)速有點(diǎn)慢,經(jīng)常會(huì)堆積彈幕。

此時(shí)程序員內(nèi)心戲:隨便找個(gè) TTS 庫(kù),分分鐘搞定。

需求

可能大家不是很能理解要求提高語(yǔ)速是個(gè)什么概念。這里先給兩段最終效果展示。

默認(rèn) pyttsx3 語(yǔ)速上限。(UP 主覺(jué)得也有點(diǎn)慢)

【后續(xù)看情況補(bǔ)充音頻吧】

朗讀的內(nèi)容:這是 pyttsx 3 SAPI 5 最快速度朗讀,一般人稍微習(xí)慣一下,應(yīng)該就可以聽(tīng)清朗讀的內(nèi)容了。

下面是急速版最快速度朗讀的效果。

【后續(xù)看情況補(bǔ)充音頻吧】

朗讀的內(nèi)容:這是六倍速,滿速朗讀的效果,我相信一般沒(méi)有經(jīng)過(guò)訓(xùn)練的人,是聽(tīng)不清朗讀內(nèi)容的。

這次的目標(biāo)就是實(shí)現(xiàn)支持六倍速朗讀的方案。

調(diào)研

俗話說(shuō),人生苦短,我用 Python。那就開(kāi)干吧。開(kāi)始各種嘗試

  • Paddlespeech: 這個(gè) tts 庫(kù)應(yīng)該挺出名的,但是需要安裝 CUDA。應(yīng)該是用了深度學(xué)習(xí)。想想在 UP 主的環(huán)境下安裝 CUDA 就不太現(xiàn)實(shí),后面就不考慮神經(jīng)網(wǎng)絡(luò)的版本了。

  • 互聯(lián)網(wǎng)廠家 SDK: 像百度,訊飛等,都有自己的 SDK 。大概嘗試了一下(其實(shí)沒(méi)有成功)。想著在線版需要云端處理,延時(shí)上可能不太能接受。離線版又一直沒(méi)能成功。就也沒(méi)考慮了。

  • eSpeak NG:是一個(gè)自帶語(yǔ)音庫(kù)的 TTS 開(kāi)源版本。體驗(yàn)就是,espeak 的中文語(yǔ)音庫(kù)可用性有點(diǎn)差。

  • pyttsx3: 這個(gè)庫(kù)倒是不錯(cuò),一上手就能用。語(yǔ)速也能調(diào)節(jié),就是語(yǔ)速上限不滿足需求。它使用的是 windows 系統(tǒng) SAPI 。

到這里,其實(shí)已經(jīng)感覺(jué)到這個(gè)需求的難度了??赡芎瓦@個(gè)需求比較小眾也有關(guān)系吧。要實(shí)現(xiàn)一個(gè)急速版 TTS 也是那么容易的。

調(diào)研讀屏軟件

想到的另一個(gè)方案就是,直接調(diào)用 UP 主現(xiàn)在正在使用的讀屏軟件。想著讀屏軟件已經(jīng)實(shí)現(xiàn)高語(yǔ)速了,我也就不用已再實(shí)現(xiàn)一次了。

  • 爭(zhēng)渡讀屏:這也是 UP 主在用的讀屏軟件??戳艘幌抡糜?API。但是只有商業(yè)版支持 API。商業(yè)版現(xiàn)在要 1000 人民幣左右。

  • NVDA:這是一個(gè)開(kāi)源版本的讀屏工具。也有 API 支持。初看非常合適。但由于自身有讀屏功能,而 UP 主又同時(shí)在使用爭(zhēng)渡讀屏。會(huì)導(dǎo)致同時(shí)有兩個(gè)讀屏讀取屏幕上的內(nèi)容,會(huì)影響到其它功能的使用。

最終實(shí)現(xiàn)

雖然不能直接使用 NVDA ,但是 NVDA 開(kāi)源啊。并且確實(shí)可以急速朗讀,那就看 NVDA 源碼唄。

發(fā)現(xiàn),NVDA 調(diào)用的是 Windows 自帶的 Windows OneCore Voices SDK,具體來(lái)說(shuō)是 WinRT 下 Windows.Media.SpeechSynthesis 這個(gè)類(lèi)。

但是我 Windows 開(kāi)發(fā)比較少,經(jīng)過(guò)一番 C++, C# 的 WinRT 苦苦掙扎后,無(wú)意間發(fā)現(xiàn) Windows 官方有 winrt 的 python 庫(kù)。但是好像沒(méi)有維護(hù)了,不過(guò)有一個(gè)社區(qū)的 winsdk 還有維護(hù)。然后經(jīng)過(guò)一番調(diào)試,就成功實(shí)現(xiàn)了。

代碼量雖然不大吧,但“分分鐘”的事,卻花了差不多一周的時(shí)間,也是萬(wàn)萬(wàn)沒(méi)想到的。這么一個(gè)簡(jiǎn)單的需求,居然花了如此長(zhǎng)的時(shí)間。最后來(lái)附上一段樣例代碼,以及粉絲小企鵝幫忙給 UP 主做的彈幕機(jī) repo:?GitHub - xqe2011/danmuji


TTS (讀屏)語(yǔ)速急速調(diào)節(jié)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
沁源县| 满城县| 敦化市| 青浦区| 四子王旗| 岑巩县| 海口市| 四子王旗| 靖西县| 赣榆县| 顺昌县| 高州市| 建阳市| 山东| 宁蒗| 阆中市| 苍梧县| 信宜市| 罗田县| 灵寿县| 镇平县| 淅川县| 桃园县| 蒲城县| 介休市| 太和县| 霍邱县| 搜索| 沧源| 宜宾市| 义乌市| 共和县| 蚌埠市| 鄂托克前旗| 错那县| 吴旗县| 盱眙县| 青铜峡市| 四子王旗| 观塘区| 岐山县|