选择使用whisper.cpp进行语音转文字

server/2024/11/29 21:48:05/

需要将一些wav格式的语音文件转成文字(ASRSTT),接到这个任务后,首先上网搜索有没有现成免费的工具或服务可以使用。常用的关键字如“语音转文字 免费 在线”。

搜到的很多野鸡网站,都可以免注册免费提供短时间(一两分钟或几兆)的文件转文字功能,但时间太短无法满足要求。如果在这些网站注册付费使用,不仅花钱,还可能泄露隐私。

正规网站当然也不少,如讯飞、IBM、腾讯等等。但也都不行或者不够。

比如讯飞,个人感觉有欺诈嫌疑:www.iflyrec.com/html/addMachineOrder.html

看它左上角的网页title,是不是【在线】【免费】几个字很吸引你?

还有更具迷惑性的。

当你添加本地文件后,不管文件多大,数量有几个,它会马上启动文件上传,让你误以为它能够无限制的免费帮你进行转换,最差情况,估计也就是让你这种白嫖党多等一会儿。既然免费,也没啥好抱怨的,等就等吧。

不过实际情况是,当所有这些文件上传完成,点击提交后,它就告诉你需要收费啦。当然也不能说它没提醒你,网页右侧的【资费】图标其实早就说明了一切。

它的机翻价格是19.8元/小时,而且还没有免费体验时长。几十个小时就得花个几百块钱,性价比太低了,再见。

但已经上传的文件最后讯飞如何处理,是不是拿去喂给AI训练呢?不得而知。

如果是的话,就是你想白嫖它,而反而被它白嫖了。。。

IBM的服务不错,www.ibm.com/products/speech-to-text

它明确告诉你,每个月有500分钟的免费额度。不过即使是free,也要求你输入信用卡号。

但是本人没有信用卡,也只能byebye了。

然后是腾讯云,语音文件每月有10小时的免费额度。

console.cloud.tencent.com/asr/demonstrate

试用了一下,还可以。另外还有SDK和API两种方式来访问它的服务,也可以选择本地文件或网络文件(又诱导人买你的云存储服务吧?),但这得学它们API文档来写代码,不方便。

目前看来腾讯最靠谱,但根本问题是免费额度太少不够用。

如果另外把百度、阿里等大厂的白嫖资源都用上,一个月也许加起来会有二三十个小时。但这样太麻烦,而且时间限制如悬在头上的利剑,让人不安心。

所以还是放弃buy(白嫖)这条路,改为build。

Github上语音转文字主题下,star最多的是 whisper.cpp。github.com/topics/speech-to-text

它是openAI的whisper开源项目的cpp实现,按照其主页说明,在win10下的WSL Ubuntu ,只要几个步骤就能跑起来,也不要求有gpu。

  1. 1、确保已安装c++编译
  2. 2、下载/克隆 whisper.cpp源码
  3. 3、下载模型,tiny和base识别不太行,至少要small。电脑不太差的都选medium或large吧。

 huggingface.co/ggerganov/whisper.cpp/tree/main 如果不能访问,可以去镜像网站hf-mirror.com/ggerganov/whisper.cpp/tree/main。

4、编译,以small为例,make -j small

5、得到可执行程序main,然后就可以进行转换了。例如 ./main -m models/ggml-small.bin -l zh -f  ../sound/test.wav。

还有很多参数可用,例如输出到各种格式的文件。如果要转换的语音文件多,自己写个脚本批处理即可。

转换后的结果还是需要人工纠错,而且有时会有些稀奇古怪的内容,比如

【请不吝点赞 订阅 转发 打赏支持明镜与点点栏目】【转发 打赏支持明镜与点点栏目】等等

估计是ai的幻觉。


http://www.ppmy.cn/server/145998.html

相关文章

牛客题库 21738 牛牛与数组

牛牛与数组题目链接 题目大意 牛牛喜欢这样的数组: 1:长度为n 2:每一个数都在1到k之间 3:对于任意连续的两个数A,B,A<=B 与(A % B != 0) 两个条件至少成立一个请问一共有多少满足条件的数组,对 1 e 9 + 7 1e^9+7 1e9+7 取模 输入格式 输入两个整数 n , k n,k n,…

RabbitMQ 消息确认机制

RabbitMQ 消息确认机制 本文总结了RabbitMQ消息发送过程中的一些代码片段&#xff0c;详细分析了回调函数和发布确认机制的实现&#xff0c;以提高消息传递的可靠性。 返回回调机制的代码分析 主要用途 这个代码主要用于设置RabbitMQ消息发送过程中的回调函数&#xff0c;即…

如何利用蓝燕云零代码平台构建工程企业成本控制系统?

随着工程项目管理逐步走向数字化&#xff0c;企业对成本控制的精细化需求不断提升。利用蓝燕云零代码平台&#xff0c;可快速构建一套高效、智能的成本控制系统&#xff0c;实现从预算编制到分析决策的全流程管理。 一、核心功能模块 1. 预算与成本管理 预算编制&#xff1a;…

什么是Web Worker?如何使用Web Worker?

1. 什么是 Web Worker&#xff1f; JavaScript 语言采用的是单线程的&#xff0c;也就是说&#xff0c;所有任务只能在一个线程上完成&#xff0c;一次只能做一件事。前面的任务没做完&#xff0c;后面的任务只能等着。 Web Worker 是一种在浏览器中实现多线程处理的技术&…

详谈面试题:Vue、React为什么使用虚拟DOM

虚拟DOM是一种在前端框架中广泛使用的技术&#xff0c;它可以提升开发效率。那么国外流行的框架svelte没有使用虚拟DOM&#xff0c;而是直接操作真实DOM&#xff0c;效率依然很高。为什么Vue和React不采用这种方式呢&#xff1f; 目录 一、框架设计 二、解耦运行环境 三、总…

GPU 选型指南

根据 GPU 架构的不同&#xff0c;可分为以下几类&#xff1a; NVIDIA Volta 架构 代表型号&#xff1a; V100 配备第二代 Tensor Core&#xff0c;是较早支持深度学习的 GPU&#xff0c;仍适用于部分训练任务。性能特点&#xff1a;相比后续架构&#xff0c;V100 的训练性能…

【es6】原生js在页面上画矩形添加选中状态高亮及显示调整大小控制框(三)

接上篇文章&#xff0c;这篇实现下选中当前元素显示调整大小的控制框&#xff0c;点击document取消元素的选中高亮状态效果。 实现效果 代码逻辑 动态生成控制按钮矩形,并设置响应的css // 动态添加一个调整位置的按钮addScaleBtn(target) {const w target.offsetWidth;con…

Flutter:encrypt插件 AES加密处理

1、pubspec.yaml导入插件 cupertino_icons: ^1.0.8 # 密码加密 encrypt: 5.0.3encrypt封装 import package:encrypt/encrypt.dart; /// 加密类 class EncryptUtil {static final EncryptUtil _instance EncryptUtil._internal();factory EncryptUtil() > _instance;Encrypt…