[Python系列] 文字轉語音

什么是TTS

????????TTS 是 Text-to-Speech 的縮寫,中文稱為“文本到語音”。它是一種將書面文本轉換為自然聽起來的語音的技術。TTS 技術廣泛應用于各種場景,如智能助手、語音合成、電子閱讀器等。
????????TTS 技術通過機械的、電子的方法產生人造語音。它隸屬于語音合成,是將計算機生成的或外部輸入的文字信息轉變為可以聽得懂的、流利的漢語口語輸出的技術。TTS 技術可以方便地為視力障礙人士閱讀文本,為智能設備提供人性化的交互方式等。
????????常見的 TTS 技術實現方式有拼接合成、參數合成和端到端合成等。其中,拼接合成是將多個預錄制的語音片段拼接成完整的語音;參數合成是通過調整語音參數生成自然音色的語音;端到端合成則是直接將文本轉換為語音,無需中間環節。

常用的TTS工具

微軟的tts工具,由于非常真實,現在很多營銷號都在使用

文本轉語音 – 真實 AI 語音生成器 | Microsoft Azure

Google 文字轉語音:https://texttospeech.google.com/
Amazon Polly:https://aws.amazon.com/polly/
Adobe Acrobat:https://www.adobe.com/products/acrobat.html
Balabolka:https://www.balabolka.com/
Natural Reader:https://www.naturalreaders.com/

Python實現文字轉語音

edge-tts介紹

edge-tts 是一個 Python 庫,它基于微軟的 Azure Cognitive Services 實現了文本到語音轉換(TTS)的功能。這個庫提供了一個簡單的 API,可以將文本轉換為語音,并且支持多種語言和聲音。edge-tts 繼承了 Azure 的文本轉語音功能,但它是免費使用的,這讓用戶能夠方便地在本地進行文本到語音的轉換。

安裝

使用 edge-tts 需要先安裝這個庫,可以通過 pip 命令來安裝:

pip install edge-tts

安裝完成后,可以通過命令行或者 Python 代碼來使用 edge-tts。例如,通過命令行,用戶可以輸入以下命令來將文本轉換為語音:

edge-tts --text "你好,世界" --voice zh-CN-XiaoyiNeural --write-media output.mp3

其中 --voice參數是選擇具體的語音,我們可以用以下命令查看具體有哪些語音

edge-tts --list-voices
Name: af-ZA-AdriNeural Gender: Female
........
........
........
Name: zh-CN-XiaoxiaoNeural Gender: Female
Name: zh-CN-XiaoyiNeural Gender: Female
Name: zh-CN-YunjianNeural Gender: Male
Name: zh-CN-YunxiNeural Gender: Male
Name: zh-CN-YunxiaNeural Gender: Male
Name: zh-CN-YunyangNeural Gender: Male
Name: zh-CN-liaoning-XiaobeiNeural Gender: Female
Name: zh-CN-shaanxi-XiaoniNeural Gender: Female
Name: zh-HK-HiuGaaiNeural Gender: Female
Name: zh-HK-HiuMaanNeural Gender: Female
Name: zh-HK-WanLungNeural Gender: Male
Name: zh-TW-HsiaoChenNeural Gender: Female
Name: zh-TW-HsiaoYuNeural Gender: Female
Name: zh-TW-YunJheNeural Gender: Male
Name: zu-ZA-ThandoNeural Gender: Female
Name: zu-ZA-ThembaNeural Gender: Male

我們查看output.mp3就可以很清楚地聽到一個小女孩的聲音,同時在命令行輸出了字幕:

WEBVTT00:00:00.100 --> 00:00:01.550
你好 世界

我們可以把這些字幕輸入到視頻剪輯文件中,就可以自動添加字幕了。

在python中使用

# coding = utf-8
import asyncioimport edge_ttssentence = r'這是一個句子'
voice = 'zh-CN-XiaoxiaoNeural'async def convert_to_mp3(text, rate, volume):tts = edge_tts.Communicate(text=text, voice=voice, rate=rate, volume=volume)await tts.save('output.mp3')asyncio.run(convert_to_mp3(sentence, '+10%', '+50%'))

????????這段代碼會創建一個 EdgeTTS 對象,將文本 “這是一個句子” 轉換成語音,并使用中文的語音,最后將輸出的音頻文件保存為 output.mp3。
????????edge-tts 還提供了許多其他的選項,例如可以通過 --rate 和 --volume 選項來調整語速和音量,或者通過 --list-voices 選項來查看可用的語音列表。

總之,edge-tts 是一個方便、免費且功能強大的 Python 庫,可以幫助用戶實現文本到語音的轉換。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/206904.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/206904.shtml
英文地址,請注明出處:http://en.pswp.cn/news/206904.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

對Spring源碼的學習:一

目錄 BeanFactory開發流程 ApplicationContext BeanFactory與ApplicationContext對比 基于XML方式的Bean的配置 自動裝配 BeanFactory開發流程 這里的第三方指的是Spring提供的BeanFactory,Spring啟動時會初始化BeanFactory,然后讀取配置清單&#…

外匯天眼:什么時段做外匯交易最好,有所謂的“最佳時間點”嗎?

在外匯交易的時候,很多手動交易的投資者不知道到底什么時間段操作交易最適合自己。 我們在進行選擇最佳交易時間的時候,一定要明白各時間段的全球各個市場的交易狀況,這樣你才能分配好自己的時間。 當然在通過技術分析與基本分析選擇好幣種后…

PostgreSQL 索引介紹和使用事項

索引內容 關鍵點 索引是一種數據結構,用于加快數據庫查詢的速度。它類似于書籍的目錄,可以快速定位到特定的數據頁。 PG數據庫支持多種類型的索引,包括B樹索引、哈希索引、GiST索引、SP-GiST索引和GIN索引等。 B樹索引是PG數據庫中最常用的…

Google剛發布AlphaCode 2,讓我們碼農多了個小伙伴一起干活

除了其Gemini生成式人工智能模型之外,谷歌今天早上發布了AlphaCode 2,這是谷歌DeepMind實驗室大約一年前推出的代碼生成AlphaCode的改進版本。 事實上,AlphaCode 2實際上由Gemini提供支持,或者至少是由Gemini的某個變體&#xff…

Linux學習教程(第十五章 Linux系統日志管理)

第十五章 Linux系統日志管理 系統日志詳細地記錄了在什么時間,哪臺服務器、哪個程序或服務出現了什么情況。不管是哪種操作系統,都詳細地記錄了重要程序和服務的日志,只是我們很少養成查看日志的習慣。 日志是系統信息最詳細、最準確的記錄者…

煤炭物流行業分析:中國各個分布地區生產占比調研

煤炭物流是指從煤炭生產所需物料進入企業開始,直至把商品煤運達客戶為止的全過程的物流活動。廣義的講,煤炭物流包括煤炭企業原材料的采購、原煤開采、洗選加工、儲存、運輸、銷售以及礦巖等廢棄物的綜合利用諸多環節。狹義的講,煤炭物流是指…

基于個微機器人的開發

簡要描述: 下載消息中的動圖 請求URL: http://域名/getMsgEmoji 請求方式: POST 請求頭Headers: Content-Type:application/jsonAuthorization:login接口返回 參數: 參數名必選類型說明…

spring boot 事件機制

目錄 概述實踐監聽spring boot ready事件代碼 源碼初始化流程調用流程 結束 概述 spring boot 版本為 2.7.17 。 整體看一下spring及spring boot 相關事件。 根據下文所給的源碼關鍵處,打上斷點,可以進行快速調試。降低源碼閱讀難度。 實踐 spring…

TCP聊天

一、項目創建 二、代碼 Client類 package tcp;import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.Socket; import java.util.Scanner;public class Client {public static void m…

電子學會C/C++編程等級考試2022年06月(四級)真題解析

C/C++等級考試(1~8級)全部真題?點這里 第1題:公共子序列 我們稱序列Z = < z1, z2, ..., zk >是序列X = < x1, x2, ..., xm >的子序列當且僅當存在 嚴格上升 的序列< i1, i2, ..., ik >,使得對j = 1, 2, ... ,k, 有xij = zj。比如Z = < a, b, f, c &…

QT Windos平臺下打包應用程序

一、windeployqt.exe windeployqt&#xff1a;是 Qt 框架自帶的一個工具&#xff0c;用于將一個 Qt 應用程序在 Windows 操作系統下進行打包。它可以通過掃描應用程序的依賴項獲取所需的 Qt 庫文件、插件和翻譯文件&#xff0c;以及復制應用程序可執行文件和所需的依賴項到指定…

電商價格數據監測接口/品牌商品控價接口/商品數據分析接口/比價搜索API接口,超詳細的接口說明

電商價格數據監測API接口是一種用于監測電商平臺上商品價格的API接口&#xff0c;可以幫助品牌和商家及時獲取商品價格信息&#xff0c;掌握價格動態&#xff0c;進行價格對比和分析&#xff0c;以更好地制定價格策略和進行價格調整。 該接口可以監測多個電商平臺的商品價格信…

VM:Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m

Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize256m; support was removed in 8.0 “JDK 8兼容性指南” 指出&#xff0c;在Java 8中&#xff0c;命令行標志 MaxPermSize 已被刪除。原因是永久代從熱點堆中被移除并被轉移到本地內存。所以為了刪除…

【C++】:搜索二叉樹

朋友們、伙計們&#xff0c;我們又見面了&#xff0c;本期來給大家解讀一下有關多態的知識點&#xff0c;如果看完之后對你有一定的啟發&#xff0c;那么請留下你的三連&#xff0c;祝大家心想事成&#xff01; C 語 言 專 欄&#xff1a;C語言&#xff1a;從入門到精通 數據結…

C語言之動態內存管理(malloc calloc realloc)

C語言之動態內存管理 文章目錄 C語言之動態內存管理1. 為什么要有動態內存管理2. malloc 和 free2.1 malloc2.2 free2.3 例子 3. calloc 和 realloc3.1 calloc3.2 realloc 4. 常見的動態內存錯誤4.1 對NULL指針的解引?操作4.2 對動態開辟空間的越界訪問4.3 對?動態開辟內存使…

女裝品牌網站建設的作用如何

服裝是任何人都需要的必備品&#xff0c;尤其是女裝&#xff0c;由于女性群體愛美追求時尚的心理更高&#xff0c;因此市場中有大量女裝品牌以及大量消費者&#xff0c;其規模非常高&#xff0c;眾多大小品牌林立及消費征集下&#xff0c;商家們經營也并不太容易&#xff0c;企…

Themis: Fast, Strong Order-Fairness in Byzantine Consensus

目錄 筆記后續的研究方向摘要引言秩序井然 Themis: Fast, Strong Order-Fairness in Byzantine Consensus CCS 2023 筆記 后續的研究方向 摘要 我們介紹了Themis&#xff0c;這是一種將交易的公平排序引入&#xff08;許可的&#xff09;拜占庭共識協議的方案&#xff0c;最…

參加百度Apollo技術沙龍—感受自動駕駛的魅力

2023年12月2日下午2點&#xff0c;我有幸參加了百度Apollo技術沙龍&#xff0c;這是一個圍繞Apollo新版本Beta的全面升級展開的深度交流活動。作為一名工程師&#xff0c;我深感榮幸能夠與眾多同行和專家一同探討自動駕駛技術的快速發展 在這次沙龍中&#xff0c;我了解到Apo…

Python:核心知識點整理大全7-筆記

目錄 4.2.5 遺漏了冒號 4.3 創建數值列表 4.3.1 使用函數 range() 4.3.2 使用 range()創建數字列表 結果如下&#xff1a; 4.3.3 對數字列表執行簡單的統計計算 4.3.4 列表解析 4.4 使用列表的一部分 4.4.1 切片 4.4.2 遍歷切片 4.4.3 復制列表 4.2.5 遺漏了冒號 fo…

使用vue-quill-editor(富文本框)禁用粘貼圖片

問題描述&#xff1a;富文本框復制粘貼未走上傳圖片接口&#xff0c;會將復制的圖片解析為base64編碼&#xff0c;為了控制這種情況可選擇禁用粘貼圖片&#xff0c;或者監聽有復制粘貼的圖片走上傳圖片接口 獲取到 quill 對象&#xff0c;可以通過 refs 或者 Quill 對象的 getI…