スピーチプラットフォーム」カテゴリーアーカイブ

WASAPIを使った音声処理

ちょっとしたきっかけでWASAPIを理解する機会があったのでちょっと書いてみます。

WASAPIといえば、WindowsVistaから実装されたオーディオAPIですが、ハードウェア依存がなく結構使いやすくなっています。今回試したのは、入力デバイスから入力された音声データと、現在OSが再生している出力バッファ領域に容易にアクセスできるということです。

仕組みを簡単に言ってしまえば、OSが音声が再生するタイミングで、再生バッファサイズ(サンプリングレート、ビット長によって変わります)の値が0から実サイズになり、先頭アドレスがGetBufferで返されます。GetBufferには再生フラグが設定されており、再生バッファのデータ値がすべて0の時(無音時)にはサイレントフラグもセットされるようになっています。

データ型はごく一般的なPCMデータでWAVEファイルのデータと同じです。(ただオーディオドライバではサンプリングデータ長を16BItと24Bitの設定ができるのだが、データは常に16Bitになっているのが今だ疑問である。)

AudioSample

データの処理としては、再生も録音も同じ仕組みになっているようで、録音デバイスと再生デバイスの違いだけで処理は共通にすることができます。

WASAPIについては、WinRTでも使えるので覚えておいて損はないと思います。DirectX(Direct3D, Direct2D)とWASAPIで結構なものが作れますね。

Win32でDirect2DとWindows Animationは大体使ったので、WASAPIが制覇できればゲーム系のSDKが作れるなぁ。さてそろそろか。

 

HTML5やphpを始めてみる。AIはクライアントにあるべき。

さて、最近インターネットにも飽きてきた今日この頃(youtuberがらみの記事とか)ですが、こんなことではいけないと思い、phpやmySQLを使ってHTML5がらみのサイトを作り始めました。まだ公開できるものではありませんがライブラリ的なテンプレートはできてきました。メンバーログインや、DBの管理(辞書やBBS、蓄積型のデータ管理等)がウェブからできるようになりそうです。

たぶん、現時点での最有力なAI(?)のSiriさんもこんなPHPの返りから返答パターンを繰り返しているのかと思いながらふと思ったことがあり。。。AIってクライアント一台一台が持つべき頭脳ではないのかと。サーバー上でデータを解析してサーバーのデータだけが太っていったのではいつまでもパソコンは、パーソナルにはなり得ない。

個人的に調べたいことだって、どうしてサーバーに一度送られ、サーバーから答えが返ってくるのか。クライアントが自分でサーチしてベストな結果を探してくるべきではないかと思ったわけです。個人情報をやたら入力しろというクラウドサービス。個人情報を提供しているにもかかわらず便利になってない、パソコン事情。そこがおかしいと言いたい。

で、なにをするべきかと考えたわけですが、やるべき操作のマクロをプラグイン化できるクライアントソフト。どんどん機能をプラグインとして追加(課金でもいい)していく。例えば、ショッピングサイトから最安値を見つけるプラグイン。ソフト本体は、TTSなり、UIなりで自由に。TTSもプラグインかな。

こんなソフトがあったら、みんなのパソコン便利になるぞ〜。Windows Store Appでやってみるか。

かんたん!AITalk2PLUSの評価 ~ その3

先日、Wavファイルで音声をセーブしておいて所定のイベントで再生させるということを書きましたが、Wavファイルの再生ができるのであれば、50音をメモリ上の波形データを切り貼りさせれば言葉の発音ができるのではと初期のコンセプトに戻ってきました。(処理的にはWavファイルのヘッダーから音声の設定、サンプリングレートや、ステレオ、波形データのサイズ等を読み込んでデータをWASAPIに流し込んでいくだけ)次回はWASAPI関係のラッパーを作っていくことにしよう。

イントネーションや速度、高さなど人間的な表現にはかなりの調整が必要になると思うけど、機械的な声を作ったり、実際に話している人のボイスチェンジャー的なソフトも作ってみたいしね。

前にも書いたかもしれないが、現行のスピーチプラットフォーム(Ver.11)はWindows8になって漢字の読み(IMEが悪いのか、OSの漢字の読みが悪いのかは不明だが、確実にWindows7の時の漢字の読みよりも悪くなっている)がだめなので独自に読み方辞書みたいのを作るか、どこかのDBから漢字の読みを取ってきて再生させるかしかない。KINNECTでは本当に使えているのだろうか。内部は全部平仮名だったら笑うけど。w

AITalk

ブログの投稿前にとりあえず読み返しさせているところ。結構長い文章でも問題なく読んでくれています。ブログもテキストじゃなく、Wavファイルで投稿しちゃうか・・・自分の声とかでは素人過ぎて使い物にならないので。この声と会話ができるようになるのでしょうか。アイアンマンの映画を見て、また考える。

Microsoft Speech Platform を SAPI5 として使う

2010年10月16日(土)07時36分
【追記:2011/09/04】Microsoft Speech Platform のバージョンアップについて
「Microsoft Speech Platform 11」に書きましたが、Microsoft Speech Platform が「11」にバージョンアップしました。
それに伴い、「10.x」向けに書かれたこの記事の内容も、改定が必要になったわけですが、記事内容を直接書き換えますと、将来さらに「12」になった時やそ
Microsoft Speech Platform を SAPI5 として使う

Text To Wav 更新履歴3

9.22エフェクトをかけて読み上げる時、エラーが発生するバグを直しました。9.219.20 日のバージョンで TextEditor の動作が変になっていたのを直しました。(^^新たな機能が思い浮かんだので実装してみたいと思います。9.20辞書に IME が使えるようになりました。7.17ver 3.08Language フォルダーの名前を Languages に変更しました。言語の設定メニューを追加しました。辞書ウィンドウに Speak ボタンを追加しました。辞書ウィンド…
Text To Wav 更新履歴3