ぺんちゃん日記

食と歴史と IT と。 Web の旅人ぺんじろうが好奇心赴くままに彷徨います 。

ドラゴンスピーチを使ってみる(再掲)

この記事は旧ブログからの転載です。記事にしたのは、 1年以上の過去のもので、内容は古くなっております。この記事に興味のある方は、前々回前回の記事も合わせてご覧ください。


ドラゴンスピーチが届いたので早速インストールしてみました。結論としては十分な性能が出て、実用に耐えるソフトでした。今のところ良い買い物だったと思います。まぁ迷っている方はそれほど不安になることはないと思います。

この記事は、ドラゴンスピーチを使い始めて2週間程度してから書いています (もちろんこの文章もドラゴンスピーチで入力しています)ので、紆余曲折を書いていきたいと思います。

ドラゴンスピーチを初めて起動するとき、マイクの設定をします。ここでは数行程度の文章を読み上げることで、マイクのパフォーマンスが最も高くなるように調整します。マイクの接続さえうまくいっていれば、もうこれだけですぐに音声を読み取ることができます。ドラゴンエディタを起動してマイクを読み取る状態にすれば、キャレットの下にドラゴンのロゴが表示されて、準備オッケーです。大抵の日常会話は何一つ学習をさせなくても文章にしてくれるでしょう。

もし、マイクの品質が悪いようならマイクの設定でドラゴンスピーチはそれを警告します。そしてさらに数行程度の文章を何種類か読み上げるようにユー ザーに促します。私の場合、 ここで失敗して、追加読み上げコースに入ってしまって、少々難渋しました。Windows 7音声認識を確かめるために購入したBluetoothワイヤレスマイクを利用してドラゴンスピーチを使おうとしたからです(もちろん、ドラゴンスピー チはBluetooth のマイクにも対応しています。)。なぜわざわざこんな茨の道を通ろうとしたのかというと、私は自分でマイクを着脱できるわけでないのです。ドラゴンスピー チ付属のマイクを使うのは簡単ですが、これだと線に縛られて身動きできなくなるのです。そう、付属の マイクはUSB接続の有線なんですね。後に付属のUSBマイクを接続してみたところ、ずいぶん調子が良かったので、ちゃんと付属マイクを使う人はスムーズに導入できるかと思います。

さて、ドラゴンスピーチの実用性ですが、そのキモはマイクにあります。マイクが拾う音声の品質が音声認識の精度に大きく影響します。これは大げさな話ではなく、マイクの位置が地元から数センチずれるだけでも全く認識をしなくなるくらいに重要です。ユーザレビューみますと滑舌が悪いから読み 取らない、声の質が悪いから認識してくれないなどの意見が見られますが、私の経験では結構いい加減な滑舌でも適当な発音でも十分に認識します。 まぁYouTubeにでもムービーをアップロードしておきましたので、私の滑舌がどの程度かはそちらを見れ ばわかるでしょう。

音のひらがなを漢字に変換する精度ですが、これも十分実用に耐えるレベルと言えるでしょう。あまりに短い単語だと変換に失敗することもありますが、ある程度の長さがあればほとんど間違うことなく変換します。

入力のスピードですが、本当に早いです。特にTwitterのような、意味さえ通れば 少々の違いは問題にならないような文章を入力するは尋常じゃないくらいのスピード上げます。キーボードでは絶対に勝てません。ネットスラング なんかも案外強いです。 gdgdとかwktkとかDQNとか普通に変換します。「お茶どぞー」と言うと「つ旦」が変換できたりします(ちょっとどうかしているレベル)。 ただし、語尾を変えたり、ダジャレのような事は向いてないと思います。まだ 試したわけじゃないけど。

それでも不安な方には一応ネガティブな情報をお知らせしておきましょう。

先ほどマイクが重要だという話に触れましたが、マイクが拾う音声の品質にネックがあるなら、 当然ノイズが問題になります。つまりドラゴンスピーチを使う周辺の環境にも性能が大きく左右 されるということです。周辺が騒がしい環境では、思ったような性能が出ないです。 これはマイクの感度にもよりますが、スリッパの足音、ドアの開閉音、 犬の鳴き声などを雑音として拾ってしまうこともあります。また、生活空間を共有する場合、 同じ部屋にいる人の声にも注意を払う必要があるでしょう。ザワついたオフィスやテレビ・音楽を聴きながらの利用を想定する方は気をつけたほうがいいかもしれません。

日本の住宅環境では静かな部屋を用意することが難しいので、このへんのところは意識しておいた方がいいでしょう。

もう一つ問題があるとすれば、ソフトの安定度でしょうか。丸一日使っているとなんだかんだで1度くらいは落ちたりします。修正したり単語を登録しまくった後落ちられるとそれらは全部飛んでしまうので大変な事になってしまいます。この辺はマシンのスペックにもよるのでしょうか? 。まあ時々プロファイルを保存することをおすすめします。



音声認識入力ソフトを調査する(再掲)

この記事は旧ブログからの転載です。記事にしたのは、 1年以上の過去のもので、内容は古くなっております。この記事に興味が方は、Windows 7標準搭載の音声認識を試す(再掲) - ぺんちゃん日記ドラゴンスピーチを使ってみる(再掲) - ぺんちゃん日記もご覧ください。

Windows 7音声認識は実用レベルにないと言うことで、市販ソフトを調査する ことにしました。 音声認識ソフトは何種類か市販されています。有名どころではドラゴンスピーチ とアミボイスでしょうか。だいたい2万円程度の商品です。おそらくこういった市販品の方が精度が高いと思われます。

音声認識ソフト AmiVoice SP2 USBマイク付

音声認識ソフト AmiVoice SP2 USBマイク付


どちらのソフトもそれなりの値段になるので余程の新しい 物好きでない限り、気軽に買えるものではなさそうです。デフレの申し子としましては、ダメもとで買ってみると言うわけにはいきません。ということで相当入念にユーザーレビューを調査しましたが、どちらのソフトも賛否両論がはっきりしすぎて使えるのが使えないのかいまいち判別ができません。どちらのソフトも全く使えないという人も あればものすごく便利だという人もあります。一般的なソフトであれば体験版があるので、実際に使って試すことができますが、この手のソフトに体験版というのはありません。

結論は出なかったのでダメ元で買うしかありません でした。なぜこんなにユーザーレビューにばらつきがあるのかを考えてみましたが、こっち方面のソフトは技術的に日進月歩のところがあって、やっと最近は使えるレベルになってきたのでしょう。ほんの数年さかのぼった記事であっても、正確な現状を反映しているとは言えないかもしれません。

ダメ元で買ったのがドラゴンスピーチです。なぜアミボイスが候補から外れてし まったか、と言うと、ライセンスの違いでした。

ドラゴンスピーチはユーザーに対するライセンスで、同じユーザーが使うなら複数台のコンピュータにインストールすることができます。しかしアミボイスはコ ンピュータに対するライセンスです。同じコンピューターなら何人でも利用できますが、違うコンピュータにはインストールすることはできません。私の利用用 途は2台のマシンを使い分けるので、アミボイスだと2本のソフトを購入しなけれ ばなりません。他人に使わせる予定もありませんので、ライセンス的にはドラゴンスピーチの方が使いやすいです。ライセンス面を考えれば、おそらくほとんどの個人ユーザーはドラゴンスピーチの方がいいでしょう。ドラゴンスピーチはTwitterFacebookに投稿する機能を搭載しているところからも、個人での利用を強く意識していると思います。一方アミボイスはオフィスなどで1台のコン ピュータを不特定多数の職員が使うような利用の仕方を想定しているのではない かと思います。官公庁なので導入事例が多いのは、そういった理由からでしょう。

私はこういう流れでドラゴンスピーチを買いました。金銭的に両者を買うわけにはいかないので、アミボイスを使うことができませんが、おそらくアミボイスも遜色ない実用性を備えている…と私は考えています。どちらを選ぶかはほとんど好みの問題ではないでしょうか?

Windows 7標準搭載の音声認識を試す(再掲)

この記事は旧ブログからの転載です。記事にしたのは、 1年以上の過去のもので、内容は古くなっております。この記事に興味のある方は音声認識入力ソフトを調査する(再掲) - ぺんちゃん日記ドラゴンスピーチを使ってみる(再掲) - ぺんちゃん日記もご覧ください。

どうもしばらくぶりです。

更新が面倒で放置しっぱなしだったこの日記ですが、書きたいと思うだけの理由ができたので、 しばらくは書いてみることにします。更新停止の理由は主にキーボードの入力がしんどいということでした。 この日記はどちらかというとコンピュータ系の話を書く場所という位置づけだったので、 「コンピュータなど動けばいい」とそれほど興味をなくしてしまった私にとっては、 なおさら書かなければいけないという理由がなかったのです。 まぁキーボードの入力がしんどいといっても全く打てない、あるいは打つ必要がない、 とまでは行っていませんでしたから…、ある程度は、たとえ非効率であっても頑張って ぽちぽちやってたんです。が、そろそろ効率のどうのこうのと言う話ではなくなってきたので、 何らかの代替手段が必要な時期が来たわけですね。

そんなわけで音声認識に挑戦したネタを少し続けてみます。

なぜ音声認識を始めてみようと考えたかというと、最近購入したノートPCにwebカメラとマイクが 標準で搭載されていたからです。これがあるなら、特別な出費をすることもなく音声認識もできると気がついたのです。 そういえばWindows 7には音声認識入力が標準で搭載されています。これを使っ てキーボードの苦労から脱却できればもうけもんです。

結果としては全く使えませんでした。はい… 。

Windows 7音声認識は今のところ使えるレベルではありません。ここから先はどれだけ使えなかったかのタダの愚痴になりますので、 吉報を期待して情報収集した結果、ここにたどり着いた人。残念ですがここでお帰りくださいw。

Windows 7音声認識を始めるのは簡単です。コントロールパネルからハードウェアとサウンドを選んで、 オーディオデバイスの管理で マイクの接続を確認した後、同じくコントロールパネルからコンピュータの簡単操作を選び音声認識の開始を開きます。

この設定で、マイクの種類を選ぶダイアログがあります。ここ でPC本体に付属したマイクを利用するという選択肢があるの で、ノートPCの内蔵マ イクでも十分な精度が出るだろうと淡い期待をしました。しかし、試してみたと ころ、まったく精度が出ません。意味不明のゴミのような文字がポツポツでるだけなのです… 。 仕方がなくマイク を買いましたorz

マイクを交換した結果どうだったでしょうか。今度は別の問題が出ました。ノイ ズをコマンドとして認識しまうのです。

Windows音声認識では、マイクでWindowsの操作ができるように設計されています。 「スタート」でスタートボタンがクリックされ「アクセサリ」「ワードパッド」で ワードパッドが起動するという寸法です。他にもウインドウ切り替えやボタンクリックなど 一通りの操作ができるようになっています。 これが余計なお節介をして、ユーザが意図しな かった操作を勝手に行ってしまいます。それがもうとてもひどい状態で使える状 態にはありません。勝手に書式設定を変えてしまったり、ツールバーを閉じて しまったり、アプリケーションが起動してきたり、ありとあらゆる誤操作をします。

それでも文章さえ認識してくれればなんとか使うようになるのですが、その文章 認識さえも実用に耐えるレベルではありません。 20年前のワープロが珍変換を するということで、笑い話になったことがありますが、それとほぼ同じレベル の、いやそれ以上の珍変換が展開されます。

…まあダ ジャレとか笑い話を期待するなら、これはこれで愛しいのかもしれませんね。

ということですっぱり諦めました。このマイクどうしよう。

Rails 3 でサーバの再起動なしにライブラリを開発する

行き当たりばったりで開発してきたアプリケーションも近頃ではだいぶ煮詰まってきて、モジュール化しないわけにはいかなくなってきた。そこで、再利用可能な部品については積極的にモジュール化し、libディレクトリに放り込んでいく方針にした。

その方針は賢明な判断であると考えているのだが、一つ大きな問題が…

libディレクトリの下のファイルって、サーバが起動するときにだけ読み込まれ、その後ソースコードを変更しても(サーバの再起動がない限りは)実行結果に反映されないのだよね。モジュールの完成度が十分に高く、修正機会が少なければ問題はない(これまではそうだった)のだけれど、これからはそうもいくまい。

コントローラやモデルのように編集結果が即座に反映してくれれば良いのだけどなぁ。このままでは小さいバグを作り込むたびに、サーバの再起動を要求されて開発意欲が激萎えしてしまうよ。

この問題、実はかれこれ1年以上前から悩んでいて、その度にGoogle先生に問い合わせているのだが、紹介されている方法ではうまくいかなくて何度も挫折してきたのだよね。

今回こそ何とか解決してやるぞ!と決意してねばり腰で挑みました。参考にしたのはここ
environments/development.rbでexplicitly_unloadable_constantsを使う形。具体的には、こんな感じ。

ActiveSupport::Dependencies.autoload_paths << File::join( Rails.root, 'lib')
ActiveSupport::Dependencies.explicitly_unloadable_constants << 'Editor'

これでlibディレクトリにあるファイルを自動で再読み込みしてくれるようになる。

そこでさらにlib/editorに次のように書いて、希望のモジュールを読み込む。

module Editor
  require_dependency "editor/editor"
  require_dependency "editor/elements"
  require_dependency "editor/tsort"
  require_dependency "editor/zsort"
end

これでモジュールEditorは、サーバの再起動なしにソースコードの変更を反映してくれるようになる。

ちなみに、試してみて、うまくいかなかったやり方はこちら。こちらの環境ではautoload_pathsが期待通りに動いてくれていない感じ。

注意事項としてライブラリの再読み込みをやりすぎると嫌な現象を引き起こす恐れがあるらしい。最読み込みが必要なモジュールとそうでないものがあるので、変にハマらないように、必要最低限のモジュールだけを対象にしたほうが良いみたいね。そういう意味で、この設定は開発環境だけで有効になるように書いてあるの。

web世界での漫画的表現をもう一度考え直す

ぺったんRと言うossプロジェクトに参加しています。このプロジェクトの主旨は、表題の通りです。

近年では漫画のweb進出が活発で、日々たくさんの漫画がwebに公開されています。 web上で漫画を表現するための試みも様々なアプローチで実践されています。面白い漫画が簡単に閲覧できる環境はほぼ出来上がっているといっていいでしょう。

ただし、この環境は人間から見た完成であって、コンピュータから見れば意味不明な画像のページが羅列されているだけの未開の世界に過ぎません。人間は画像の中の文章と絵を瞬時に判別できますが、コンピュータはそれを理解できません。例えば、検索エンジンクローラーなどは、そのページのコンテンツがどのような内容なのか処理することはできません。検索エンジンにインデックスされないのであれば、いくら漫画を作ってもwebの資産とはならないのです。

かつてwebに対する理解が乏しかった頃のことです。 中小企業などは自社の「ホームページ」を作成する際、紙のカタログをスキャンした画像を掲載することでwebに対応しました。これに対して、 web系の技術者たちは彼らのwebに対する理解の浅さを嘲笑しました。 HTMLでマークアップされていないページなどに、 Webコンテンツとしての資産価値はないと。

現在のweb漫画はこれと同じことが起きているはずなのですが、ここに突っ込む意見を聞いたことがありません。 HTMLの表現力も昔に比べて格段に上がっているので、マークアップによる漫画表現といえども鑑賞に堪えうるものになると思います。我々の主張はそこにあります。ぺったんRは漫画的表現をブラウザなどで簡単にマークアップするためのツールです。

ということで、かれこれ2年以上を費やして開発しているのですが、スキルの未熟さもあってまだまだ発表できる完成度にありません。とりあえず試作品は動いていて、スクリーンショット程度ならお見せできるのですが… 。

f:id:yasushiito:20140412102057p:plain

ご覧いただければわかるかと思いますが、セリフのテキスト部分を選択しています。テキストと画像が分離していることが理解いただけるでしょう。

今回はこれくらいで終わります。続きはまたいずれ… 。

やっと動画の掲載の仕方がわかった。

ブログに自分がアップロードしたYouTubeの動画を掲載したかったのだが、うまくいかなかった。動画を貼り付けるボタン押しても検索ダイアログから動画を見つけられないので。自分の動画はあまりにもランクが低過ぎて検索ではうまくいかないの。

わかってみれば非常に簡単。

はてなブログといえど、 YouTubeの動画はiframeで埋め込んでいるだけだった。てっきりはてな記法なんかで記述しなければならないと思ってた。 YouTubeのサイトから自分の動画を閲覧して、共有タブから埋め込みコードをコピペするのが正解。

ドラゴンスピーチ用途に新しいUSBヘッドセットマイクを購入した。

1年ほど前のことになりますが、ドラゴンスピーチに標準添付されていたヘッドセットマイクが故障したため、新しくヘッドセットマイクを購入しました。

標準添付のヘッドセットは認識精度には問題なかったのですが、三ヶ月ほど使ったあたりでノイズが混じるようになり、半年後には全く認識しなくなりました。おそらく使い方が悪かったのだろうと思いますが、同じものを購入してまた壊れるのも嫌なので、今度は別の製品を選びました。


スピーカーはモノラルです。マイクの位置も左側しか選べません。グレードダウンではありますが、音声認識に関しては十分な性能が出ています。

性能が出ているのであれば、話はこれで終わってしまうので、もう少し。

ヘッドセットの弱点は使用時に着脱しなければならないことです。身体の自由がきかないから音声認識入力を利用しているのに、ヘッドセットを着脱できるはずがないのですね。そもそも煩わしくって、ついつい利用するのが億劫になってしまいます。まぁ、それでたびたびキーボードの横に置いてあるヘッドセットに向かって(ダメ元で)音声を飛ばしてみるわけです。これが、ある程度使い込んだ状態なら、横から話しかける程度でもそれなりに認識してくれたりします。もちろん精度は落ちるので、平易な文章で、なおかつ滑舌よく喋らないといけませんが… 。非常時にはこういう使い方も出来なくは無いかな。まぁ、そんなことをするなら、スタンドマイクパターンを適用しろって話ですけどね。