V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
hain
V2EX  ›  Node.js

Node.js 科大讯飞 听写接口

  •  
  •   hain · 2017-01-11 19:40:02 +08:00 · 4829 次点击
    这是一个创建于 2871 天前的主题,其中的信息可能已经有所发展或是发生改变。

    从 Node.js 客户端调用科大讯飞 API.

    仅支持 Linux64, 仅支持听写接口

    Read https://www.npmjs.com/package/xfy-node.

    准备工作

    git clone [email protected]: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
    zyx89513
        1
    zyx89513  
       2017-01-11 19:46:50 +08:00
    讯飞是不是没有开放 REST API?
    corona
        2
    corona  
       2017-01-11 19:55:39 +08:00 via iPhone
    开发接口?赞啊
    simonsww
        3
    simonsww  
       2017-01-11 20:16:44 +08:00
    好像有 REST 接口,不过不开放
    McContax
        4
    McContax  
       2017-01-11 23:29:53 +08:00 via iPhone
    我们的英语听说就是科大讯飞,马德噩梦
    namco1992
        5
    namco1992  
       2017-01-12 11:40:45 +08:00
    百度语音是开放了 HTTP 的 API 的,我写了个 python 的包。 https://pypi.python.org/pypi/voicetools/
    dphdjy
        6
    dphdjy  
       2017-01-12 20:23:14 +08:00 via Android
    封装了嵌入式那个 C 库吧~ 之前试着塞到 py 里面去了~
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1324 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 17:45 · PVG 01:45 · LAX 09:45 · JFK 12:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.