Python调用edge-tts实现在线文字转语音

这篇具有很好参考价值的文章主要介绍了Python调用edge-tts实现在线文字转语音。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

edge-tts是一个 Python 模块,允许通过Python代码或命令的方式使用 Microsoft Edge 的在线文本转语音服务。

项目源码

GitHub - rany2/edge-tts: Use Microsoft Edge's online text-to-speech service from Python WITHOUT needing Microsoft Edge or Windows or an API keyUse Microsoft Edge's online text-to-speech service from Python WITHOUT needing Microsoft Edge or Windows or an API key - rany2/edge-ttshttps://github.com/rany2/edge-tts

安装

pip install edge-tts

用法

命令行方式

  • --write-media:输出音频
  • --write-subtitles:输出字幕
edge-tts --text "Hello, world!" --write-media hello.mp3 --write-subtitles hello.vtt

选项检查可用的声音

edge-tts --list-voices

改变声音

  • --voice:指定声音
edge-tts --voice zh-CN-XiaoxiaoNeural --text "君不见黄河之水天上来" --write-media hello.mp3 --write-subtitles hello.vtt

改变速率、音量和音高

edge-tts --rate=-50% --text "Hello, world!" --write-media hello.mp3 --write-subtitles hello.vtt
edge-tts --volume=-50% --text "Hello, world!" --write-media hello.mp3 --write-subtitles hello.vtt
edge-tts --pitch=-50Hz --text "Hello, world!" --write-media hello.mp3 --write-subtitles hello.vtt

播放音频

edge-playback

edge-playback 用于播放生成的语音。它采用与 edge-tts 相同的参数。

Python代码方式

文字转音频

import asyncio
import edge_tts

TEXT = "Hello World!"
VOICE = "en-GB-SoniaNeural"
OUTPUT_FILE = "test.mp3"

async def amain() -> None:
    """Main function"""
    communicate = edge_tts.Communicate(TEXT, VOICE)
    await communicate.save(OUTPUT_FILE)


if __name__ == "__main__":
    loop = asyncio.get_event_loop_policy().get_event_loop()
    try:
        loop.run_until_complete(amain())
    finally:
        loop.close()

使用VoicesManager进行动态语音选择的示例

import asyncio
import random

import edge_tts
from edge_tts import VoicesManager

TEXT = "Hoy es un buen día."
OUTPUT_FILE = "spanish.mp3"

async def amain() -> None:
    """Main function"""
    voices = await VoicesManager.create()
    voice = voices.find(Gender="Male", Language="es")
    # Also supports Locales
    # voice = voices.find(Gender="Female", Locale="es-AR")

    communicate = edge_tts.Communicate(TEXT, random.choice(voice)["Name"])
    await communicate.save(OUTPUT_FILE)


if __name__ == "__main__":
    loop = asyncio.get_event_loop_policy().get_event_loop()
    try:
        loop.run_until_complete(amain())
    finally:
        loop.close()

流式传输来自TTS的音频数据文章来源地址https://www.toymoban.com/news/detail-843835.html

import asyncio
import edge_tts

TEXT = "Hello World!"
VOICE = "en-GB-SoniaNeural"
OUTPUT_FILE = "test.mp3"

async def amain() -> None:
    """Main function"""
    communicate = edge_tts.Communicate(TEXT, VOICE)
    with open(OUTPUT_FILE, "wb") as file:
        async for chunk in communicate.stream():
            if chunk["type"] == "audio":
                file.write(chunk["data"])
            elif chunk["type"] == "WordBoundary":
                print(f"WordBoundary: {chunk}")


if __name__ == "__main__":
    loop = asyncio.get_event_loop_policy().get_event_loop()
    try:
        loop.run_until_complete(amain())
    finally:
        loop.close()

到了这里,关于Python调用edge-tts实现在线文字转语音的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于QT C++封装微软开源的edge-TTS

    微软Edge TTS是一种先进的语音合成技术,它能够将文本转换为自然流畅的语音。该技术基于深度学习和人工智能技术,能够模拟人类语音的音调、语速、语调和情感,使得合成的语音听起来非常自然。 微软edge-tts项目地址:GitHub - rany2/edge-tts: Use Microsoft Edge\\\'s online text-to-speech

    2024年02月09日
    浏览(32)
  • Edge-TTS:微软推出的,免费、开源、支持多种中文语音语色的AI工具

    项目地址:rany2/edge-tts: Use Microsoft Edge\\\'s online text-to-speech service from Python WITHOUT needing Microsoft Edge or Windows or an API key (github.com) Edge-TTS是由微软推出的文本转语音Python库,通过微软Azure Cognitive Services转化文本为自然语音。适合需要语音功能的开发者,GitHub上超3000星。作为国内付费

    2024年04月11日
    浏览(39)
  • ​Edge-TTS:微软推出的,免费、开源、支持多种中文语音语色的AI工具

    Edge-TTS是由微软推出的文本转语音Python库,通过微软Azure Cognitive Services转化文本为自然语音。适合需要语音功能的开发者,GitHub上超3000星。作为国内付费TTS服务的替代品,Edge-TTS支持40多种语言和300种声音,提供优质的语音输出,满足不同开发需求。 Edge-TTS 项目地址: https

    2024年04月26日
    浏览(33)
  • 4个步骤实现Java版的TTS(文字转语音)

    TTS是Text To Speech的缩写,即“从文本到语音”,让机器能够说话。 微软自带TTS(Text To Speech) 语音引擎,可以将文本转换成语音播报。 现在通过Java程序(jacob包),利用Windows自带的TTS实现语言的播报。 详细步骤如下: 下载jacob jar包和dll文件 将dll放置到相应的文件目录中 将

    2024年02月07日
    浏览(53)
  • vue使用WEB自带TTS实现语音文字互转

    时隔多日,自己已经好久没更新文章了;今年一直跟随公司的政策[BEI YA ZHA]中,做了一个又一个的需求,反而没有多少自己的时间,更别说突破自己 ˚‧º·(˚ ˃̣̣̥᷄⌓˂̣̣̥᷅ )‧º·˚ (雾) 然后最近,我朋友突然和我说有没有做过TTS,我第一反应是??? ʕ •ᴥ•ʔ…… 一

    2024年02月04日
    浏览(39)
  • 微信小程序调用科大讯飞 在线合成语音接口(文字转语音)

    科大讯飞在线文档 https://www.xfyun.cn/doc/tts/online_tts/API.html 科大讯飞调用接口 地址 https://blog.csdn.net/jinxi1112/article/details/122835386 微信小程序base64转ArrayBuffer替代方案 https://www.homedt.net/43939.html 注意点 调用函数 参考大佬的实例 这里说一下注意的点 微信小程序 不支持在线的 base64

    2024年02月10日
    浏览(36)
  • Android 文件转语音TTS输出(文字转语音)

    目录 一、介绍 二、配置 三、使用 四、权限 五、补充 目前国内Android系统自带语音引擎基本上都是Pico TTS,Pico TTS不支持中文转语音播报。因为项目需要播放中文,引入科大讯飞引擎3.0.apk。 下载好科大讯飞语音引擎3.0.apk(若是下载小爱,小度等其他引擎也可以),安装成功

    2024年02月11日
    浏览(32)
  • 微软语音合成助手 TTS-VUE 文字转语音工具

    我们在刷短视频的时候经常会听到一些AI合成声音,它们有各种音色、语调,甚至不同的情绪,听起来与人声无异 其实这些大都是利用微软Azure的文字转语音技术来实现的 虽然国内也有很多配音工具,但体验下来还是微软的效果最好,语气最为自然 不过Azure的文字转语音功能

    2024年02月02日
    浏览(34)
  • 体验最佳的一个TTS文字转语音工具

    文本转语音 (TTS) 技术在当今的数字世界中变得越来越流行,其应用范围从语音导航到教学视频、教育和娱乐。 TTS 技术允许用户将文本转换为语音,使其成为一种极其方便、高效和灵活的交流方式。 个人的使用场景是抖音短视频语音配音和电影解说,尝试了很多网站和工具,

    2024年02月15日
    浏览(34)
  • 前端文字转语音(tts+mp3拼接)

    有时候需要在网页上面播报一段语音,而这段语音是动态的。例如收银时播报请出示付款吗,收钱成功后播报某某某为您收到金额XX元。 第一种思路是前端不需要怎么动手写代码的也是最容易实现的,调用语音合成api。但是api的局限性就在于免费的没有语音包,收钱的就有点

    2023年04月17日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包