从Node.js客户端调用科大讯飞API.
仅支持Linux64, 仅支持听写接口
Read https://www.npmjs.com/package/xfy-node
.
准备工作
git clone git@github.com:Samurais/xfy-node-getstarted.git
cd resources
sudo unzip xfyun_Linux_voice_1135_5864ae2d.zip -d /opt/xfy-sdk
资源文件
data.vioces
*.silk 文件 - N/A *.wav 文件 - 16k, 单通道 *.flac 文件 - 22k, 单通道
测试
cd xfy-node-getstarted
npm install
node index.js
解释
const xfyclient = require('xfy-node');
let file_name = "pro_16k/627b62fb776f833bad37efaf55954e1f_16.wav";
let params = {
username: null, // 账号名称
password: null, // 账号密码
appid: '5864ae2d', // AppID
// 语言
// zh_cn:简体中文
// zh_tw:繁体中文
// en_us:英语
// 默认为zh_cn
lang: 'en_us',
// 口音
// mandarin:普通话
// cantonese:粤语
// 默认为mandarin
accent: 'mandarin',
// 音频格式
// 8000, 16000, 默认为16000
sample_rate: 16000,
// 音频文件位置,绝对路径
audio_file: `/home/hain/git/xfy-node-getstarted/data.vioces/${file_name}`
}
xfyclient.iat(params) // 返回Promise
.then(function (result) {
console.log('result', result);
}, function(err){
console.log('err', err);
});
Trouble Shooting
转码
官方案例的数据格式: sox --info wav/iflytek01.wav
Input File : 'wav/iflytek01.wav'
Channels : 1
Sample Rate : 16000
Precision : 16-bit
Duration : 00:00:04.36 = 69699 samples ~ 326.714 CDDA sectors
File Size : 139k
Bit Rate : 256k
Sample Encoding: 16-bit Signed Integer PCM
- 批量转码
cd data.vioces
find . -name "*.wav" -print0 | xargs -0 -I file sox file -r 16000 pro_16k/file