项目介绍:openai-whisper
项目概述
openai-whisper项目是一款基于OpenAI Whisper的自动语音识别(ASR)系统的样例Web应用,实现了音频录制及转录/翻译功能。该项目使用Next.JS框架,用于建立前端和后端一体化的Web应用。用户可以自动记录音频数据,并将其上传到服务器进行转录或翻译,随后将结果返回至前端。用户还可以播放录制的音频来验证输出内容。
项目的背景与动机
Whisper自称并不专为实时流媒体任务设计,然而,开发者仍希望尝试创建一个几乎实时的转录Web应用。项目的成功主要取决于服务器执行音频转录和翻译的速度。选择使用Next.js是为了避免单独构建前后端应用,并通过调用shell命令的方式在后端执行Whisper的功能。
应用功能
该应用程序具有以下核心功能:
- 音频录制与上传:在检测到声音时,应用开始录制音频。如果在两秒内未检测到声音,则停止录制并上传数据进行转录。
- 背景噪声过滤:通过设定阈值(默认为-45dB),来避免背景噪声触发音频录制。
- 结果验证:用户可以回放上传的音频,同时查看对应文本输出和时间戳。
设置选项
在应用设置中,用户可以调整多个Whisper参数:
- 语言选择:用户可以选择音频转录或翻译的目标语言。
- 模型选择:支持选择不同复杂度的模型进行转录。
- 任务类型:可设定是进行转录还是翻译任务。
设置与运行
以下是项目的基本设置流程:
-
安装Whisper和Python依赖:
$ pip install git+https://github.com/openai/whisper.git
-
安装FFmpeg:
- MacOS用户:
$ brew install ffmpeg
- Windows用户:
$ choco install ffmpeg # 或使用scoop:$ scoop install ffmpeg
- MacOS用户:
-
测试Whisper系统: 使用命令行确认Whisper的基本功能正常。
$ whisper myaudiofile.ogg --language Japanese --task translate
-
安装并运行应用:
- 克隆项目库并安装依赖:
$ git clone https://github.com/supershaneski/openai-whisper.git myproject $ cd myproject $ npm install $ npm run dev
- 在浏览器中打开
http://localhost:3006/
来加载应用页面。
- 克隆项目库并安装依赖:
使用HTTPS
若需通过HTTPS协议运行应用(例如在使用不同设备进行音频采集时),需准备适当的认证及密钥文件,并编辑项目根目录下的server.js
文件设置HTTPS。执行以下命令启动服务器:
$ node server.js
在浏览器中访问https://localhost:3006/
加载应用页面。
结语
openai-whisper项目目前仍在开发中,未来将会持续更新和优化,以提升其识别效果和用户体验。对于希望在Web应用中集成语音识别功能的用户或开发者来说,这是一个值得关注和研究的项目。