一个基于 JavaScript 的语音转音素工具,能够将语音信号转换为对应的音素序列。
- 支持实时语音输入分析
- 支持音频文件分析
- 提供音素识别 API
- 支持多种语言的音素映射
- 口型分类(7 种核心口型)
- X: 静音,用于标点和停顿
- A: 大开口,如"啊"
- E: 扁平齿音,如"诶"、"思"
- O: 圆唇,如"哦"
- I: 微笑,如"一"
- U: 嘟嘴,如"乌"
- B: 双唇闭合,如"波"、"么"
npm installconst Voice2Phoneme = require('./src');
// 初始化转换器
const converter = new Voice2Phoneme({
sampleRate: 16000,
frameSize: 1024,
tempDir: './temp' // 可选,默认为 ./temp
});
// MP3 文件会被自动处理
const phonemes = await converter.convertFile('path/to/your/audio.mp3');
// 实时转换
converter.startLiveConversion()
.then(stream => {
stream.on('phoneme', phoneme => {
console.log('检测到音素:', phoneme);
});
});voice2phoneme/
├── src/ # 源代码目录
│ ├── index.js # 主入口文件
│ ├── audio/ # 音频处理相关代码
│ ├── phonemes/ # 音素识别相关代码
│ └── utils/ # 工具函数
├── test/ # 测试文件
├── examples/ # 示例代码
└── docs/ # 文档
├── demo/
├── package.json # 项目依赖配置
├── vite.config.js # Vite 配置文件
├── index.html # HTML 模板
└── src/
├── main.jsx # 应用入口
├── App.jsx # 主应用组件
└── components/
└── AudioUploader.jsx # 音频上传组件
详细的 API 文档请参见 docs/api.md。
- 1、声音转口型,收敛后导致大量 BGD发音的口型。 这个问题考虑 语言转文字再转口型 处理。
2、文字转口型,因为区分了声母和韵母,导致口型数据非常密集✓ 已修复:改为按音节输出,减少口型数量3、文字转口型,标点符号和停顿需要一个不发音的口型符号✓ 已修复:新增 X(静音)口型4、口型和音频播放时间的关系,需要个字段映射上✓ 已修复:口型包含 start/end 时间戳