"AI会让每个人都能成为工具创造者,打破你能力边界,有时候只需要一个想法。"

AI粉嫩特攻队,2025年3月23日。

前几天参加了一场行业闭门研讨会,满满1个半小时的干货演讲让我收获颇丰。会后,我迫不及待地想将录音整理成文字,方便日后回顾。却被提示"文件过大"、"超出免费额度"、"需要登录账号"...

"难道就没有一款既快速又准确,还能离线随时使用的音频转文字工具吗?"

突然想起我曾经写过如何用coze搭建AI笔记生成工具,但前提是要有文本。后来就有小伙伴问我有没有好用的音频转文本工具,我决定好好对待一下这个需求。

市面上的音频转文本工具其实很多,但大多存在这些问题:

  • 需要将音频上传到网上(对隐私敏感的用户不友好)

  • 上传大小有限制(通常不大于500MB,或更小)

  • 免费额度有限

  • ...

一番搜索之后,我发现了buzz,它支持whisper的多个模型和离线使用,但实测whisper-tiny比我最终选用的模型慢7~10倍,且识别准确度有待提高。比如它把"可能会有付费"识别成了"可能会有副肺"

除了转换慢和偶尔出现错别字外,buzz还是不错的,尤其是支持导出srt和vtt字幕文件。但我的需求更简单:快速准确地将课程录播、会议录音等转成文本,然后用AI笔记工具整理,方便随时回顾。

再一番调研之后,我选中了这个开源项目:

SenseVoice

https://github.com/FunAudioLLM/SenseVoice

SenseVoice是一个语音基础模型,具有多种功能,包括自动语音识别(ASR)、口语语言识别(LID)、语音情感识别(SER)和音频事件检测(AED)。

对我来说,重要的是它能离线将中文音频快速准确地转成文字,而且在音频时长增加的情况下,处理时间增加不明显!实测用时如下:

不同硬件配置下,2.5w~5w字、1.5小时、1.9G大小的音频文件处理速度对比:

  • CPU 12th Gen Intel(R) Core(TM) i9-12900KS:耗时5分钟

  • NVIDIA GTX 1660Ti 6G显存:耗时2分钟

  • NVIDIA RTX 3090 24G显存:耗时10~15秒

基于SenseVoice项目,我决定开发一个桌面工具,感觉这样比较方便更多人使用,毕竟不是每个人都知道如何将这个开源项目部署到本地,并且快速的用起来。通常桌面应用开发是会让我望而却步的,但自从有了cursor和trae这样的AI编码神器,情况开始不一样了!

首先,trae是字节开发的AI编程神器,分为海外版和国内版。我用的是海外版,因为可以免费使用Claude 3.5和3.7,而国内版只能用DeepSeek等国内大模型。

访问https://www.trae.ai/下载trae海外版:

安装后打开trae,界面如下:

注册登录后,安装Python相关插件:

然后就可以开始开发了,我先下载了SenseVoice开源项目的源码,然后在trae中打开,然后仅保留需要的核心文件(音频转文字功能),其它文件可以先删掉。

然后,下载两个模型文件,放到新建的models目录中:

  • speech_fsmn_vad_zh-cn-16k-common-pytorch(用于检测有效语音)

  • SenseVoiceSmall(用于将语音转成文字)

然后,新建一个mydata目录,用于存放输入的音频文件和输出的txt文件。

然后,安装依赖包:

--extra-index-url https://download.pytorch.org/whl/cu118
torch==2.0.1+cu118
torchvision==0.15.2
torchaudio==2.0.2
modelscope==1.20.1
huggingface==0.0.1
huggingface_hub==0.26.3
funasr>=1.1.3
numpy<=1.26.4
gradio==5.7.1
fastapi>=0.111.1
PyQt5>=5.15.0
PyInstaller>=5.0.0

(PyQt5和PyInstaller两个依赖包是我在下面与trae提供的claude聊天过程,自动添加进去的。其它依赖是SenseVoice 开源项目本身需要的。)

接下来打开trae的chat界面,选择Claude 3.5.

提出我的要求:"帮我写一个桌面应用程序,支持批量上传音频文件,然后点击转换后可以看到进度条,转换成功后的文本可以显示出来,并提供保存成本地文件的功能。"

AI很快生成了app.py和build-script.py两个文件,并自动安装了PyQt5和PyInstaller依赖。执行app.py测试,很强,居然一次成功!

再试一下用build-script.py打包成exe文件,执行打包后的exe文件,果然还是报错了。

无妨,我不断把错误信息发给trae,大概3轮左右,就可以运行打包好的exe程序了。得到的界面效果如下:

本来到这应该就可以了,但是突然感觉这个界面有点太普通了。我继续让Claude帮我改改皮肤美化美化:"重新设计这个代码中的皮肤,改为AI科技多巴胺风格,符合当下年轻人的审美,让人用的舒服。"AI再次惊艳到我,甚至帮我加了启动画面的代码!

接着我又让它帮我修改了一些细节,比如添加了一个最小化的按钮,加了一些申明,都是直接提要求,AI会自己思考加在哪里更合适,基本都是满意的。然后,我又得到了下面这个界面:

测试上传多个音频文件并转换,一切正常,文本显示和保存功能都没问题。没得说,没得说,只能哇塞了。

写在最后

回顾整个开发过程,我不禁再次感叹AI工具带来的变革。曾经,开发一款桌面应用对我这样的非专业开发者来说是非常难,更别说这种炫酷的效果了。而现在,借助trae这样的AI编码神器,我只需描述需求,AI就能生成符合预期的代码。

这不仅仅是技术的进步,更是创造力的解放。AI拓宽了我们创造工具的边界,让我们敢于尝试曾经觉得困难的事情。每个人都可以成为创造者,用自己的想法解决实际问题。

正如这次我用AI开发的音频转文字AI工具,它解决了离线转换大音频文件的痛点,也许正是你一直在寻找的答案。技术的意义,不正是为了让生活变得更美好吗?

我相信,随着AI工具的不断发展,我们将看到更多“外行”人创造出的惊艳作品。这就是AI的魅力所在——它不是替代人类,而是赋能我们,让不可能变为可能。

如果你也有音频转文字的需求,不妨试试这款用trae开发的AI音频转文字小工具,希望它能为你带来便利!

AI音频转文字小工具下载:微信回复"AI音频转录工具",获取网盘下载地址和提取码。

你用trae做出过哪些好玩的作品?欢迎评论区留言。

以上,既然看到这里了,如果觉得不错,随手点个赞、分享、推荐三连吧,你的鼓励是我持续创作的动力,我们,下次再见。

AI粉嫩特攻队,内卷不灭,奋斗不止!关注我,帮你把时间还给创造!

作者:秋水,AI粉嫩特攻队员之一,AI技术应用探索者和实践者,善于发现日常痛点并用AI技术解决问题,热衷于分享AI技术应用心得与成果。

互动交流,请联系邮箱:fennenqiushui@qq.com

编程神器Trae:当我用上后,才知道自己的创造力被低估了多少的更多相关文章

  1. [C#] 走进异步编程的世界 - 剖析异步方法(上)

    走进异步编程的世界 - 剖析异步方法(上) 序 这是上篇<走进异步编程的世界 - 开始接触 async/await 异步编程>(入门)的第二章内容,主要是与大家共同深入探讨下异步方法. 本 ...

  2. C# 6 与 .NET Core 1.0 高级编程 - 39 章 Windows 服务(上)

    译文,个人原创,转载请注明出处(C# 6 与 .NET Core 1.0 高级编程 - 39 章 Windows 服务(上)),不对的地方欢迎指出与交流. 章节出自<Professional C ...

  3. C# 6 与 .NET Core 1.0 高级编程 - 41 ASP.NET MVC(上)

    译文,个人原创,转载请注明出处(C# 6 与 .NET Core 1.0 高级编程 - 41 ASP.NET MVC(上)),不对的地方欢迎指出与交流. 章节出自<Professional C# ...

  4. 网站移植到linux上后常犯的错误

    常犯的错误 1:gcc库没装或者没装全 表现:没有可用的C编译器 同类错误:提示g++ not found, 解决:出现以上错误,则是因为gcc编译器没装,或者是没装全. 挂载光盘,到Pakeges里 ...

  5. ASP.Net WebAPI HttpDelete/PUT方法运行或发布到生产服务器上后出现405(Method Not Allowed)错误的解决办法

    原文:ASP.Net WebAPI HttpDelete/PUT方法运行或发布到生产服务器上后出现405(Method Not Allowed)错误的解决办法 本文只是个人的理解和学习记录,如果觉得本 ...

  6. 【在 Nervos CKB 上做开发】Nervos CKB 脚本编程简介[4]:在 CKB 上实现 WebAssembly

    作者:Xuejie 原文链接:https://xuejie.space/2019_10_09_introduction_to_ckb_script_programming_wasm_on_ckb/ N ...

  7. 代码: 两列图片瀑布流(一次后台取数据,图片懒加载。下拉后分批显示图片。图片高度未知,当图片onload后才显示容器)

    代码: 两列图片瀑布流(一次后台取数据,无ajax,图片懒加载.下拉后分批显示图片.图片高度未知,当图片onload后才显示容器) [思路]: 图片瀑布流,网上代码有多种实现方式,也有各类插件.没找到 ...

  8. 实现DevExpress GridControl 只有鼠标双击后才进行修改数据

    1. 实现DevExpress GridControl 只有鼠标双击后才进行修改数据:修改GridView.OptionsBehavior.EditorShowMode属性为Click 2. 实现De ...

  9. 用上Google才是正事 分享几个訪问Google的IP和域名

    通过VPN或者GAE等代理进行訪问,GAE下载请移步<GAE 3.1.18 最新版本号下载 用上Google才是正事>.这是大家通经常使用的办法.也有同学们不愿意使用代理软件.那今天来分享 ...

  10. model,map,MapAndVivew用于页面跳转时候使用的即跳转后才添加属性 这样再回调中无法使用 因为回调的前提是页面不调转;解决的方法是用responsewrite(普通的字符响应)

    model,map,MapAndVivew用于页面跳转时候使用的即跳转后才添加属性 这样再回调中无法使用 因为回调的前提是页面不调转:解决的方法是用responsewrite

随机推荐

  1. Kubernetes系列(一) - kubernetes入门基本概念

    目录 1. 基本概念 1.1 什么是 Kubernetes 集群 1.2 Kubernetes集群资源组成: 1.3 无状态和有状态的区别 1.3.1 无状态服务 1.3.2 有状态服务 2. Kub ...

  2. 多云架构,JuiceFS 如何实现一致性与低延迟的数据分发

    随着大模型的普及,GPU 算力成为稀缺资源,单一数据中心或云区域的 GPU 资源常常难以满足用户的全面需求.同时,跨地域团队的协作需求也推动了企业在不同云平台之间调度数据和计算任务.多云架构正逐渐成为 ...

  3. 无网环境Docker Rpm离线安装

    总体思路:找一台可以联网的linux,下载docker的RPM依赖包而不进行安装(yum localinstall),将所有依赖的rpm环境打包好,再在无网环境中解压逐一安装(rpm: --force ...

  4. 面试题:关于StringBuffer()源码的深度理解Debug分析

    import org.junit.Test; /** * @author CH * @create 2021 上午 11:23 */ public class IDEADebug { @Test pu ...

  5. Zino pg walkthrough Intermediate

    nmap 扫描 发现smba共享文件 ┌──(root㉿kali)-[~] └─# nmap -p- -A 192.168.167.64 Starting Nmap 7.94SVN ( https:/ ...

  6. Svelte 最新中文文档翻译(4)—— 符文(Runes)下

    前言 Svelte,一个非常"有趣".用起来"很爽"的前端框架.从 Svelte 诞生之初,就备受开发者的喜爱,根据统计,从 2019 年到 2024 年,连续 ...

  7. 帮您了解CDN节点如何做到访问加速与安全防护

    本文分享自天翼云开发者社区<帮您了解CDN节点如何做到访问加速与安全防护>,作者:尹****荷 网站业务痛点 在当前网站快速发展的背景下,网站业务突增往往伴随着一系列网络安全隐患.主要会有 ...

  8. Luogu P10179 水影若深蓝 题解 [ 绿 ] [ 并查集 ] [ 构造 ]

    水影若深蓝:挺好的一道并查集构造题. 观察 不难发现"距离为 \(2\)"这个条件我们可以通过黑白染色实现,我们把他们的中转点染成与他们相反的颜色,把这两个距离为 \(2\) 的点 ...

  9. Atcoder [AGC006D] Median Pyramid Hard 题解 [ 紫 ] [ 二分 ] [ adhoc ]

    Median Pyramid Hard:二分 trick 加上性质观察题. trick 我们可以二分值域,然后把大于等于它的数标记成 \(1\),其他标记为 \(0\)(有些题需要标记成 \(-1\) ...

  10. Asp.Net Core3.0 微信小程序统一下单

    微信统一下单开发文档:https://pay.weixin.qq.com/wiki/doc/api/native.php?chapter=9_1 微信支付小程序支付文档:https://pay.wei ...