UT/インタビュー動画見返しツール「動画眼」の簡易ビューワーをチョイ見せ

Pocket

謹製の動画再生ツール「動画眼2」は動画再生中のメモをタイムインデックスとセットで記録し、メモをクリックすることで簡単に当該シーンを頭出しして再生できるツールです。

最近、手軽に利用できるようになってきた各種クラウド音声書き起こしサービスを使ってUT/インタビューの全発話を文字起こしすることで、全文検索などの新しい利用方法が見えてきており、先日も動画編集ソフトのAdobe Premiere Proが先行公開機能として「音声テキスト化」をリリースして、早速その結果を取りこめるバージョンアップをいたしました。

こうして利用シーンが広がってくると、足枷になるのが

  • 専用ツールのインストールが必要になること
  • Windows専用であること

といった部分になってきます。動画眼2はフリーで提供しているため、年額数万円かかる電子署名を取得するに至っておらず、Windows8/10ですとダウンドーロ/インストール時にSmartScreenによる警告が出る状態です。法人ですとPCへのソフトインストールは許可制だったりして、私自身も実務でクライアントに薦めづらい状況があります。Mac版も作りたいと思いつつなかなか着手できていません。

そんな状況を改善するため、HTML5/JavaScriptを使った簡易ビューワー「動画眼Lite」を作ってみました。特徴として、

  • 動画ファイル、発話データファイルに加えHTMLファイルを同一フォルダにおくだけ
  • Webサーバーに配置せず、PCのローカルストレージ上に置いた状態からでもOK
  • 互換ブラウザさえ入っていれば追加インストール無しで使用可能(現状ChromeとChromeium Edgeで優先検証。FireFoxとSafariも一応動くが一部表示が崩れる。Web経由ならiPadのSafariでも動きました)

となっています。これなら動画と一緒にHTMLファイルと書き起こしデータファイル(せいぜい数KB)を渡せば相手にも簡単に使ってもらえるのではないかと。

実際にこちらで動いている状態をご確認いただけます。UTの動画は使えないのでプライベートで録ったレビュー動画ですが、、また書き起こしはPremiere Proによる処理ママですので一部不正確な部分もありますが、逆にPremiereに放り込むだけでこれくらいの品質の書き起こし&閲覧環境ができますよというサンプルとして。

アプリ版「動画眼2」と比べての制約としては、

  • テキストの編集はできない
  • 検索もできない(ブラウザの検索機能は利用可能)
  • 話者毎の色付け非対応

となります。編集はJavaScriptのセキュリティモデル(ブラウザでローカルファイルを上書きできると危ないから禁止されている)の関係上、実装は難しそうです。検索と色付けは正式リリースまでにはなんとかしたいと思っています。検索と色付けは対応しました。

またデータファイル形式も動画眼2の.dggn.txtを直接読み込むことは難しいので、動画眼2側で動画眼Lite形式のファイルを吐き出す機能を追加する予定です。

■技術的詳細

以下、JavaScriptの制限など技術的なメモ、課題を書き記しておきます。どなたかお詳しい方に「こんなやり方あるよ」などアドバイスをいただければ有り難いです。

・ファイルを減らす

動画に同梱するファイルをなるべく減らすという意図で、CSSなども久しぶりにHTMLのヘッダー内に置く書き方をしました。またjQueryなどの外部ライブラリも基本使わないでPure JavaScriptで書いています(単に私がjQueryあまり得意でないというのもあるけど…)。

再生制御系のアイコン(▶/II)くらいはもう少し綺麗に描画したいんですが、font-awesomeみたいな外部記号フォントやビットマップを使うとファイルが増えるので躊躇しています。インターネット上のリソースにリンクするのも手だと思いますが、どうせここまでやったなら完全スタンドアローンにこだわってみたいなとか。フォントとかビットマップのようなバイナリをbase64でHTMLに埋め込む方法もあるんでしたっけ?でももし下記のようにメモデータもHTMLに埋め込む場合、あんまりHTMLの可読性が落ちるのもなんだなという気がしますね。

・データファイルの読ませ方

HTMLファイル上のJavaScriptに外部ファイルを自動で読ませるには、外部.jsファイルしかなさそうで、現状はタイムコードとメモのレコードをjson形式にしてあります。HTML側にフォームをもたせて、INPUTタグでユーザがファイルを選択すれば任意のデータファイルを食わせられるんですが、ユーザビリティとしてHTMLファイルを開いたら動画もメモ一覧もパっと出る方が楽だし間違いなくていいかなと思って、自動で読めることを重視しています。

.jsファイル内でオブジェクトを宣言するのであればjsonにこだわらず、オリジナルの.dggn.txtに近いカンマ区切り形式でもいいはずと思ったんですが、なんとなくJavaScriptならjsonだよね、みたいな感覚があったのと、手編集時にもミスが起きにくいかなくらい(そうでもないかな?)。

もっといえば、HTMLファイル内にデータまでもたせてしまえば、動画とHTMLファイルの2つだけで完結できるのでそれはそれでアリかも知れないとか思っています。どのみち動画ファイルのファイル名はハードコーディングするしかないなと思ってますし。1つのフォルダに複数セッションの動画をつっこんで渡すような場面で、ファイルが1つでも減るのは良いかも知れません。

あるいはJavaScriptで同一フォルダ内のファイル一覧が取得できればプルダウンで複数動画選択とかもできそうとか。でもこれもセキュリティ上の制約でできない気がします。

Premiere Proの音声テキスト化をユーザテスト見返し効率化に活用する

Pocket

■Long story short…

  • Adobe Premiere Proがクラウド音声書き起こし機能を実装し、簡単に字幕付き動画が作成できるようになった
  • 書き起こしたテキストはsrtフォーマットでエクスポート可能だった
  • 拙作の動画インデクシングツール「動画眼」をsrtインポートに対応させた
  • ユーザテスト(UT)やインタビュー動画をテキスト検索で頭出ししながら視聴できるようになった!

■Premoiere Proの「音声テキスト化」機能がβリリース中

Adobeの動画編集ソフトPremiere Proが音声テキスト化に対応しました。2021年3月現在、まだ正式リリースではなく、事前登録制なのですが、こちらのページから申し込みをしておくと順次利用可能になるようです。

私は12月に申し込んで3月までかかりました。今はもっと早く有効化されるかも知れません。正規機能となった後の料金システムは不明ですが、AdobeのクラウドAI機能はいままで追加料金をとったケースがない気がするので、このまま無料で使えるのかなという望みを抱いています。

精度は他のSTT(Speech To Text)サービス同様、完璧とはいきません。Watsonのように辞書登録機能もないので、例えばユーザーテスト動画を食わせた場合、製品固有の機能名とか画面名みたいな台詞はほぼ壊滅的でしょう。

それでも動画をドロップして数クリックでテキスト化され、字幕として動画に入れることができてしまうので非常に重宝すると思います。

■このテキストを「動画眼」でも使いたい!

動画眼は私が作って配布している動画インデックス付き再生ツールです

動画を再生しながらメモを書くと再生タイムインデックスとセットで記録してくれて、次にそのメモをクリックすると当該シーンが瞬時に頭出しされる、という特徴をもっていて、ユーザテストやインタビュー動画の見返しやプレゼンテーションに活用できます。現状Windows向けでフリーで配布しており、オープンソース化もしています。

このツールで、自分でメモを手打ちするのではなく、各種STTサービスの出力データを食わせて、全発話をインデックス化したら検索とかもできて便利じゃね?ということは3年くらい前に思いつきました。ちょうどAmazonやGoogle、Microsoft、そしてIBMなどがこぞってクラウドSTTサービスに参入しだした頃です。これらのサービスを使えばGoogle Documentなどで書き起こすのと違って、タイムインデックス情報付きの結果が得られるのでフォーマットさえあわせてやれば「動画眼」で簡単にインポートすることができるのです。ただこれらのAPIサービスは初心者には利用が難しく、また動画から音声データを抽出して送信する必要もあったため、そこら辺をGUIで簡単にできるツールとしてLynxTipsをかなり動くところまで作成しました(今はちと事情があってしばらく放置中)。

そんな折り、今回Premiere Proが音声テキスト化機能をβながらサポート。この手のでいつも後回しにされがちな日本語もいきなり対応しています。これなら黒画面(ターミナル)を叩くことなくGUIで動画ファイルから直接書き起こしができます。しかも無料(執筆時点)!これを使わない手はないだろうというわけです。

■Premiere Pro → srt形式書き出し → 動画眼2読み込み → (゚д゚)ウマー

早速同サービスを申し込んで試して見たところ、書き起こしたデータはsrt形式という動画字幕形式のデファクトスタンダード的なフォーマットでエキスポートできることがわかりました。動画字幕用なので当然タイムコードも含んでいます。

そこで早速「動画眼2」にもsrt形式のインポート機能を追加(v2.3)。黒画面なし、マウスクリックだけで発話インデックス再生、検索ができるUTふり返り環境が構築できるようになりました!

実際の様子をYoutubeにあげておきますので、よろしければ見てみてください。

なお、Adobe Premiere Proはサクブクリプション形式のソフトウェアです。

単品、もしくはPhotoshopやIllustratorとセットのコンプリートプランを契約する必要があります。安価で買い切りのPremiere Elementsではこの機能は使えないのでご注意ください。

 

動画眼2をリリースしました!

Pocket

2004年からごく一部の方に愛用いただいているUT動画分析支援ツール動画眼をスクラッチから作り直した「動画眼2」を公開しました。

動作イメージ

もはや自分自身、VB.NETを触りたくないし当時の稚拙なコードをメンテナンスするのも苦痛だったので今回C#でゼロから書き直し、UIなどもモダンなシングルウインドウにしました。また別途開発中(現在クローズドベータ段階)のWatsonを使ったかんたん書き起こしツールのログをインデックスとして使うユースケースを強く意識した作りになっています。公開された暁には是非組み合わせてご活用いただければと思います。

動画眼2は引き続きフリーソフト、オープンソースでの公開です。

詳細はこちら↓。

https://do-gugan.com/tools/do-gagan2/

動画眼Noteも雪が降る前くらいには2にしたいなと。

ClickOnceインストールがブロックされる時の対処法

Pocket

当サイトでもいくつかのツールをClickOnceで配布していますが、Windowsの設定によってはブロックされることがあります。ActiveDirectoryで企業のセキュリティポリシーが適用されている場合もありますが、個人PCでレジストリなどを編集できる場合は以下の手順で回避することができる場合があります。

(レジストリの編集は自己責任でお願い致します。また編集方法の詳細は適宜ググってください。また本来ブロックするべき出所不定(未署名)のアプリケーションを使えるようにするわけですので、ご自身で安全と判断できるアプリケーションにのみ実行してください。)

現象:「セキュリティ設定は、このアプリケーションがこのコンピューターにインストールされることを許可していません。」と表示され先へ進めない。

本来なら警告が出つつも「閉じる」の左に「インストール」ボタンが並び先へ進めるはずですが、それがありません。

Winキー押して「regedit」などと入れ、レジストリエディターを開きます。そして、上部の検索欄に「コンピューター\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\Security\TrustManager\PromptingLevel」をコピペしていれるか左のツリービューから辿って書きの画面に行きます。

右ペインの上から2番目の「Internet」をダブルクリックし、「値のデータ」欄をDisabledからEnabledに書き換えOKを押します。

これで先の画面に「インストール」ボタンが出現すると思います。ただしツール自体が未署名の場合は依然としてスマートスクリーンの警告(青ダイアログ)が出ます。そちらは「詳細」リンクをクリックすると進めると思います。

ちなみにこの編集は保存操作や再起動なしに適用されます。なので、必要なツールのインストール中にだけ一時的にEnabledにしてOKし、レジストリエディターをそのままにしておいて、インストール終了後にまたすぐDisabledに戻しておくのも良いかも知れません。

新作ツールちら見せ ~UTビデオ分析をクラウドで書き起こしで支援

Pocket

7月に予定していた仕事がことごとく延期になったヒマになったので、以前から取り組もうと思っていたUT支援ツール2本に本格的に着手しました。

一般公開まではもうちょっとテストを重ねてからと思っていますが、だいぶ動くようになっているので動画でチラ見せです。

■UT音声書き起こしツール

以前にもトライアルを記事にしてますが、IBM CloudのSpeech to Text(音声からのAIテキスト起こし)サービスを使ってユーザテストの音声を書き起こすツールです。IBM CloudのAIサービス(いわゆるWatson)は有料サービスですが、ユーザ辞書登録的なことができるので、ユーザテストのような業務文脈の対話では有用です。例えば会話の中に出てくる固有製品名や部位名などをあらかじめ学習しておくことで認識精度を上げることができます。一応簡単なWeb UIは提供されていますが、本ツールの優位点として、

  • 動画から音声を自動抽出してアップロードする(Watsonは音声データしか受け付けない)
  • 複数のファイルを一括処理できる
  • 辞書学習周りもGUIで行える
  • 後述の動画眼で読み込めるタブ区切りテキストファイルで書き出す(標準の出力はJSON形式で扱い辛い)

以下、少し古いバージョンですが動いている様子。

■動画眼2

2004年から公開しているビデオインデックス付けツール「動画眼」を完全フルスクラッチで作り直しています。本ツールは動画の特定タイムコードに対してメモを記入し、そのメモを選択することでタイムコードの位置を頭出し再生するというものです。UTなどの記録と分析、プレゼンにと開発してきました。

現行版はVisual Basic.NET/Windowsフォームで作っておりもはや設計も古い為、メンテナンスがしづらくなっていました。今ならもう少し腕前も上がってるぞということでC#/WPFでゼロから作り直しています。

また分析工程でゼロからインデックスメモを書き込んでいくのも大変で現実の業務でもなかなかやらないだろうということで、先のクラウド書き起こしした全発話インデックスをとりこんで、それをみて当該箇所を探してジャンプする、というユースケースを優先した作りになっています。

こちらも動いている様子を動画に録ってみました。

どちらもそう遠からずリリースできると思うのでご興味のある方はこちらのブログかTwitterアカウントをウォッチしておいていただければと思います。

動画眼のソースコードをGitHubで公開しました

Pocket

久しぶりに要望があったので動画眼のソースコードをGitHubに公開しました。

https://github.com/do-gugan/Do-gagan

Issue(機能要望やバグ報告)なども書き込めますのでよろしければご利用くださいませ。

急ごしらえしたのでファイルが足りているかわかりませんが、新規クローンでビルドできたので多分大丈夫だと思います。

15年も前のVB.NETコードに継ぎ足し、というかツギハギしてきたものなので小っ恥ずかしいですが、、、

そろそろC#にしてXamarin.FormとかでmacOSでも動くようにできたらなぁとは思いつつ、なかなか本業が忙しくて着手できずにいます。どれくらいニーズがあるのかもあんまりよくわからないので、本気で欲しいという方はお知らせいただければと思います。声が多ければ腰を上げる可能性が高まります(笑)。

 

動画眼に検索機能を追加しました

Pocket

初期バージョンリリースから13年を経て今更ながら動画眼に検索機能をつけました。今までなかったのかよ!と(笑)。今回Watsonによるテキスト起こしデータを流し込んでみて初めて気付きました。本来は自分でテキストを入力していくものというイメージだったのが、そうでないテキストデータを流し込んでビューワー的に使うコンテクストになって、これは検索ないと不便だぞと。

一応逐次検索と一括全選択(件数報告付き)ができるようにしてみました。

その他、.NET Frameworkを4.7にしてHiDPI(高解像度)なモニタの機種でフォントが綺麗になったかも知れません(実感できておらず)。またWindows10でフォーカス色が濃い青になり黒い文字と相性悪かったので色を薄くして水色にしてみました。

アップデートはCliceOnceでお願いします。手順がよくわからない方はこちらを参考にしてください。証明書は相変わらずついてないです、ごめんなさい。

IBM Watsonを使ってUT発話記録を書き起こして動画眼で眺めてみた

Pocket

普段、自分の業務ではあまり必要になったことないんですが、先日業界の飲み会で割とUT記録の書き起こしして、そして苦労してるんだなと感じたので、ちょうどいま別件でWatsonを活用する仕事に関わってるのでAPIの勉強がてらツールをプロトタイピングしてみました。
UTの動画ファイルから音声を分離し、Wasonにアップ、返ってきたJSON形式のテキストを見やすいタブ区切りテキストに変換し、拙作のフリーソフト動画眼(タイムスタンプ付きテキストをクリックすると動画の頭出しをしてくれる)に元の動画といっしょに食わせるところまで成功。

その様子がこちら(文字が読めるよう全画面表示でご覧いただくことをオススメします)。

精度としては感覚的に6割以下ってところですかね。モデレーターの「よろしくお願いします」みたいなはっきりかつ頻出なフレーズはちゃんと拾えるけど、被験者の思考発話は途中で途切れたり文章として成立しない場合も多いので、AI補完が入って語尾が勝手にかわったりしがち。単語も全然違ったりしてます。アスキングのコメントは少しマシですかね。まぁ、それでも、

  • 動画からあるシーンを探し出して見返したいというスポッティング作業の効率向上
  • ゼロから手で起こすより、これを直していった方が早いのでは仮説(対応してくれる業者いるのかしら)

とか場面を限定すれば実用性はありそう。

費用感ですが、本ツールを無償で公開したとして、WasonのSpeech To Text APIの利用料が(辞書登録など音声モデルのカスタマイズをした場合で)$0.03/分なので、60分のセッションを丸起こしさせたとして200円くらい?音声ファイルの長さで計算されるのか、変換にかかった時間なのか不明あやふやですが、実際変換はほぼ実時間くらいかかるのでどちらでもそう変わらないかと。結果がいまいちで、そのタスクや業界固有の用語を辞書に追加したりして何度かやり直しかけたりしてもまぁそんなにスゴい値段にはならないかと。

以下ざっくりステップ毎に解説。

0. WatsonのID取得

先日無償化が発表されましたがSpeech-to-Textは対象に含まれず。執筆時点で30日無料体験もあります。

1. 音声ファイルの用意

ICレコーダーで録ったならそのまま使える。ビデオカメラやスマホカメラの場合、音声だけ抽出してwavやmp3、ogg、WebM、flacなどにする必要があります。後述のCurlを使うアップロード方法(Sessionless)だと100MBまでしか一度に送れないので、mp3やflacのような圧縮率の高い形式にするのがヨサゲ。可逆の方が精度は出るだろうからflacがいいかも知れない(そういえばFLACで直接録音できるICレコーダーってないのかな?)。まぁコーデックやビットレートでどれくらい差が出るかはちゃんと検証できてないです。

今回は1万円ちょっとするPegasysのTMPGEnc Video Mastering Works 6を使用しましたが、カット編集が不要ならフリーでいくらでもあると思います。>音声分離

2.音声ファイルをWasonにアップロード

専用ツールを開発しない場合、黒い画面で使うCurlというテキストブラウザが使える(ブラウザからでもできると思うけど一括自動かという意味で)。CurlはmacOSなら標準搭載。Windowsだと自分でダウンロード&インストールが必要。そしてコマンドラインオプションとして、アップするファイル名、モデルと言語指定、出力ファイル名、タイムスタンプをつけるオプション、話者識別記号をつけるオプションだと、100文字以上の呪文になる(コード例1)ので、今回ツール1として、Windows向けフォームアプリを作成(画面写真1)。ちょうやっつけGUIですが、音声ファイルをドラッグ&ドロップし、IBM CloudのID&PWを設定したら送信ボタンを押すだけで、結果がテキストファイルに保存されます。認識にはほぼ実時間かかるので、複数ファイルをまとめて逐次処理できるようにしています。

コード例1. Curlによる送信例

↑これが↓こう。

画面写真1. 作成したプロトアプリ

CurlのフロントエンドUIを作っただけなので、Sessionlessなままで100MB制限が残る。もうちょっと真面目に作ってSessionあり(常時通信)で実装しなおせばそこら辺はとっぱらえるし、その気になればリアルタイムでテキストが落ちてくるような形もできるはず。

また辞書登録は未実装。WatonのAPIとしては、例えばサンプルでは「安藤」が「&」に認識いされちゃってるけど、そういうのを狙った表記に寄せられる。また「アイトリプルイー」とか出てきたら「IEEE」と書け、いったことにも使える(とマニュアルに書いてある)。

あと作ってからlibcurlの存在に気付く。これを使う用にすれば別途Curlをインストールすることなしに配布できるのかな?ちょっとライセンス周りを勉強しておきます。C#用のラッパーも見つけました

3. JSON形式からの変換

Watsonからの戻りデータはWebエンジニアさんにはお馴染みのJSONなので普通に眺めるには辛い。

こんな感じ。

単純にtranscriptを抜き出せば良さそうですが、これにはタイムスタンプがついてきません。ので手前の「よろしく」についてる17.8秒という情報を使います。またそのタイムスタンプで誰がしゃべってるかをspeaker_labelsオブジェクトから探してきて、speakerプロパティを抽出する必要がありました。ちなみにcondidenceは信頼度、つまりWatsonの自信度合いで0〜1の値がつきます。

で、これを自動でタブ区切りテキストに変換するため、ツール2としてC#でコマンドラインツールを作成。Visual Studio for Macで作ってmacOSで動いてますが、まぁ前後ツールの関係で実質はWindowsで使うことになりますかね?ただ自分でWatsonに投げられて、Excelで読めればいいやって向きにはMac版のニーズもあるかも知れません。VS for Macが吐いた.exeファイルをVS無しで単体で実行可能にする方法をまだ調べてない…(それよかツール1をMacに対応させた方が早いかもしれません。Xamarin.Formとか使えば両方で動くものにできるんじゃないかと)

ツール2はコマンドラインツールですが、使い方は変換するファイル名をオプションでつけるだけ。ただ後も先も.txtファイルなのでファイル名をどうしようか思案中。今は末尾に.txtをついかしてるので、hoge.txt.txtみたいになってしまう。動画眼で使うなら動画ファイル名と同名拡張子違いが一番都合がいいので、アップローダーで保存するファイル名を、hoge.watson.txtになるようにして、こっちで.watsonを抜く、とかがいいかな。

・タイムスタンプ

Watsonに投げる時に timestamps=true オプションをつけると、上記例の通り単語というか音節ごとにタイムスタンプがついてきます。残念ながら文章単位ではない。そこでひとまとまりの文章の中の最初の固まりの先頭タイムスタンプをとってきて文章とセットにする、という処理をしている。

・話者認識

同様に speaker_labels=trueオプションをつけると話者情報(speaker_label)がついてきます。デモ動画の中では「」の前にある0とか2が話者コードです。最初の登場人物から順に0からふられてくぽい。この動画では二人しか出てこないはずなんですが、なにかが一瞬1と誤認され、以降0さん(被験者)と2さん(モデレーター)になってしまいました。これも文章単位ではなく音節単位でしかも末尾にまとめて付加されるので処理が面倒でした。また全体としては1つの文章として認識してるのに、話者コードが途中で入れ替わることもあります。片方の発話を遮るようにもう一人がしゃべりだしたりするとそうなりがち。結局transcroptionプロパティを捨てて、alternative1つずつを拾ってつないでいきつつ、話者コードを調べて切り替わった時点で手動で文章も切り離すという処理にし、実装にえらい苦労しました…
数字を名前に置換する機能とかあるといいんでしょうけど、認識してみないと誰が何番になるかわからないので、このJSON変換ツールでというより動画眼なり後段階のツールの仕事にするのがいいかなと思っています。

4. 動画眼(既存ツール)

動画眼はタイムコードとメモがタブ区切りペアになったテキストファイルと、動画または音声ファイルをセットで読み込んで、メモ(発話内容や行動)をダブルクリックすると、そのシーンが頭出し再生される、もしくは再生しながらメモを書き込むとタイムスタンプ付きで記録してくれる、というUT見返し用の拙作フリーソフトウェアで、こちらで配布しています。

今回3.のツール2の出力はこれと互換性があるので、元になった動画/音声ファイルとツール2が出力したタブ区切りテキストを読み込ませることで、サンプル動画のようなことが可能になる。なお、青いフォーカス行が移動してるのは手動で操作してるからです。動画の進行にあわせて自動で進んでくわけではありませんのであしからず。

あとこうなってくると検索機能が欲しいよなってことで、初リリースから十余年を経てついに実装しました(何故か考えたことすらなかったw)。近日リリースします。

まとめ

とまぁ書き起こしてみると大変そうだけれど、一度セットアップしてしまえばそれなりの手軽さでここまでできるよっていう技術デモです。驚愕するほどの認識精度ではないですが、実際にセッションを見ていたモデレーターや見学者が、概要思い出したり、特定のシーンを探す手助けくらいにはなるんじゃないかと。また書き起こしをする際のドラフトに使ったらゼロから手で起こすよりは楽になるんじゃないかとか。精度は録音状態にも大きく左右されますね。今回は10年以上前にとったもので撮影機材は定かではないですが、DVだったような気がします。取り込んだ動画の音声はPCMでしたが途中不可逆圧縮を経たか不明。いずれにせよアップロード段階でMP3にしちゃいました。WAVのままで短い区間で試したサンプルはもうちょいマシだったような気もしますが定量的には比べてないです。別件で携わっている教室のディスカッション起こしは別グループの声とかノイズが多いので話者毎に口元マイクを使って別トラックでとるということをして、精度を追求していますが、UTの実務現場ではなかなか現実的ではないかなと。なるべく高音質に録って、そのままWatsonにいれるのが良さそう。その意味でツール2をセッションレスからセッション通信に再実装して100MB以上のアップができるようにしておきたいところです。

ツール1、2はもう少し整備してから公開しようと思っています。コードが汚いと叩かれそうだけどソースごとGitHubにあげましょうかね。誰かが活用&改善してくれることを願って。まずは多少のセットアップはいとわないので試してくれるクローズドβテスターさんがいたらお声がけください。

謝辞

本記事のトライアルにあたっって、羽山さん(@storywriter)の記事を大変参考にさせていただきました。この場を借りてお礼申し上げます。また今度是非Watsonトークしましょう!

ClickOnce形式で配布するアプリのセットアップ手順

Pocket

開発ツールの都合で、動画眼はじめ当サイトで配布するWindows向けツールの配布方法を従来のSetup.exeインストーラーを利用する形式から、ClickOnceというブラウザからインストールする形式にシフトしていこうと思います。そこで、馴染みのない方向けに簡単な説明をば。

ClickOnceの特徴

ClickOnceはMicrosoftの開発ツールVisual Studioに含まれる配布形態で、以下のような特徴があります。

■配布者側

  • 開発ツールからメニュー一発で直接配布サーバーに登録でき、圧縮やアップロードの手間が省ける。

■ユーザ側

  • ブラウザ上の「インストール」ボタンからインストールでできる(後述のブロック解除手順は必要)
  • 更新版の自動確認機能がある
  • 前バージョンに戻す機能もある

など双方にメリットがある方法となっています。

インストール手順

動画眼を例にとって説明します。配布ページのインストールリンクを辿っていただくとこんなページが出ると思います。

clickone1

「インストール」ボタンをクリックするとsetup.exeがダウンロードされ実行されます(ブラウザの設定によっては警告が出ると思いますが、実行を許可してください)。

続いてこれまたWindowsのバージョンやセキュリティ設定、対策ソフトの状況にもよるのですが、未署名配布なので警告がでると思われます。Windows10の場合を例にとると、こんなダイアログが出るはずです。

clickone2

「詳細情報」リンクをクリックしてもらうと、下のように「実行」ボタンが現れます。

clickone3

インストーラーであるsetup.exeと、インストール後の実アプリの初回実行時の計2回この操作が発生します。お手数ですがご勘弁ください。2回目の実行を許可していただくと、従来通りの画面が起動すると思います。

更新手順

アップデート版がサーバーに公開された場合、起動時に「利用可能な更新があります」というダイアログが表示され、「OK」ボタンを押せば最新版がダウンロードされます。いちいちブラウザで当サイトにアクセスして最新版をダウンロードする手間がありません。もちろんそこで「スキップ」もできます。

ロールバック手順

一度最新版にしたものの不具合があるので前バージョンに戻したいという場合、Windowsのコントロールパネル「プログラムと機能」から1つ前のバージョンに戻すことができます。下のように「道具眼」を右クリックして「アンインストールと変更(U)」を選びます。

clickone4

そうするとこんなダイアログが出ます。この例では前バージョンが保存されていないのでグレーアウトしてますが、存在する場合は「アプリケーションを以前の状態に復元します。が」が選択可能になっているはずです。

clickone5

当面、問題が指摘されてない限り、順次このClickOnce方式にしていこうと思います。

ようやくiOSアプリ第一弾AccentViewer公開

Pocket

最初にdefault languageの設定を間違え、Appleに修正依頼をするも梨の礫。結局半年分のライセンスを諦めて別アカウントを取り直してみるも契約情報が既に存在するというエラーが出て有料アプリ設定ができず、これまたサポートに出して返事がない。結局日本のサポートに電話したところ、iTunes Connect設定は日本の部署では触れないが、要求は翻訳して本国に伝えるというのでまたまた待つことしばし。なんだかんだで二ヶ月ほど遅れてしまいましたが先ほどようやく公開にこぎつけました。

一本目はAccentViewerという文字通り日本語のアクセントを調べるアプリ。Twitterでとある現役の声優さんから頼まれて作ってみました。元々大辞林には見出し語の脇に小さくアクセント位置を示す数字が記載されてるんですが、これを視覚的に見やすい形で変換して表示するものです。Yahoo!辞書が大辞林のデータでひけるのでそれを利用してます。声優とかアナウンサーとか特定業種の人や日本語を学んでいる外国人の人などニッチ向けなんであんまり売り上げは期待してないです。むしろ知ってる声優さんがブログやTwitterで触れたりしてくれたら密かにニヤニヤして満足って感じ(笑)。

AccentViewer - 道具眼 (do-gugan)

 

また道具眼謹製iOSアプリの専用サイトを開設しました。

//do-gugan.com/iosapps/

またTwitterアカウントも専用のものを作りました。アプリ情報だけチェックしたいという方はこちらをフォローしていただくと良いかと思います。

http://twitter.com/do_gugan_apps

 

第二弾はもう少し一般向け(でもないか?)な動画プレーヤーアプリになると思います。一応完成してるので後は紹介文や画面写真などを用意してなるべく間を置かず公開したいと思います。

どうぞよろしくお願いします。