基于fastapi和faster-whisper打造在线语音识别文字

语音转录文字,faster-whisper 效果是很不错的,不过部署、安装、配置问题不少,尤其是需要CUDA加速时,不仅要安装CUDA 还需要额外安装cuDNN和cuBLAS等,在安装之前还要升级显卡驱动,这难到不少小白用户。基于此,利用 fastAPI和faster-whipser 搞了一个在线语音识别文字网站。使用简单,直接上传 音频、视频等即可开始识别,无需注册无需登录。

在线免费语音转文字 stt.pyvideotrans.com

实现原理

fastAPI搭建路由服务,起一个模板页面,前端使用Layui做个简单样式。

直接上传 音频、视频文件,后端将使用ffmpeg 将文件转为 wav 格式的音频,再传递给 faster-whisper 模型处理,等待识别完成后,将结果返回给前端,前端获取到结果后,将在页面渲染显示并提供下载按钮。

使用方法

准备待识别的音频或视频

  1. 选择想要转录为文字的音频或视频,如果背景声较大,建议预先分离出背景声,只保留单纯人声,识别效果会更好。推荐背景分离工具请查看 juejin.cn/post/734161...
  2. 目前限制允许上传的文件最大尺寸为 30MB,建议预先从视频里提出音频文件,单独只上传音频,这样能大幅降低尺寸,原本100MB的视频提取出音频后,可能不到30MB。

上传进行识别

点击选择文件或者直接拖拽到上传区域,然后选择"视频里的说话语言",要特别注意,必须选择和视频里说话语言完全一致的语言,否则会出错。

选择后,点击"开始上传并识别"按钮。会自动开始上传,上传完毕后进入排队状态,右侧区域将显示当前排队情况。

识别完成后下载

当识别完成后,右侧区域将显示"已完成"字样,点击就会在下方显示当前识别出的字幕内容和字幕下载按钮。

点击可下载

特别需要注意的几点

  1. 音视频文件尽量干净,无背景噪声,如果有,尽量提前分离,确保人声足够清晰。
  2. 所选视频语言必须与视频里人类说话语言完全一致,否则无法识别
  3. 请等待前一个任务完成后再继续下一个

当前限制

很显然,免费服务必须有所限制,尤其是这类重资源消耗的AI服务,我的服务器资源非常有限,因此限制上传尺寸不大于30MB,上传后排队挨个处理。

如果你上传后在排队阶段不想识别了,请点击右侧删除按钮移除该任务,以减少排队数量。

相关推荐
GocNeverGiveUp3 分钟前
机器学习2-NumPy
人工智能·机器学习·numpy
B站计算机毕业设计超人1 小时前
计算机毕业设计PySpark+Hadoop中国城市交通分析与预测 Python交通预测 Python交通可视化 客流量预测 交通大数据 机器学习 深度学习
大数据·人工智能·爬虫·python·机器学习·课程设计·数据可视化
学术头条1 小时前
清华、智谱团队:探索 RLHF 的 scaling laws
人工智能·深度学习·算法·机器学习·语言模型·计算语言学
18号房客1 小时前
一个简单的机器学习实战例程,使用Scikit-Learn库来完成一个常见的分类任务——**鸢尾花数据集(Iris Dataset)**的分类
人工智能·深度学习·神经网络·机器学习·语言模型·自然语言处理·sklearn
feifeikon1 小时前
机器学习DAY3 : 线性回归与最小二乘法与sklearn实现 (线性回归完)
人工智能·机器学习·线性回归
游客5201 小时前
opencv中的常用的100个API
图像处理·人工智能·python·opencv·计算机视觉
古希腊掌管学习的神1 小时前
[机器学习]sklearn入门指南(2)
人工智能·机器学习·sklearn
凡人的AI工具箱2 小时前
每天40分玩转Django:Django国际化
数据库·人工智能·后端·python·django·sqlite
咸鱼桨2 小时前
《庐山派从入门到...》PWM板载蜂鸣器
人工智能·windows·python·k230·庐山派
强哥之神2 小时前
Nexa AI发布OmniAudio-2.6B:一款快速的音频语言模型,专为边缘部署设计
人工智能·深度学习·机器学习·语言模型·自然语言处理·音视频·openai