Node.js 科大讯飞 听写接口
发布于 9 个月前 作者 Samurais 1802 次浏览 来自 分享

从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
4 回复

请问是离线在本地服务器上听写吗?还是要联网讯飞

回到顶部