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
相关推荐
paixiaoxin39 分钟前
CV-OCR经典论文解读|An Empirical Study of Scaling Law for OCR/OCR 缩放定律的实证研究
人工智能·深度学习·机器学习·生成对抗网络·计算机视觉·ocr·.net
OpenCSG1 小时前
CSGHub开源版本v1.2.0更新
人工智能
weixin_515202491 小时前
第R3周:RNN-心脏病预测
人工智能·rnn·深度学习
Altair澳汰尔1 小时前
数据分析和AI丨知识图谱,AI革命中数据集成和模型构建的关键推动者
人工智能·算法·机器学习·数据分析·知识图谱
机器之心1 小时前
图学习新突破:一个统一框架连接空域和频域
人工智能·后端
AI视觉网奇1 小时前
人脸生成3d模型 Era3D
人工智能·计算机视觉
call me by ur name1 小时前
VLM--CLIP作分类任务的损失函数
人工智能·机器学习·分类
吃个糖糖2 小时前
34 Opencv 自定义角点检测
人工智能·opencv·计算机视觉
禁默2 小时前
2024年图像处理、多媒体技术与机器学习
图像处理·人工智能·microsoft
KeepThinking!2 小时前
YOLO-World:Real-Time Open-Vocabulary Object Detection
人工智能·yolo·目标检测·多模态