Skip to content

lamsumchat/sauc_s2t

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎤 语音转文字 Web 应用

一个基于火山引擎 SAUC API 的语音识别 Web 应用,采用现代化的 ClearGlass 设计风格。

✨ 主要功能

  • 实时语音转写: 通过麦克风进行实时录音并转写成文字。
  • 文件上传转写: 上传本地音频文件(如 .wav, .mp3 等)进行转写。
  • 历史记录: 自动在浏览器本地保存转写结果,方便随时查看和管理。
  • ClearGlass UI: 简洁美观的玻璃态设计界面。

🎬 功能演示

➡️ 点击此处观看项目功能演示视频 (Google Drive)

🛠️ 技术栈

  • 后端: Python, Flask, SQLAlchemy, Flask-Sock (WebSocket)
  • 前端: 原生 JavaScript, HTML5, CSS3
  • 语音服务: 火山引擎 SAUC API

🚀 快速开始

1. 安装依赖

# 推荐使用脚本一键安装
chmod +x install.sh
./install.sh

# 也可以手动安装
# python3 -m venv venv
# source venv/bin/activate
# pip install -r requirements.txt

2. 配置环境变量

  1. 复制模板文件:

    cp .env.example .env
  2. 编辑 .env 文件, 填入你的火山引擎 API 密钥:

    # 火山引擎 SAUC API 配置 (必需)
    SAUC_APP_KEY=your_app_key_here
    SAUC_ACCESS_KEY=your_access_key_here

    密钥获取地址: 火山引擎语音识别控制台

3. 初始化数据库

# 进入后端目录
cd backend
# 执行数据库迁移
flask db upgrade
# 返回根目录
cd ..

4. 启动服务

本项目需要分别启动后端和前端服务。

  • 启动后端服务 (端口 8080):

    ./backend/start_dev.sh
  • 启动前端服务 (端口 8081):

    # 需要打开一个新的终端窗口
    source venv/bin/activate
    python ./web_frontend/app.py

5. 访问应用

服务启动后,在浏览器中打开: http://localhost:8081


🔧 独立脚本

项目 scripts/ 目录下提供了一些独立的脚本,用于直接测试火山引擎的 API,方便调试。

  • 实时录音测试: python scripts/sauc_realtime_mic.py
  • 文件转写测试: python scripts/sauc_websocket_demo.py <你的音频文件路径>

🐛 故障排除

  • 麦克风无法访问: 请检查浏览器是否已授权麦克风权限。
  • WebSocket 连接失败: 请确认后端服务已在 8080 端口正常运行。
  • 转写失败: 请检查 .env 文件中的 API 密钥是否正确填写,并查看后端服务的日志输出。

Made with ❤️ using Flask + ClearGlass

About

A demo that can perform real-time voice transcription

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages