ぽっちぽちにしてやんよ

技術ネタとかアプリに関する話とか

VoiceText Web APIのNode.jsライブラリ作った

GitHub: https://github.com/pchw/node-voicetext

npm: https://www.npmjs.org/package/voicetext

前説

HOYAのVoiceText Web APIというのが公開されていたのでNode.jsから叩くライブラリを作った.

VoiceText Web API(β版)はショウ君で有名なVoiceTextがスタンドアロンのソフトじゃなくてWebで公開されたやつ.

しかも今のところ無償で利用出来る.

Voice Text Web API自体はHTTPSのPOSTでデータを投げつけたらwavファイルを送り返してくるゴキゲンなやつ.

はじめにやること

VoiceText Web APIを使うには,まず利用登録が必要. 利用登録画面 から名前``メールアドレスなどその他入れて登録すればすぐAPIキーが書かれたメールが来る.

Node.jsからVoiceText Web APIを使う

おもむろにnpm installする

1
$ npm install voicetext

require('voicetext')したらVoiceTextクラスが返ってくるからnewしつつAPIキーをブチ込む

1
2
VoiceText = require('voicetext');
voice = new VoiceText('APIキーをここにコピペする');

あとは色々パラメータをいじりつつメソッドチェーンしてspeakする. 基本的にメソッドは公式ドキュメントのパラメータに合わせるようにした.

1
2
3
4
5
6
7
8
9
voice
.speaker(voice.SPEAKER.HIKARI)
.emotion(voice.EMOTION.HAPPINESS)
.emotion_level(voice.EMOTION_LEVEL.HIGH)
.pitch(200)
.speed(400)
.volume(200)
.speak('きょうもいちにちがんばるぞい', function(e, buf){
})

コールバックの第二引数にwavが詰まったBufferインスタンスが返ってくるので, fs.writeFileとかしてwavに書き出せばもうすぐに再生できる形だ!

たぶんnode-wavとか使ったらそのまま再生出来るかも.

というわけでNode.js版のVoiceTextライブラリのリポジトリはhttps://github.com/pchw/node-voicetext

chatopsなところはBOTとかに喋らせるといいんじゃないかな.

Comments