V2EX 首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Node.js
Express
PPA for Ubuntu
ppa:chris-lea/node.js
V2EX  ›  Node.js

Node.js 科大讯飞 听写接口

  •  
  •   hain · 164 天前 · 1574 次点击
    这是一个创建于 164 天前的主题,其中的信息可能已经有所发展或是发生改变。

    从 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
    
    6 回复  |  直到 2017-01-12 20:23:14 +08:00
        1
    zyx89513   164 天前
    讯飞是不是没有开放 REST API?
        2
    corona   164 天前 via iPhone
    开发接口?赞啊
        3
    simonsww   164 天前
    好像有 REST 接口,不过不开放
        4
    McContax   164 天前 via iPhone
    我们的英语听说就是科大讯飞,马德噩梦
        5
    namco1992   163 天前
    百度语音是开放了 HTTP 的 API 的,我写了个 python 的包。 https://pypi.python.org/pypi/voicetools/
        6
    dphdjy   163 天前 via Android
    封装了嵌入式那个 C 库吧~ 之前试着塞到 py 里面去了~
    DigitalOcean
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   鸣谢   ·   841 人在线   最高记录 2607   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.7.5 · 46ms · UTC 00:14 · PVG 08:14 · LAX 17:14 · JFK 20:14
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1