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

ops/2024/11/30 3:57:36/

需要将一些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/ops/137816.html

相关文章

Vue单页面应用和多页面应用

在 Vue.js 中,“单页面”(SPA,Single Page Application)和"多页面"(MPA,Multi Page Application)是两种不同的应用结构,它们的差异主要体现在页面的加载方式、路由的使用、…

投影变换库 PinholeCamera

目录 Kornia库简介 构建内参,外参: 深度转点云: 光栅化pytorch3d 点光栅化设置: PointsRasterizer 光栅化 Kornia库简介 Kornia 是一个基于 PyTorch 的计算机视觉库,它提供了一系列可微的计算机视觉操作和算法。…

Vue 路由模式深度解析:Hash 、 History

1. Hash 模式详解 1.1 特点 1.1.1 URL 中包含符号“#” 在 Hash 模式下,URL 中始终包含一个以“#”为前缀的部分。例如:Example Domain。这个“#”号是 Hash 模式的显著标志。 1.1.2 Hash 不包括在 HTTP 请求中 与传统的服务端路由不同,…

rustdesk 自建服务

RustDesk 部署RustDesk sudo docker image pull rustdesk/rustdesk-server sudo docker run --name hbbs -p 21115:21115 -p 21116:21116 -p 21116:21116/udp -p 21118:21118 -v pwd:/root -td --nethost rustdesk/rustdesk-server hbbs sudo docker run --name hbbr -p 2111…

jQuery九宫格抽奖,php处理抽奖信息

功能介绍 jQuery九宫格抽奖是一种基于jQuery库的前端抽奖效果。通过九宫格的形式展示抽奖项,用户点击抽奖按钮后,九宫格开始旋转,最终停在一个随机位置上,此位置对应的抽奖项为用户的中奖结果。 本文实现九宫格的步骤为&#xf…

价格分类(神经网络)

# 1.导入依赖包 import timeimport torch import torch.nn as nn import torch.optim as optimfrom torch.utils.data import TensorDataset, DataLoader from sklearn.model_selection import train_test_splitimport numpy as np import pandas as pd import matplotlib.pypl…

Linux:进程的概念

文章目录 一、 冯诺依曼体系结构二、操作系统(Operator System)1、概念2、设计OS的目的3、系统调用 三、进程的基本概念与基本操作1、概念2、描述进程——PCB3、task_struct4、getpid 获取进程ID5、ps axj 所有的以特定格式的进程6、kill - 9 pid 杀掉进程7、ls /proc 通过目录…

Rust学习笔记_03——元组

Rust学习笔记_01——基础 Rust学习笔记_02——数组 Rust学习笔记_03——元组 文章目录 Rust学习笔记_03——元组元组1. 定义元祖2. 访问元组中的元素3. 元组的解构4. 元组不可遍历和切片5. 元组作为函数返回值6. 单元元组7. 代码演示 元组 在Rust编程语言中,元组&a…