Skip to content

ZackFairTS/shagent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

语音录制和转录程序

这是一个Python语音录制程序,具有智能语音活动检测功能,可以持续监听并自动转录用户的语音。支持实时语音检测和自动转录。

功能特点

  • 持续监听模式,自动处理多段语音
  • 智能语音活动检测(VAD)
  • 自动开始和停止录音
  • 高质量音频录制(16kHz采样率,16位)
  • 使用Whisper AI模型进行语音转文本
  • 支持命令行参数配置
  • 实时显示录音状态

安装依赖

pip install -r requirements.txt

注意:首次运行时,程序会自动下载Whisper模型文件(约150MB)。

命令行参数

usage: recorder.py [-h] [-t] [-s] [-w]

选项:
  -h, --help            显示帮助信息
  -t, --transcribe      启用语音转录功能
  -s, --save-audio      保存音频文件
  -w, --save-text       保存转录文本到文件

使用示例

  1. 仅录音模式(保存音频文件):
python recorder.py -s
  1. 仅转录模式(不保存任何文件):
python recorder.py -t
  1. 完整模式(录音+转录+保存所有文件):
python recorder.py -t -s -w
  1. 转录并保存文本(不保存音频):
python recorder.py -t -w

工作流程

  1. 程序启动后会持续监听语音活动
  2. 检测到说话时自动开始录音
  3. 检测到持续静音(2秒)时自动完成当前段落
  4. 根据设置的参数进行相应处理:
    • 转录语音(如果启用)
    • 保存音频文件(如果启用)
    • 保存转录文本(如果启用)
  5. 继续监听下一段语音
  6. 按Ctrl+C退出程序

输出文件

  1. 音频文件 (使用-s选项)

    • 文件格式:WAV
    • 文件名:recording_时间戳.wav
  2. 转录文本 (使用-w选项)

    • 文件名:transcription_时间戳.txt
    • UTF-8编码

使用场景

  1. 会议记录
python recorder.py -t -s -w
  • 保存音频以供存档
  • 实时转录会议内容
  • 保存文本记录
  1. 实时转录
python recorder.py -t
  • 不保存任何文件
  • 直接显示转录结果
  • 适合临时需要
  1. 语音记录
python recorder.py -s
  • 仅保存音频文件
  • 不进行转录
  • 适合录音收集

系统要求

  • Python 3.6+
  • PyAudio
  • OpenAI Whisper
  • PyTorch
  • WebRTC VAD
  • 系统需要有麦克风设备
  • 建议有GPU支持(用于语音转文本,CPU也可以但会较慢)

注意事项

  • 首次运行转录功能时需要下载模型,请确保网络连接正常
  • 转录过程可能需要一些时间,特别是在CPU设备上
  • 转录准确度可能受到音频质量、背景噪音等因素影响
  • 语音检测的灵敏度已经过优化,但在非常嘈杂的环境中可能会受到影响
  • 使用Ctrl+C可以安全地退出程序

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages