目次
Python テキスト読み上げ (リサーチおよび完成品機能)
欠点: システム言語 (中国語と英語) のみで、話速調整と音声エクスポートはサポートされていません
ホームページ バックエンド開発 Python チュートリアル Python サードパーティ ライブラリ gTTs/pyttsx3/speech の使用方法

Python サードパーティ ライブラリ gTTs/pyttsx3/speech の使用方法

May 12, 2023 pm 06:43 PM
python speech

Python テキスト読み上げ (リサーチおよび完成品機能)

プロジェクトのニーズにより、テキストを音声に変換する必要があるため、最初のステップはリサーチを行うことです

音声合成技術とは何ですか?

音声合成 (テキスト読み上げ)、TTS と呼ばれます。これは、テキストを音声に変換するテクノロジーであり、コンピュータが人間の口をシミュレートし、さまざまな音色を通じて表現したいことを表現できるようにするものであり、人間とコンピュータの対話の一部です。 TTS は、
ニューラル ネットワーク の設計を通じて、テキストを自然な音声フローにインテリジェントに変換できます。 により、視覚障害のある患者の使用が大幅に容易になり、テキストの読みやすさも向上します。 TTS アプリケーションには、音声駆動のハードウェアや音に敏感なシステムが含まれており、音声認識プログラムとともによく使用されます。

現在、多くのメーカーが独自の音声合成サービスや API をリリースしており、自分で確認することもできます。この記事では、Python 環境でのサードパーティの音声合成ライブラリについてのみ調査を行っています

コードで実装する方法は?

上で述べたように、市場には多くの製品がありますが、
開発者として、コードをデバッグできる無料のツールが欲しいです

、資料を探した結果、gTTs ライブラリ、pyttsx3 ライブラリ、speech ライブラリが私のニーズを満たすことができたので、皆さんが寄り道せずに済む水平比較をしてみましょう。

サードパーティ ライブラリ名ggtspyttsx3# √#XX √gTTS ライブラリ (Google Text-to-Speech): Google 翻訳の Text-to-Speech API と対話するために使用されます。音声 mp3 データをファイルに書き込む 利点: 中国語、英語、日本語を含む複数の言語をサポート、Google Translate API でサポート、人間の声は非常に良い
インターネット接続が必要 中国語と英語をサポート 日本語をサポート 話す速度を調整可能 人間の声レベルに近い
XX はナビゲーション
XX## とよく似ています#XX 小説を読むのに適しています スピーチ
#XX XX より高速なナビゲーションと同様に #gTTS ライブラリ
欠点: 話速調整をサポートしていない、科学インターネット アクセスはスタンドアロン コンピュータでは使用できません

音声再生機能では 2 つの方法を選択しました

1 つ目は自動再生です。 playsound ライブラリ内のオーディオ (再生の進行状況は調整できません)

#2 つ目は、OS ライブラリがシステム独自のプレーヤーを呼び出すことです (再生の進行状況は調整可能)

  • ご覧ください

    playsound ライブラリの再生と GTTS ライブラリのテキストへの変換
  • function
  • # 函数功能: 用gtts库阅读文本,保存为.mp3文件后, 用系统内置的浏览器阅读出来, 打开mp3文件, 函数执行结束(播放方式为os库)
    def gtts_os_debug(text,mp3_filepath,language):#参数说明:参数1是朗读的文字,参数2是保存路径,参数3是数字{0英文,1中文,2日语}
        #大成功,可惜的是os调用自带播放器, 实际上只执行了"打开mp3"的操作, 它并不会在音频播报完后再进行下一条语句
        from gtts import gTTS
        import os
        # 已知zh-tw版本违和感较高,所以我们用zh-CN来进行后续工作
        if int(language) ==0 :
            s = gTTS(text=text, lang='en', tld='com')
            # s = gTTS(text=text, lang='en', tld='co.uk')#我比较喜欢美音,但是如果你喜欢英国口音可以尝试这个
        elif int(language) ==1 :
            s = gTTS(text=text, lang='zh-CN')
        elif int(language) ==2 :
            s = gTTS(text=text, lang='ja')
        try:
            s.save(mp3_filepath)
        except:
            os.remove(mp3_filepath)
            print(mp3_filepath,"文件已经存在,但是没有关系!已经删掉了")
            s.save(mp3_filepath)
        print(mp3_filepath,"保存成功")
        os.system(mp3_filepath)#调用系统自带的播放器播放MP3
    gtts_os_debug(text="I'm gtts library,from google Artificial Intelligence & Google Translate.",mp3_filepath="gtts英文测试.mp3",language=0)
    gtts_os_debug(text="我是gtts库, 你想听听我的声音吗",mp3_filepath="gtts中文测试.mp3",language=1)
    gtts_os_debug(text="真実はいつもひとつ" ,mp3_filepath="gtts日语测试.mp3",language=2)
    ログイン後にコピー

    を参照してください
  • OS ライブラリの再生と GTTS ライブラリのテキストへの変換
function

# 函数功能: 用gtts库阅读文本,保存为.mp3文件后, 用playsound库阅读出来, 阅读完毕, 函数执行结束
def gtts_debug(text,mp3_filepath,language):#参数说明:参数1是朗读的文字,参数2是保存路径,参数3是数字{0英文,1中文,2日语}
    #大成功,已经实现了定制化文字转语音,但是播放的playsound需要改进(playsound库本身可能会出现bug...)
    from gtts import gTTS
    from playsound import playsound
    import os
    if int(language) ==0 :
        s = gTTS(text=text, lang='en', tld='com')
        # s = gTTS(text=text, lang='en', tld='co.uk')#我比较喜欢美音,但是如果你喜欢英国口音可以尝试这个
    elif int(language) ==1 :
        s = gTTS(text=text, lang='zh-CN')
    elif int(language) ==2 :
        s = gTTS(text=text, lang='ja')
    try:
        s.save(mp3_filepath)
    except:
        os.remove(mp3_filepath)
        print(mp3_filepath,"文件已经存在,但是没有关系!已经删掉了")
        s.save(mp3_filepath)
    print(mp3_filepath,"保存成功")
    playsound(mp3_filepath)
gtts_debug(text="I'm gtts library,from google Artificial Intelligence & Google Translate.",mp3_filepath="gtts英文测试.mp3",language=0)
gtts_debug(text="我是gtts库, 你想听听我的声音吗",mp3_filepath="gtts中文测试.mp3",language=1)
gtts_debug(text="真実はいつもひとつ" ,mp3_filepath="gtts日语测试.mp3",language=2)
ログイン後にコピー
pyttsx3 ライブラリ

pyttsx3 ライブラリ: Python のテキストから音声への変換ライブラリであり、オフラインで動作します。利点: オフラインで動作でき、直接音声読み上げをサポートし、調整可能です音量と速度

欠点: 最初は英語 (女性) と中国語 (女性) の音声パックのみです。他の言語の音声パックは個別にダウンロードする必要があります

テキストを変換するには
pyttsx3 ライブラリを参照してください。 & 自動読み上げ関数
def pyttsx3_debug(text,language,rate,volume,filename,sayit=0):
    #参数说明: 六个重要参数,阅读的文字,语言(0-英文/1-中文),语速,音量(0-1),保存的文件名(以.mp3收尾),是否发言(0否1是)
    import pyttsx3
    engine = pyttsx3.init()  # 初始化语音引擎
    engine.setProperty('rate', rate)  # 设置语速
    #速度调试结果:50戏剧化的慢,200正常,350用心听小说,500敷衍了事
    engine.setProperty('volume', volume)  # 设置音量
    voices = engine.getProperty('voices')  # 获取当前语音的详细信息
    if int(language)==0:
        engine.setProperty('voice', voices[0].id)  # 设置第一个语音合成器 #改变索引,改变声音。0中文,1英文(只有这两个选择)
    elif int(language)==1:
        engine.setProperty('voice', voices[1].id)
    if int(sayit)==1:
        engine.say(text)  # pyttsx3->将结果念出来
    elif int(sayit)==0:
        print("那我就不念了哈")
    engine.save_to_file(text, filename) # 保存音频文件
    print(filename,"保存成功")
    engine.runAndWait() # pyttsx3结束语句(必须加)
    engine.stop() # pyttsx3结束语句(必须加)
pyttsx3_debug(text="我是pyttsx3, 初次见面, 给您拜个早年",language=0,rate=200,volume=0.9,filename="ptttsx3中文测试.mp3",sayit=1)
pyttsx3_debug(text="I'm fake Siri, your smart voice Manager",language=1,rate=200,volume=0.9,filename="ptttsx3英文测试.mp3",sayit=1)
ログイン後にコピー

音声ライブラリ

speech: Windowsベースの音声合成モジュール、1行のコードで読み上げを実現可能利点: Windows システムを使用しているため、インストールと使用は非常に簡単で非常に便利です。

コードのデバッグ プロセスに適しており、コールド AI 言語でバグの作成から目覚めさせます。QAQ

欠点: システム言語 (中国語と英語) のみで、話速調整と音声エクスポートはサポートされていません

speech to text関数
import speech
speech.say("甘霖娘,又出bug了")
speech.say("Don't ask me .I have no idea why bug exist again")
# 如你所见, 代码编译究极简单, 而且单机, 但是!每次使用都会呼出微软语音助手...
ログイン後にコピー
を参照してください

以上がPython サードパーティ ライブラリ gTTs/pyttsx3/speech の使用方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

2時間のPython計画:現実的なアプローチ 2時間のPython計画:現実的なアプローチ Apr 11, 2025 am 12:04 AM

2時間以内にPythonの基本的なプログラミングの概念とスキルを学ぶことができます。 1.変数とデータ型、2。マスターコントロールフロー(条件付きステートメントとループ)、3。機能の定義と使用を理解する4。

Python:主要なアプリケーションの調査 Python:主要なアプリケーションの調査 Apr 10, 2025 am 09:41 AM

Pythonは、Web開発、データサイエンス、機械学習、自動化、スクリプトの分野で広く使用されています。 1)Web開発では、DjangoおよびFlask Frameworksが開発プロセスを簡素化します。 2)データサイエンスと機械学習の分野では、Numpy、Pandas、Scikit-Learn、Tensorflowライブラリが強力なサポートを提供します。 3)自動化とスクリプトの観点から、Pythonは自動テストやシステム管理などのタスクに適しています。

MongoDBデータベースパスワードを表示するNAVICATの方法 MongoDBデータベースパスワードを表示するNAVICATの方法 Apr 08, 2025 pm 09:39 PM

Hash値として保存されているため、Navicatを介してMongoDBパスワードを直接表示することは不可能です。紛失したパスワードを取得する方法:1。パスワードのリセット。 2。構成ファイルを確認します(ハッシュ値が含まれる場合があります)。 3.コードを確認します(パスワードをハードコードできます)。

Amazon AthenaでAWS接着クローラーの使用方法 Amazon AthenaでAWS接着クローラーの使用方法 Apr 09, 2025 pm 03:09 PM

データの専門家として、さまざまなソースから大量のデータを処理する必要があります。これは、データ管理と分析に課題をもたらす可能性があります。幸いなことに、AWS GlueとAmazon Athenaの2つのAWSサービスが役立ちます。

Redisでサーバーを開始する方法 Redisでサーバーを開始する方法 Apr 10, 2025 pm 08:12 PM

Redisサーバーを起動する手順には、以下が含まれます。オペレーティングシステムに従ってRedisをインストールします。 Redis-Server(Linux/Macos)またはRedis-Server.exe(Windows)を介してRedisサービスを開始します。 Redis-Cli ping(Linux/macos)またはRedis-Cli.exePing(Windows)コマンドを使用して、サービスステータスを確認します。 Redis-Cli、Python、node.jsなどのRedisクライアントを使用して、サーバーにアクセスします。

Redisキューの読み方 Redisキューの読み方 Apr 10, 2025 pm 10:12 PM

Redisのキューを読むには、キュー名を取得し、LPOPコマンドを使用して要素を読み、空のキューを処理する必要があります。特定の手順は次のとおりです。キュー名を取得します:「キュー:キュー」などの「キュー:」のプレフィックスで名前を付けます。 LPOPコマンドを使用します。キューのヘッドから要素を排出し、LPOP Queue:My-Queueなどの値を返します。空のキューの処理:キューが空の場合、LPOPはnilを返し、要素を読む前にキューが存在するかどうかを確認できます。

Redisのサーバーバージョンを表示する方法 Redisのサーバーバージョンを表示する方法 Apr 10, 2025 pm 01:27 PM

質問:Redisサーバーバージョンを表示する方法は?コマンドラインツールRedis-Cli-versionを使用して、接続されたサーバーのバージョンを表示します。 Info Serverコマンドを使用して、サーバーの内部バージョンを表示し、情報を解析および返信する必要があります。クラスター環境では、各ノードのバージョンの一貫性を確認し、スクリプトを使用して自動的にチェックできます。スクリプトを使用して、Pythonスクリプトとの接続やバージョン情報の印刷など、表示バージョンを自動化します。

Navicatのパスワードはどれくらい安全ですか? Navicatのパスワードはどれくらい安全ですか? Apr 08, 2025 pm 09:24 PM

NAVICATのパスワードセキュリティは、対称暗号化、パスワード強度、セキュリティ対策の組み合わせに依存しています。特定の測定には、SSL接続の使用(データベースサーバーが証明書をサポートして正しく構成することを条件)、NAVICATの定期的な更新、より安全なメソッド(SSHトンネルなど)を使用し、アクセス権を制限し、最も重要なことは、パスワードを記録しないことです。

See all articles