AI文本转语音:Toucan TTS 支持 7000 多种语言的语音合成工具箱,突破性 OCR 技术:支持多种语言识别,媲美顶级云服务

AI文本转语音:Toucan TTS 支持 7000 多种语言的语音合成工具箱,突破性 OCR 技术:支持多种语言识别,媲美顶级云服务。

在这里插入图片描述

AI文本转语音:Toucan TTS 支持 7000 多种语言的语音合成工具箱

Toucan TTS是由德国斯图加特大学自然语言处理研究所(MS)精心打造的文本转语音(TTS)工具箱,它支持超过7000种语言,包括多样的方言和语言变体。这款工具箱建立在Python和PyTorch框架之上,不仅易于操作,而且功能全面,能够实现多声源语音合成、语音风格模仿以及人机交互的语音编辑。Toucan TTS适用于教育、朗读、多语言软件开发等多种应用场景。作为一个开源项目,它遵循Apache 2.0许可证,鼓励用户和开发者自由地使用和修改源代码,以满足个性化的应用需求。

功能特点
多语言语音合成
Toucan TTS 能够处理和生成超过 7000 种不同语言的语音,包括各种方言和语言变体,使其成为全球语言支持最广泛的 TTS 项目之一。

多说话人支持
该工具箱支持多说话人语音合成,允许用户选择或创建具有不同语音特征的说话人模型,实现个性化的语音输出。

人机交互编辑
Toucan TTS 提供了人机交互编辑功能,用户可以对合成的语音进行细致调整,以适应不同的应用场景,如文学朗诵或教育材料。

语音风格克隆
用户可以利用 Toucan TTS 克隆特定说话人的语音风格,包括节奏、重音和语调,使合成语音更加贴近原说话人的声音特征。

语音参数调整
Toucan TTS 允许用户调整语音的持续时间、音调变化和能量变化等参数,以控制语音的流畅度、情感表达和声音特征。

发音清晰度和性别特征调整
用户可以根据需要调整语音的清晰度和性别特征,使合成语音更加自然,并符合特定角色或场景的需求。

交互式演示
Toucan TTS 提供了在线交互式演示,用户可以通过网页界面实时体验和测试语音合成效果,帮助用户快速理解和使用工具箱的功能。

应用场景
文学朗诵
合成诗歌、文学作品、网页内容的语音,供朗诵欣赏或作为有声读物。
多语言应用开发
为需要多语言支持的应用程序提供语音合成服务,如国际化软件和游戏。
辅助技术
为视障人士或阅读困难者提供文本到语音的服务,帮助他们更好地获取信息。
客户服务
在客户服务系统中使用,提供多语言的自动语音回复或交互式语音响应系统。
新闻与媒体
自动将新闻文章转换为语音,为忙碌的听众提供便捷的新闻获取方式。
电影和视频制作
为电影、动画或视频内容生成配音,尤其是当原始音频不可用或需要特定语言版本时。
有声书制作
将电子书或文档转换为有声书,提供给偏好听书的用户。
使用与体验
非开发人员可以前往Hugging Face体验Toucan TTS的在线文本转语音和语音克隆Demo

https://huggingface.co/spaces/Flux9665/MassivelyMultilingualTTS

开发人员可以 访问其GitHub项目库,克隆其代码到本地进行部署和运行。

https://github.com/DigitalPhonetics/IMS-Toucan


突破性 OCR 技术:支持多种语言识别,媲美顶级云服务

Surya 是一个文档 OCR 工具包,其功能如下:

支持 90 多种语言的 OCR,与云服务相比更具优势
任何语言的行级文本检测
布局分析(表格、图像、标题等检测)
阅读顺序检测
https://github.com/VikParuchuri/surya

使用场景
文字识别(OCR)
文本检测(Detection)
布局分析
阅读顺序检测

快速使用
安装
您需要 Python 3.9+ 和 PyTorch。如果您使用的不是 Mac 或 GPU 机器,则可能需要先安装 CPU 版本的 torch。请参阅此处了解更多详细信息。

安装方式:

pip install surya-ocr

首次运行 Surya 时,模型权重将自动下载。请注意,该工具目前不兼容 transformers 4.37+ 版本,因此需要使用 4.36.2 版本(已随 Surya 一同安装)。

成功安装 surya-ocr 之后,你可以执行以下步骤,配置 surya 运行环境:

检查 surya/settings.py 中的设置。你可以用环境变量覆盖任何设置。
你的 torch 设备会被自动检测到,但你可以覆盖它。例如,TORCH_DEVICE=cuda。在文本检测方面,Apple 平台的 mps 设备有一个错误,可能会导致其无法正常工作。
文字识别(OCR)
文字识别模型在 4x A6000 上进行了为期 2 周的训练。训练时使用了改进的 donut 模型(GQA、MoE 层、UTF-16 解码、层配置更改)。

from PIL import Image
from surya.ocr import run_ocr
from surya.model.detection import segformer
from surya.model.recognition.model import load_model
from surya.model.recognition.processor import load_processor

image = Image.open(IMAGE_PATH)
langs = ["en"] # Replace with your languages
det_processor, det_model = segformer.load_processor(), segformer.load_model()
rec_model, rec_processor = load_model(), load_processor()

predictions = run_ocr([image], [langs], det_model, det_processor, rec_model, rec_processor)

文本行检测(Text Line Detection)
文本检测模型在 4x A6000 上进行了为期 3 天的训练。它使用一组不同的图像作为训练数据。它使用改进的 segformer 架构从头开始训练,从而降低了对推理 RAM 的要求。

from PIL import Image
from surya.detection import batch_text_detection
from surya.model.detection.segformer import load_model, load_processor

image = Image.open(IMAGE_PATH)
model, processor = load_model(), load_processor()

# predictions is a list of dicts, one per image
predictions = batch_text_detection([image], model, processor)

布局分析(Layout Analysis)

from PIL import Image
from surya.detection import batch_text_detection
from surya.layout import batch_layout_detection
from surya.model.detection.segformer import load_model, load_processor
from surya.settings import settings

image = Image.open(IMAGE_PATH)
model = load_model(checkpoint=settings.LAYOUT_MODEL_CHECKPOINT)
processor = load_processor(checkpoint=settings.LAYOUT_MODEL_CHECKPOINT)
det_model = load_model()
det_processor = load_processor()

# layout_predictions is a list of dicts, one per image
line_predictions = batch_text_detection([image], det_model, det_processor)
layout_predictions = batch_layout_detection([image], model, processor, line_predictions)

阅读顺序检测

from PIL import Image
from surya.ordering import batch_ordering
from surya.model.ordering.processor import load_processor
from surya.model.ordering.model import load_model

image = Image.open(IMAGE_PATH)
# bboxes should be a list of lists with layout bboxes for the image in [x1,y1,x2,y2] format
# You can get this from the layout model, see above for usage
bboxes = [bbox1, bbox2, ...]

model = load_model()
processor = load_processor()

# order_predictions will be a list of dicts, one per image
order_predictions = batch_ordering([image], [bboxes], model, processor)

# Benchmarks
  • 15
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

代码讲故事

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值