おんせいにんしきーっていうワードが聞こえてきたので、ちょっと時間あったので、オープンソースの Julius っていう音声認識エンジンを Alchemy つかって Flash に移植してみましたです。いちおう使えるレベルだけど、やっぱ遅いなー。まあ、死んでると思ってた Alchemy も Adobe が本気で開発すすめるみたいなので、そのうちもっとましになるじゃろ。
- 初期化おわるまでまつ。(辞書ファイルがでかい)
- PLAY で聞く、RECOGNIZE で認識テスト。
- LOAD WAV FILE で任意の WAV ファイル認識させてみる。(16KHz 16bit モノラルしかダメ)
- さすがに NHK ニュースの認識率は高い。
- ソース一式。(コンパイルするのはむずいかも)
C/C++ で書いてあるライブラリでも、Flash には Alchemy、AIR には ANE、Chrome に Native Client てかんじで Web でも意外といろいろ使える気がする。
[…] 音声認識できたんなら音声合成もできるじゃろーつうことで、オープンソースの日本語音声合成エンジンの Open JTalk ていうのを Alchemy つかって Flash に移植してみました。音声合成のコアである hts_engine (+Flite) を移植したやつは発見したけど日本語ダメだったのでやってみましたえ。まあ、やっぱり遅いけど、ちゃんと動いてる、けど、日本語対応のために内部でつかわれてる MeCab 用の辞書ファイルがでかすぎるのなー。。 […]
[…] 今回はas3からのPOSTだったので、bytearrayのみ送ろうと考えてたんですけど、 よくよく考えたら一緒にtweet文言送ったり一緒にいろいろしないといけないので、 一緒に送れる形としてbase64Encodeかけた文字列としてPOSTの一部にして送ることにしました。 ここ、POSTの一部としてバイナリ(bytearray)送って、PHP側でエンコードかけるときとかどうすればいんだろ?? (まー別にbase64エンコード&デコードで何も問題はないと思うんですが。。) あとここ、きんくまさんのように、multipart/form-data の Requestheader つくって送れるようにしておけば 受け取り側でいろいろごにょごにょ変えたりしなくて済みますね!素敵! きんくまさんのところ。 [AS3] PHPとAS3の連携 as3から直接 multipart/form-data でデータのアップロード! Flashからアップロードする方法いろいろはこちら。バイナリのままアップロードする方法が分かる! さてここからflashぽく、flash使った何かをやってみる。 それで最終的に絵を作ってそれを投稿できたら一旦、モックとしてのゴールとしますかね。:-) で、てらこのお題として新年あけましておめでとうって書いてあったので、まー投稿する画像はあけましておめでとうがいいよね。ってことで、あけましておめでとうって言ったら勝手に画像にされて、それがtweetされるとかにしてみようかな。単純ー。 さてじゃあ音声認識かー。ようやくここでAlchemyってやつに初挑戦ですね。(`・ω・´)キリッ 思い起こせば表参道での奥田さんとか、blogでのsaqooshaさんとか、F-siteでの山田さんとか、いろんな人の発表やらblogを読んでネイティブの言語との連携にときめきつつ、ほんとやりたいやりたいと思いつつ、全くそこまで行けてなくて(結局今も全然分からんままやけど。。)、、でもまず挑戦! まず Alchemy Toolkit for Mac OSX (ZIP, 40.5 MB) だうんろーど。 このタイミングで Flash Builder 4.6 と Flex 4.6 SDK がDLできることに気付いてさっそくダウンロード。(これくっそ時間かかった。そしてめんどくさすぎる。。 ここからのあたりはamachangさんの見ながらやると何も問題ないよ!素敵! flex_sdk 4.6 入れる。(FlashBuilder4.6入れたらそれのSDKへのpath追加しとけばおk) → コンパイルできるようにする。 Alchemy Toolkit Package 入れる。 → セットアップ(./config実行して、alchemy-setup )する。 (あれ?これ毎回、$ source alchemy-setup でセットアップから始めないとダメなん?) おぉ、alc-on, alc-off で環境変数に alchemy へのパスが追加できたり消したりできるわけね。 で、問題なく読み進めて行くと HelloFlash! で gcc HelloFlash.c すると -rwxr-xr-x 1 *** staff 258119 1 13 12:13 a.exe -rwxr-xr-x 1 *** staff 8672 1 13 12:12 a.out みたいな感じで a.exeファイル ができるのでそれを実行するとー。 $ ./a.exe /Applications/Adobe Flash Builder 4.6/sdks/4.6.0/bin/adl _sb_29715/app.xml 2> /tmp/adl.trace & echo $! Hello Flash! できたー(・∀・) 2個目の stringecho ではtraceを吐くswfを作るんだけども、ここでswcへのコンパイルの仕方と、それを使ってのswfへの書き出しが分かる。:-) で、 $ mxmlc -library-path+=stringecho.swc –target-player=10.0.0 as3/EchoTest.as の部分で、FlashBuilder4.6にはデフォルトではplayerが11.1からしか入ってないので $ mxmlc -library-path+=stringecho.swc –target-player=11.1 as3/EchoTest.as で /as3/EchoTest.swf (76878 バイト) 書き出せたー(・∀・) はい次、自分でつくる段階。 ■hello.c […]