2017年1月13日金曜日

Nodejs でマイクを使って声を録音する方法

概要

前回 Mac の内蔵マイクを使って SoX で録音しました
今回は更に Nodejs を使ってプログラマブルに録音しようと思います

環境

  • Mac OS X 10.11.6
  • SoX 14.4.2
  • Nodejs 5.9.1
  • npm 3.7.3
  • node-record-lpcm16 0.1.4

ライブラリのインストール

  • vim package.json
{
  "name": "record-sound",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "node-record-lpcm16": "latest"
  }
}
  • npm install

録音のサンプルコード

  • vim index_manual.js
var record = require('node-record-lpcm16'),
    fs     = require('fs');

var file = fs.createWriteStream('test.wav', { encoding: 'binary' });

record.start({
  sampleRate : 44100,
  verbose : true
})
.pipe(file);
  • node index_manual.js

と実行すると音声の入力待ちになります
マイクに声を入力すると録音がはじまります
声が途切れると録音も自動で終了します

Recording with sample rate 44100...
Recording 8192 bytes
Recording 8192 bytes
Recording 8192 bytes
Recording 8192 bytes
Recording 6780 bytes
End Recording: 83945.685ms

あとは作成できた test.wav を iTunes や QuickTime で再生すれば録音できた声を聞くことができます

最後に

Nodejs を使って内蔵マイクで声を録音してみました
使用したライブラリのメンテナンスがほぼされていなかったのですが、動くか不安でしたがとりあえず動作したので利用しました

参考サイト

0 件のコメント:

コメントを投稿