当前位置:

首页 > 业界资讯 > 视频语音转文本:几分钟搞定,少于10行代码

视频语音转文本:几分钟搞定,少于10行代码

大家好,我是风筝两年前,将音视频文件转换为文字内容的需求难以实现,但是如今只需几分钟便可轻松解决。据说一些公司为了获取训练数据,已经对抖音、快手等短视频平台上的视频进行了全面爬取,然后将视频中的音频提取出来转换成文本形式,用作大数据模型的训练语料。如果您需要将视频或音频文件转换为文字,可以尝试今天提供的这个开源解决方案。例如,可以搜索影视节目的对话出现的具体时间点。话不多说,进入正题。Whisper这个方案就是OpenAI开源的Whisper,当然是用Python写的了,只需要简单安装几个包,然后几行代码

真快!几分钟就把视频语音识别为文本了,不到10行代码

大家好,我是风筝

两年前,将音视频文件转换为文字内容的需求难以实现,但是如今只需几分钟便可轻松解决。

据说一些公司为了获取训练数据,已经对抖音、快手等短视频平台上的视频进行了全面爬取,然后将视频中的音频提取出来转换成文本形式,用作大数据模型的训练语料。

如果您需要将视频或音频文件转换为文字,可以尝试今天提供的这个开源解决方案。例如,可以搜索影视节目的对话出现的具体时间点。

话不多说,进入正题。

Whisper

这个方案就是 OpenAI 开源的 Whisper,当然是用 Python 写的了,只需要简单安装几个包,然后几行代码一写,稍等片刻(根据你的机器性能和音视频长度不一),最终的文本内容就出来了,就是这么简单。

GitHub 仓库地址:https://github.com/openai/whisper

Fast-Whisper

尽管已经相当简化,但对于程序员而言仍不够精简。毕竟,程序员们往往偏爱简洁高效。虽然安装和调用Whisper已经相对容易,但仍需要单独安装PyTorch、ffmpeg,甚至Rust。

因此,Fast-Whisper应运而生,它比Whisper更快速、更简洁。Fast-Whisper并非仅仅是对Whisper进行简单封装,而是通过采用CTranslate2重新构建了OpenAI的Whisper模型。CTranslate2是Transformer模型的一种高效推理引擎。

总结一下,也就是比 Whisper 更快,官方的说法是比 Whisper 快了 4-8 倍。不仅能支持 GPU ,还能支持 CPU,连我这台破 Mac 也能用。

GitHub 仓库地址:https://github.com/SYSTRAN/faster-whisper

使用起来就两步。

  1. 安装依赖包
pip install faster-whisper
  1. 写代码,
from faster_whisper import WhisperModelmodel_size = "large-v3"# Run on GPU with FP16model = WhisperModel(model_size, device="cuda", compute_type="float16")# or run on GPU with INT8# model = WhisperModel(model_size, device="cuda", compute_type="int8_float16")# or run on CPU with INT8# model = WhisperModel(model_size, device="cpu", compute_type="int8")segments, info = model.transcribe("audio.mp3", beam_size=5)print("Detected language '%s' with probability %f" % (info.language, info.language_probability))for segment in segments:print("[%.2fs -> %.2fs] %s" % (segment.start, segment.end, segment.text))

没错,就是这么简单。

能做什么呢

正好有个朋友想做短视频,发一些鸡汤文学的视频,鸡汤就来自于一些名家访谈的视频。但是,他又不想把完整的视频看一遍,就想用最快的方式把文本内容弄下来,然后读文字,因为读文字要比看一篇视频快的多,而且还可以搜索。

我就说,连完整的看一篇视频的虔诚之心都没有,能经营好账号吗。

于是我给他做了一个,就是用的 Fast-Whisper。

客户端

客户端用 Swift ,只支持 Mac 端。

  1. 选则一个视频;
  2. 然后点击「提取文本」,这时会调用 Python 接口,需要等待一段时间;
  3. 加载解析出的文本以及出现的开始、截止时间;
  4. 选了一个开始时间和一个结束事件;
  5. 点击「导出」按钮,视频片段就导出了;

,时长00:10

服务端

服务端当然就是 Python ,然后用 Flask 包装一下,对外放开接口。

from flask import Flask, request, jsonifyfrom faster_whisper import WhisperModelapp = Flask(__name__)model_size = "large-v2"model = WhisperModel(model_size, device="cpu", compute_type="int8")@app.route('/transcribe', methods=['POST'])def transcribe():# Get the file path from the requestfile_path = request.json.get('filePath')# Transcribe the filesegments, info = model.transcribe(file_path, beam_size=5, initial_prompt="简体")segments_copy = []with open('segments.txt', 'w') as file:for segment in segments:line = "%.2fs|%.2fs|[%.2fs -> %.2fs]|%s" % (segment.start, segment.end, segment.start, segment.end, segment.text)segments_copy.append(line)file.write(line + '\n')# Prepare the responseresponse_data = {"language": info.language,"language_probability": info.language_probability,"segments": []}for segment in segments_copy:response_data["segments"].append(segment)return jsonify(response_data)if __name__ == '__main__':app.run(debug=False)
本文内容来源于互联网,如有侵权请联系删除。
作者最新文章
业界资讯 语音识别
上一篇: Win10无法读取txt文件的解决方法
下一篇: 测试测试3333ww222
相关文章 更多
Rust 1.93.0 稳定版发布
Rust 1.93.0 稳定版发布

Rust1.93.0稳定版本正式发布:musl库升级至1.2.5并完全重构DNS解析器,显著提升性能与安全性;全局分配器新增线程局部存储支持,大幅降低锁竞争;asm!宏内联新增cfg属性,显著增强条件编译能力;同时还稳定了MaybeUninit、Vec、VecDeque等多项实用API。

WasmEdgeRustSDK发布新版本
WasmEdgeRustSDK发布新版本

伴随着 WasmEdge 0.10.1 发布,WasmEdge Rust bindings 的全新版本也闪亮登场:wasmedge-sdk v0.2.0 和wasmedge-sys v0.8.0。 你可以在 这里 找到相关 API 文档和源代码。下图显示了 WasmEdge Rust binding

CnosDB涅槃重生:弃用Go,全面拥抱Rust
CnosDB涅槃重生:弃用Go,全面拥抱Rust

想必CnosDB社区的各位爱码士们,最近都留意到了,基于Rust版本的CnosDB Isipho已迁移至GitHub主站,而Go版本的CnosDB,社区团队也不再对其进行维护与支持了。在此,首先要向大家致以诚恳的歉意,之前计划与决策的仓促,给大家造成了不必要的困扰。但出于对社区负责的考量,这里为大家

Salvo Rust Web 框架 0.89.0 发布
Salvo Rust Web 框架 0.89.0 发布

SalvoRustWeb框架0.89.0正式发布,新增salvo-tus模块,完整支持TUS协议,大幅提升大文件上传效率;改进枚举数据解析,强化表单上传限制与安全性;升级bcrypt、nix等依赖库,集成unix-sock-client,支持quinn自由选择TLS提供者;增强OpenAPI泛型识别能力,以及Depot结构化数据提取功能。

Rust对象中的结构体、枚举、特性详解
Rust对象中的结构体、枚举、特性详解

1 结构体 先从结构体说起。Rust 把数据组织成整体有两种方式:元组和结构体。元组灵活但没名字,结构体给每个字段起了名字,用起来更直观。结构体在代码里很常见,用来定义常用的数据结构,每个成员叫“字段”。 1.1 简介 1.1.1 定义 Rust 的结构体与元组都可以把一堆类型不同的数据捆绑成整体,

深入浅析Rustcollect()
深入浅析Rustcollect()

在Rust语言中,迭代器的`collect()`是一个重要的终端操作,主要用于消费惰性迭代器链并收集到具体的集合类型(如Vec、HashSet等)。在调用前,整个链子不执行任何操作,其类型由左值注解自动推导,从而支持灵活切换容器。

PyTorch中怎么加载本地权重文件_使用torch.load读取pth文件
PyTorch中怎么加载本地权重文件_使用torch.load读取pth文件

使用torch.load加载.pth文件时常见问题包括路径错误、文件损坏、键名不匹配及设备映射不当。需通过os.path.exists检查路径,用map_location指定设备,并清洗键名前缀差异。确保文件完整性和模型结构一致,避免加载失败。

银河麒麟下怎么安装和配置Rust开发环境
银河麒麟下怎么安装和配置Rust开发环境

在银河麒麟系统搭建Rust环境,需确认底层发行版,安装构建工具,用rustup配合清华镜像安装工具链,配置crates.io国内镜像,并安装rust-src组件,否则下载易卡死或编译失败。

PyTorch 0.4 Windows支持,API全面升级
PyTorch 0.4 Windows支持,API全面升级

前言昨日,PyTorch官方在GitHub上发布了0.4.0版本,备受期待的Windows支持终于实现!现在,你可以轻松加入深度学习的队伍了!PyTorch官方在GitHub上发布了0.4.0版本,这一版本的最大亮点是正式支持Windows系统。新版本对API进行了彻底的重构,是今年最重要的更新之一。GitHub发布地址:https://github.com/pytorch/pytorch/releasesPyTorch官网:http://pytorch.org/此

PHP语音处理:基础识别技术
PHP语音处理:基础识别技术

PHP处理语音的核心在于借助外部工具和服务,将语音转化为文本数据。具体方法包括:1.使用GoogleCloudSpeech-to-TextAPI、MicrosoftAzureSpeechServices或AmazonTranscribe等云端语音识别API进行高精度转录;2.利用本地语音识别引擎CMUSphinx保障数据隐私;3.通过SoX和getID3()等音频处理库完成格式转换与元数据读取。选择技术时需综合考虑精度、预算、隐私、网络及开发难度,同时可通过优化音频质量、格式选择、压缩文件、缓存结果、异步

查看更多
精品专题 更多
装机必备
装机必备

正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

Windows
Windows

正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

macOS软件
macOS软件

正软商城macOS软件专区,精选适用于Mac电脑的办公、设计、影音、效率、开发和系统工具,提供软件功能介绍、macOS兼容版本、正版授权及购买下载服务。

Mac软件 更多
灵活计算器
灵活计算器
macOS/iOS/Android

灵活计算器是一款笔记式算数应用,支持实时计算、动态关联和云端同步功能。记录、整理和输出之间的过渡会更自然,适合长期写作、做笔记或持续沉淀个人内容。

赤友清理大师
赤友清理大师
macOS

赤友清理大师是一款为 Mac 设计的智能清理优化工具,可精准扫描垃圾、大文件、重复文件等,释放磁盘空间。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

极度公式
极度公式
Windows/macOS/Linux

极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

WINDOWS 更多
Windows 10
Windows 10
Windows

Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。

极度公式
极度公式
Windows/macOS/Linux

极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

密码键盘
密码键盘
Windows/macOS/iOS/Android

密码键盘是一款兼具安全性与便捷性的高效密码管理器。日常使用里的持续防护和信息管理会更突出,适合把安全控制放进长期使用流程中的场景。