ワイヤレスマイクのレシーバーを見やすい角度で保持できるスタンドを自作

Pocket

みなさん、小型ワイヤレスマイク使っていますか?Rode Wireless Go辺りから始まったバッジ型(?)小型ワイヤレスマイクの潮流は、ユーザーテストや1on1のインタビューでとても手軽に良質な音声収録を可能にし、かつマイク本体に録音もできる機種であればバックアップ録音や、事後の音量バランス調節なども行える保険として有益です。

私もこの辺りを実際に現場に投入して一長一短ありつつも便利に使っています。

されこれらのマイクの共通の特徴として、マイク子機(トランスミッター)2台とPCやビデオカメラに有線でつなぐ親機(レシーバー)から成り立っています。レシーバーにはリアルタイムの音量(レベル)やバッテリー残量など重要な情報が表示されています。これをごちゃつきがちなモデレーターのデスクに見やすい位置に置いて、ステータス確認したい時にat a glance(チラ見)でチェックできるようにしておきたい、というのが本記事のトライアルです。

これらのレシーバーは軽量な上に背面や底面にカメラのコールドシュー(ストロボを取り付けるレール)につけるクリップがついていて、安定性がよろしくない。カメラの上にとりつける時はありがたいスタンドが、安定悪くしていて机の上に置いておくとケーブルに引っ張られたりしてすぐにクルクル明後日の方を向き出してしまいます。また仮に自分向きに置けたとしても、RODE製品は上面、DJIやHollylandはフロント面にディスプレイが来るので、覗き込むなりしないと見えなくて微妙なストレス!

これを解決するスタンドを3Dプリンターで自作してみました。その完成品がこちら!

「コールドシューを斜めにしただけの台~」(CV.のぶ代)

RODE型のレシーバーは下から差し込むようにつけます。

RODE Wireless Pro取り付け例

DJI/Hollylandのように薄い面がモニタの機種は台を180度逆向きにして差し込みます。

Hollyland Lark Max取り付け例

PCにUSBケーブルでつないで脇に置いておけば安心です。ままでクリップでそのケーブルに挟んで固定してたりしましたが、それだと下を向いちゃったりでいまひとつでずっと気になってたんですよね、、

なおコールドシューのパーツはRemix OKで公開くださっていた拾いものをベースに、両側から刺さるように改造した上で流用させていただいています。

さらに3DプリントのPLA素材なんてスカスカで軽いのでちょっとなにかにぶつかっただけで動いてしまいます。そこで、テテーン!

底に穴をあけてジンバル用のウェイトを入れてみました。

買うとちょっと高いですが、前に別のことで買って使わなくなっていたものを流用。これでズッシリさあが増して動くにくくなった気がします。さらに底に滑り止めのシートも貼ってみてもいいかも知れません。これがぴったり刺さる穴径がなかなか作れなくて三度目の正直でやっとピタっとはまりました。手ではもう抜けません、、必要なら三脚ネジになにかネジこんで引っ張るとかすればいいかも。

stlファイル置いておきます。ほしいという奇特な方はどうぞ。利用せていただいたコールドシューパーツのライセンスが改変OK、商用NGなので直接の販売はできません、送料実費くらいでならどうだろ…まぁいざとなればもっと緩いライセンスの部品をくっつけなおすだけなんですが。

今回利用した元パーツもクレジットせねばなりません。こちらの作品です。Ratasichさんありがとう。

そして再頒布は同じ条件で公開しなければならないので、ご利用になる方は以下をお願いいたします。クリエイティブコモンズライセンスのBY-NC-SA 4.0 DEEDです。

  • 再頒布、改変はOK
  • 元製作者のクレジット必須
  • 商用不可

■市販品で作る

今回の計画段階で、ありものを組み合わせるだけでも近いものはできるなと思いました。

コールドシュー部品はこれがおすすめ。両側から差し込めます。三脚ネジ互換のネジも付属しています。

これを何か小さめのミニ三脚に装着するだけです。三脚側もネジが出ているのが多いので、メス-メスのアダプタ。

あとは向きが変えられる雲台がついたミニ三脚ですね(もしくは三脚+雲台)ですね。個人的にはあまり背が高くなりすぎず、値段もそこそこに抑えるとこんなんかなぁ。

百均とかにいけばなんかあるかも。個人的には「これ!」ってのがなくて「作っちゃえ」となりました。結果的にフットプリントが小さくできたので、色々なものがあって渋滞しがちなモデレーター、オペレーターのデスクで邪魔にならなくていいんじゃないかなと思います。

動画眼3のVer 2.12.1を公開しました

Pocket

GitHubのリリースはこちらです。

https://github.com/do-gugan/do-gagan_electron/releases/tag/2.12.1

今回はバグ修正以外にいくつか機能改善や変更も含んでいます。

再生ステータス表示

まず再生中にスキップや速度変更、一時停止、画面キャプチャをした際に映像フレームの右上にステータス表示(アイコン、文字)を表示するようにしました。キーボードショートカットで不意に速度がかわったりしてると気付きにくいので。右上というのがこだわり。昨今の動画サイトやアプリは一時停止とかスキップボタンをデカデカをコンテンツのど真ん中に出すのがデ・ファクトになっていて異を唱えたかった。普通に考えて邪魔でしょと。小さい画面でタッチ操作するスマホはまだわからなくもないけれど、画面全体の輝度を落とすのもいらない。一時停止って視聴を止めるってだけでなく映像をしっかり確認したい、って場面もあると思うんですよね。そういう時に邪魔をするUIはいらない。一時停止してまっせ、ということだけが伝われば良い。てなことでスタータス表示は右上に控えめに。ブラックアウトももちろんなし。技術がないとか面倒だったとかじゃないんだからねっ!

キーボードショートカットの変更

次に大きな変更としては、前後ジャンプのショートカットキー割り付けを変更しました。従来のCtrl + W/Qに慣れてらっしゃる方がいらしたら申し訳ないですが、まぁたぶん世間の誰も使ってないから大丈夫だろうと…

変更意図はこちらの図をみるとわかっていただけるかと思います。

こちらが変更前。

そして下が変更後です。

もともと動画眼3でCtrl + WとQがペアで前後だったところにEを追加。更に下段に速度制御系をいれて、ほぼ同じ動作をするCtrl + EとCtrl + Sがズレてるのがわかりにくいなとなりました。

ちなみに速度制御系はPremiere Proなどで一般的なJ/K/Lキーでも行えます。ただモディファイアキー無しは文字入力中などには使えないので、別途Ctrlを使い、左手一本で扱い易い位置としてCtrl + A/S/Dをもってきたという経緯です。ただここはもともとWindowsでは全選択や上書き保存に使われてたりするので悩みましたが、本ツールにおいての操作性を優先してみました。上書き保存はShift +Ctrl + Sとちと面倒になってますが、定期自動保存もあるしな、と。

あとCtrl + Q/EはShiftを押しながらだとn倍ジャンプするんですが(何倍かは設定画面で指定)、macOS + ATOKではShift + Ctrl + Eで単語登録ウインドウが開いてしまうようです。自分は必要ないのでATOK側でアサインを変更しようと思います。

このように特定環境や習慣とバッテイングするのも問題なので、将来的には有効無効を切り替えたりカスタマイズできるようにしたいなとは思いますが、まぁ現状自分以外に利用者いなさそうだし優先度低め。

動画眼Liteの方も近日中に新アサインに更新予定です。

ログ・インポート時のダイアログの挙動変更

動画眼上で作成した.dggn.txt形式ファイル以外のデータで読み込めるのは、csv、srt、そして旧動画眼形式の.txtですが、インポートするファイルを指定するダイアログで拡張子による絞り込みのプルダウンメニューがありました。自分は最近Whisperで生成したsrt形式を使うことが多く、毎回プルダウンの一番下を選ぶのが面倒になってきました。最後に使った形式を記憶しておいてデフォルトでそれが選択された状態にできないかと思ったんですが、APIの仕様上、HTMLのselectタグのselectedのような指定はできなそうで、順序を一番上に持ってくるしかないとのこと。プルダウンの順番がコロコロかわるのもなんだなということで、デフォルト(一番目の選択肢)は.txt、.csv、.srtがすべて選べる状態にしました。フォルダ内にファイルが多すぎる時だけプルダウンで絞り込んでね、という形。macOSの場合、この拡張子セレクタはボタンを1つ押さないと出現しなくてさらに手間だし気付かれないこともあると思うので、その意味でも良い変更なんじゃないかと。

まだまだ改善中ですがよろしかったらお試しください。

動画眼3 2.11.0をリリースしました

Pocket

先日、AI書き起こしツールのWhisperとstable-tsを試し、その認識精度は実用レベルだなと感じました。

ただ気になったのは、書き起こしたテキストがPremiere Proに比べて細切れになる傾向がある点。文章や単語の途中でも切れまくっていいます。Whisperにはregroupというオプションがあるんですが、これを有効にしてもやや細切れのままなケースが散見されるので、もう少しオプションを詰めて行きたいと思いつつ、とりあえずの緊急措置として、動画眼3で取り込んだ後で、簡単にメモ(セル)を連結できるようにしました。

任意のメモを選択して、Ctrl+Fすると、直後のメモの内容を末尾に連結し、そのメモ行を削除します。MergeのMが使用済みだったのと、連続した押しやすさを考慮してFにしました。FusionのFとでも覚えてくださいw。

その他、細々とした使い勝手や不具合修繕も含んでいます。

最新版のダウンロードはこちらからどうぞ。

https://do-gugan.com/tools/do-gagan3/install.html

ショートカット一覧を作成

今回、操作ガイドとしてショートカット一覧を作成しました。動画眼3の「サポート」メニューから呼び出すことができます。

また表だけだと位置関係がわかりづらいので、再生操作系のショートカットを可視化するイラストも用意しました。文字ではピンとこないと思いますが、この当たりは運指のしやすさも含めてこだわっている部分なので、是非これでイメージを掴んで活用していただければと思います。

CtrlキーがAの左にあることを想定しているので、WindowsでCapsLockを使わずに遊ばせてる方は是非キーリマップツールを導入してCtrlキーとして使えるようにカスタマイズすることをオススメします(もちろんCtrlキーが左下のままでも使えます)。変更にはPowerToysCtrl2CapsなどどちらもMicrosoft謹製ツールです。

最近では、スイッチ切り替えでCapsLockをCtrkキーとして使用できるキーボードなんてのも登場しているようです。

より扱い易いWhisper派生ツールstable-tsを試す

Pocket

前記事でWhisperというAI音声書き起こしツールを試し、これまで使用していたPremiere Proよりもかなり日本語文章として自然な結果が得られました。

その中でいくつか気になっていた、同じワードが反復して出てきてしまう現象について、VADという発話区間を識別する下処理をかけると良いのではという情報を発見しました。

標準では機械的に30秒ごとだかのセグメントを切って認識をしているところを、事前に声がある区間と無音区間または雑音の区間を切り分けて、発話のまとまりをしっかり識別してから処理にかけるという感じでしょうか。

VAD自体は一般的な処理の名称で、これまたAIで処理するSileroVADというツールが優秀っぽい。

そこで今回の記事ではSileroVADでの下処理→Whipserで書き起こしをまとめてやってくれるstable-tsというツールを試して見ることにしました。正式名称は「Stabilizing Timestamps for Whisper」みたいです。文章だけでなく単語レベルで正確なタイムスタンプを生成するのが主目的ぽいですが、その過程でSileroVADやWhisperも処理してくれます。

前回と同じくWindowsにPythonをセットアップし、pipでインストールしてコマンドラインから扱います。コマンドの構成はこんな感じ。

デフォルトで単語単位のタイムスタンプが有効なので、–word_level=Falseで無効にし、VAD処理をかけるため–vad=Trueを付加します。あとの言語やモデルの指定はバニラのWhisperと同じ感じ。

■結果比較

毎度の私のガジェットレビュー動画のサンプルです。

主にstable-tsとWhisperを見比べてみると、

  • Whisperで気になった短い語句の繰り返しがほぼなくなっている
  • 句点(。)がついている
  • ブロックが自然なところで区切られている

といった違いが顕著です。基本的にstable-tsの方が勝っている印象です。

またGPUのVRAM使用量もWhisperが13GBくらいだったのに対し、stable-tsは9GBくらいとコンパクトになっており、処理時間はバニラWhisperが16分の音声ファイルを5分40秒だったのに対しstable-tsは2分28秒。VAD処理をしているにも関わらず速いです。ちゃんと調べてないですがfast-whisperという小型軽量高速なフォークを使っているのかも知れません。これくらいならRTX4090のようなモンスター級のGPUがないゲーミングノートPC程度でもそれなりに実用的な速度で使用できそうです。

各ツールの製作者、コントリビューターの方々には感謝感謝です。

ローカルで書き起こしができるOpenAIのWhisperの精度をPremiere Proと比較してみる

Pocket

UT/インタビュー調査の音声を書き起こして活用する際、案件の性質上、クラウドの書き起こしサービスは使えないことが多いです。そのため、従来はAdobe Premiere Proのローカル書き起こし機能を使っていました(競合のDaVinci Resolve Studioも最近ローカル書き起こしに対応したものの、タイムコード出力ができないっぽいので、拙作の動画眼3でインデックスとして使うには対象外となっています)。

Premiere Proの音声書き起こしは無料で使えるものの、残念ながら固有名詞の追加学習が行えません。UTでは機能名や画面名など固有名詞が頻出し、それが言及された箇所を検索したい場合が多いので、「ローカルで使え、かつ固有名詞学習ができる」書き起こしツールを渇望していました。

そこで見かけたのが、ChatGPTで有名なOpenAIが公開しているWhisperという書き起こし(ASR)ツールです。Webサービスとして有料で利用もできますが、ツールとモデルは公開されており、ローカル環境にインストールしてオフラインで無料で利用することもできます。また自分でモデルをトレーニングしてボキャブラリーを増やすこともできるようです。

昨年導入したRTX4090を搭載したWindows PCにインストールしてテストしてみました。

詳細なインストール方法は割愛しますが、Python環境があればインストールコマンド数行で導入できると思います。

また学習済みのモデルも大小様々な規模で公開されています。今回は最新で最大のlarge-v3を使ってみました。使用したPCはCPUがAMD Ryzen9/5900X、メインメモリ64GB、GPUがNVidia RTX4090(VRAM 24GB)のWindows 11機です。

■精度

動画と書き起こしデータをリンクして参照できる拙作「動画眼Lite」形式にして下記にサンプルを置いてみます。書き起こされたまま一切の修正を加えていません。

タイムコードの部分をクリックすると当該箇所が再生されるので、書き起こされた文章と実際の音声を比べてみてください。

以下はWhipserによる書き起こしのサンプルです。

まず大きく違うのは、1つのブロックの長さです。Whisperはかなり細切れで、1息の発話も分割されてる感じ。これはもしかしたらパラメーター次第でどうにかなるかも知れません。

あと気になるのは1:12~1:17のところで「で走行中にしか」が3回繰り返されてる点。ここ以外でも割とあちこちに同じ現象が出ています。もちろん実際に何度もこういう発話をしているわけではなく、エコーのようなものが発生しています。最初、STTシステムにありがちな音声の途中の変換候補のようなものが更新の度に書き出されているのかなと思いましたが、必ずしもそうでもなさそう。–best_ofという候補数の増減オプションがあるんですがいじってみてもあまり効果がなさそうでした。そもそも実際の発話は1:16辺りなのに、1:12と数秒早い段階で出現してるのも不思議。

そんなこんなはありつつも、全体的な精度はかなり優れているという印象です。読んでて文章として成立しないような箇所が少ない。またeSIMのような最近のワードがしっかり書き起こしできるのは好印象。PremiereだとESIMになってました。

■処理速度、使用リソース

コマンドラインオプションは最低限で、パラメーターはほぼデフォルトの状態で、16分の音声ファイルを5分40秒ほどで処理できました。3倍速くらい。

処理中のGPU使用率はこんな感じ。ほぼ100%張り付きで、VRAMは24GB中、コンスタントに13.2GBほど使用していたようです。16GB搭載の4080や4070Superでも実用になるかな?

■使用感

whisperに食わせられるのは音声ファイルなので、UTやインタビューの動画がソースファイルの場合、音声を分離してやる必要があります。今回はVLCを使って実施しました。ひと手間必要ですが、まぁVLCなら複数ファイルのバッチ処理もできるので、まぁいいかな。

mp4ファイルを直接食わせられました。

出力は字幕データによく使われるsrt形式で書き出しました。動画眼3はこの形式のインポートに対応しているので簡単に元動画ファイルとかけあわせて上記の動画眼Lite形式のデモが作成できます。

インストールが若干試行錯誤が必要でしたが、whisperコマンドが使えるところまできたら、あとはまぁ簡単かなという印象。パラメーターを詰めれば精度や速度が上がるかもですが、ちょろっといじった範囲ではデフォルトが一番正確に書き起こしてくれた気がします。

■単語学習(まだ難あり)

finetuningと呼ばれるモデルの再構築よりも手軽な方法として、優先使用したい語句をプロンプトとして与えてやるという方法があるようです。語句を半角スペースで区切って、

のように与えてやります。ただし、この記事によると、initialとあるように、最初のブロック(ウインドウ)30秒にしか反映されず、2ブロック目は1ブロック目の認識結果でプロンプトが上書きされてしまう仕様のようです。

これを、最初から最後まで強制的にinitial_promptの内容を適用させるプルリクエストが提案されています。transcribe.pyというPythonスクリプトに対する改変なので、こちらの差分を見て、最新版のtranscribe.pyをテキストエディタで開いて適用させてみました(ピンクの行を削除し、黄緑の行を追加する)。ちなみに自分の環境では対象ファイルはC:\Python311\Lib\site-packages\whisper\にありました。再コンパイルも不要でwhisper.exeから–always_use_initial_prompt Trueオプションが使えるようになりました。

最終的に使用しているコマンドラインオプションは、

といった感じです。

ただ結果は微妙で、確かに誤認識していた箇所がプロンプトに加えた単語に置き換わってくれた箇所もあるんですが、逆に全然関係ないところでもその単語に引かれてみたり、しかも”トヨタ 日産 ホンダ”というプロンプトにしたら、「トヨタ 日産 ホンダ」というセグメントが大量に出現したりしました。もうちょっと研究が必要そうです。

やはり精度をあげるにはモデル自体を再トレーニングしないとダメかも知れません。

■まとめ

それなりの性能のPCが必要なものの、ローカルで実行でき、簡易的な単語追加も行えるOpenAIのWhisperを試してみました。

まだ色々パラメーターをいじったり、Pythonスクリプトで自動化やカスタマイズをする余地はありまsくりですが、とりあえずコマンドプロンプトでもPremiere Proよりもかなり「読める」書き起こしをしてくれるので、今後業務データを作る際にはこちらを使おうかなと思います。

2024.1.17追記:更に高速軽量で精度も高い関連ツールstable-tsを試しました。下記記事もあわせてご覧下さい。

動画眼3 2.10.3をリリース(不具合修正)

Pocket

動画眼3にバグを見つけたので修正版をリリースしました。

https://do-gugan.com/tools/do-gagan3/install.html

Premiere ProのAI書き起こしデータをインポートできなくなる不具合で、以前一瞬だけ書き起こし時のタイムコードの区切りが「;」になっていた気がしたので2.10.1で対応してあったのですが、あらためて最新版をみると「:」に戻ってました。なんだったんだろう。夢?

対応したのが随分前でそのままPremiereが何度かアップデートしてたのに検証しきれていませんでした。該当機能をご利用の方にはご迷惑をおかけしました。

RODE Wireless Pro用のネックストラップハンガーを作成

Pocket

UT/インタビューで2人の音声を明瞭に収録するのに、RODE Wireless GOシリーズのような小型ワイヤレスマイクは重宝します。ただUTやインタビュー調査のように参加者が入れ替わり立ち替わりして、かつセッテイング時間もない、服装も様々、という場面では、クリップやマグネットで衣服に固定しづらいことも。

そこで、当サイトでは3Dプリンターでネックストラップにとりつけられるハンガーを設計して活用していました。直接クリップ部分にヒモをひっかけるよりも姿勢が安定し、マイクが常に上(口元)を向きやすいメリットがあります。

ハンガーを使ってストラップに吊り下げた様子

しかし、2023年秋に発売されたRODE Wireless Proでは専用の充電ケースが付属しており、このハンガーパーツと相性問題が発生しました。

ハンガーが干渉して充電スロットに刺さらない

7時間程度保つというカタログスペックですが、慎重を期して60~90分のUTセッション毎に充電しておこうと思うと、都度ハンガーを付け外しする手間はばかになりません。

そこでWireless Pro充電ケース対応の新しいハンガーを再設計することにしました。

完成したPro用ハンガーがこちら。

RODE Wireless Goシリーズでは別売りだったマグネットがProでは標準で付属していますので、これを活用するスタイルです。今回はスマホケースなどで使われる柔らかいTPU素材で出力してみました。マグネットを固定する仕掛けが最低限なので、より摩擦が大きく外れにくいことを期待しています。

実際にとりつけたのがこちら。本体側上部が一応引っ抱えるようになっているので、見た目よりはスッポ抜けにくくなっています。普通にブラブラ振り回すくらいでは外れなさそうです。

Proケース対応の新ハンガーをMagClip Goマグネットにとりつけた様子

そして問題の充電ケースですが、こんな感じで収まります。

充電ケースにセットした様子

送信機のスロットはセンターと左側です。センターはそのまま刺さりました。左側も外周のフレームが干渉してしまいマグネットがズレるものの刺さります。実用上は問題なさそう。そもそもマグネットなので最悪付け外ししても手間はほぼありません。

ちなみに受信機も同じ形状ですが、ネックストラップで吊る必要はないと思うのでここでは考えないことにします。右の受信機とセンターの送信機の隙間はギリギリなのでつけたままセットするのは無理っぽいです。

これでストレスなく実査中に充電ができそうです。

こちらのハンガーを使ってみたいという方で、3Dプリンターをお持ちの方は以下のSTLファイルをご自由にご利用ください。また自身で出力できる環境がないが欲しい!という方がいらっしゃいましたらコメントからお問い合わせください。送料実費くらいで頒布いたします。

こちらのストラップで検証しております。

ソニック ストラップ 多機能 丸ひも ストラップ 青 MH-223-B

ソニック ストラップ 多機能 丸ひも ストラップ 青 MH-223-B

390円(03/18 23:36時点)
Amazonの情報を掲載しています

ユーザテストにおけるダミー情報のデザイン指針

Pocket

ユーザテスト(UT)で例えば利用登録タスクなどで個人入力をしてもらう際、被験者自身のガチの個人情報を入れさせるのは躊躇われます。プライバシー保護観点からも望ましくないですし、なにか注文操作をしてもらって(寸止めするつもりでいてもうっかり)注文が確定しまっても大変面倒なことになります。録画した画面にも映り込んでしまうので録画データの管理が難しくなったり、漏洩した時の被害低減の点からも避けたいです。

ので、相当な理由がない限り架空の個人情報を与えて「これを自分の情報だと思って使ってください」などとすることが一般的だと思います。本記事ではダミー情報を使ってもらいつつ、極力実際の利用状況から乖離させないための工夫をまとめてみたいと思います。

大原則としては、「本来の利用場面で発生しえない負担や違和感を上乗せしない」ことがポイントになると思います。

■入力負担を抑える

ほとんどのリサーチでは文字入力操作の可否や速さを観察したいということはないでしょう。であればそこに時間をかけさせる必要はありません。特に入力が遅い低リテラシー層の対象者の場合、入力内容の文字数や難易度が所要時間に輪を掛けて影響をします。

  • できるだけ文字数を少なく
  • 難解な読みを避ける(もしくはルビをふる)
  • 変換辞書で一発で変換できるものを選ぶ
  • メールアドレスに含める記号を最低限にする

などに注意しましょう。経験上、エンジニアの方はメールアドレスに息をするようにアンダーバーとか入れてきます(笑)。そしてシニアの方などが入力方法がわからず時間を浪費するのです。

またOSの予測変換を積極活用していい場合、したくない場合はケースバイケースだと思いますが、挙動は確認しておくのが無難です。苗字を確定しただけで名前が候補で挙がって来てしまうこともあると思いますので、それが問題になる場合はセッション毎に予測変換学習をリセットするなどの工程が必要になります。

■項目別ポイント

性別(とそれを連想させる名前)

性別自体は選択式なので特にダミー情報なく自分で選んでもらうでも良いと思いますが、名前も性別情報を含んでいるので配慮の余地があると良いと思います。女性なのに「太郎」と入力させられるのは違和感を覚えられるかも知れません。性別くらいはその人にあわせてあげたいものです。一方で提示シートを男女別で作り分けるのも手間で差し換えも面倒ですし、昨今では性自認が実性別と異なるケースにも配慮が必要だと思うので、私が自分でデザインする時は男女どちらともとれる名前にすることが多いです。「男女に使える名前」とかググればたくさん出てきます。その中で対象者の年代に偏りがある場合は、なんとなくその世代に馴染みがありそうな名前をピックアップする感じ(例:シニア中心のUTなら、あまりキラキラしてない昭和っぽいの名前にするなど)。

氏名

全体的に一目見て覚えられ、読みも頭に浮かぶものが理想です。

Amazonのテストだからって「亜麻尊 太郎」みたいな苗字にする必要はありません。普通に日常的に聞き馴染みのある名前で良いと思います。ただ「楽天 太郎」とか「豊田 太郎」のように元から日本語として馴染みがあり、読みもすぐ想像できるようなものなら使っても良いと思います。明らかにダミー然としていることのメリットもあるかなと。

「太郎」と「太朗」、「裕子」と「祐子」みたいな紛らわしいバリエーションが浮かびそうなものも避け、小学生でもさらっと書ける名前、くらいのイメージで考えてみてください。

住所

住所も特に架空のものをでっちあげるより、その会社や会場の所在地など実在のもので良いと思います。特に郵便番号からの自動入力機能がある場合などは実在の住所でないと無駄な手間が発生する可能性もあるので、無難にリアルで馴染みにある住所がいいでしょう。

建物名や部屋番号まで正確に入れてもらう必要がない場合は番地までに留めた方が時短になります。逆にSNSなど大まかな都道府県や市区町村までしか要求しないフォームでもデータシートにはしっかり番地まで記載しておき、そこから必要な部分を選んで入れられるかと評価する方が実使用場面に近いと言えるでしょう。

電話番号

電話番号を入れる欄だとわかってくれたことさえ検証できれば、入力できるかどうかは検証外なことがほとんどでしょう。03-1234-5678とか、携帯番号なら090-1234-5678とかで良いんじゃないかと思います。自分の番号と同じくらい簡単に打てるという感じで。

国際表記で+81が付与してあって、先頭0抜きで書いてほしいフォームなんかもあると思うので、市外局番/0A0部分くらいはリアルにしておけば良いんじゃないでしょうか。

生年月日

1桁と2桁を混在させる位でしょうか。0埋め周りの挙動をみたりできます。あとプルダウンのスクロール幅が大きいケースを見ておくために、日付を大きめ(遅め)にしたりします。3月20日とか。

年は参加者層の平均くらいを設定します。和暦か西暦かは対象フォームにあわせるか並記するくらいで良いでしょう。

メールアドレス

ここは一字一句正確に記載することの負担が大きい項目なので、慎重にデザインしたいところです。入力だけしてもらえばなんでもいいのか、実際にサーバーに送信して返信を受信できる必要があるかによっても自由度は違ってくるでしょう。後者の場合はさらにセッション毎に違うアドレスにする必要があるかどうかなども検討します。

まずメールアドレスの様式はRFC5321/5322などで既定されています。

  • 以下の文字を含むもの / ! “ # $ …
  • @が2つ以上含まれるもの
  • @の直前が英数字以外のもの例)taro.@yamap.co.jpはNG.
  • .(ドット)または_(アンダースコア)が2つ以上連続しているもの
  • 最初の文字が英数字以外のもの

最低限それには沿っておきましょう。

開発者/リサーチャー目線でデザインすると「formtest2024_01@gmail.com」みたいにしがち。プロダクト名やリサーチテーマなどを入れて名前空間を意識してユニークにして、etc.、etc.。こうしたアドレスは不必要に長いし、アンダーバーとか世の中の非IT層の人は滅多に打たない記号が入っていてよろしくないです。だからといって「formtest」みたいに複合語を区切りなしで使うと綴りが読み取り辛くなります。どうしても区切りを入れたい場合はせめてハイフンが良いでしょう。フリーアドレスなどで取得が必要な場合、一般的なワードは既に取られていることも多いですが、うまく数字などを組み合わせてデザインしましょう。

視認性の面では、「0とo」「1とl」「mとrm」など見分け辛い文字を使わないこともポイントです。もしくは先にも書いた通り、それらが充分見分けられるフォントとサイズで提示しましょう。

受信が必要になるタスクの場合、Gmailなどフリーアドレスを利用することになるでしょう。Gmailなどは+を入れて派生アドレスを簡単に増やすことができるので利用すると良いでしょう。例えば「hogehoge@gmail.com」というアドレスを取ったとして、「hogehoga+01@gmail.com」とか「hogehoga+02@gmail.com」は全て同じメールボックスで受信されます。タダとはいえ無駄にアカウントをたくさん作ってサーバーリソースや名前空間を圧迫するのは避け、節度をもって利用させてもらいましょう!なお共通メールボックスを利用する場合、前セッションのメールは削除するのも忘れずに。

クレジットカード情報

これも桁数さえ合っていれば基本充分だと思いますが、クレジット番号チェック機構が備わっているフォームの場合は、カードブランド毎に決まっている動作検証用番号を使うとよいでしょう。

手元のカード券面から必要な情報が読み取れるか検証したい場合、記載情報を記入するとクレカっぽい画像を生成してくれるジェネレーターサイトを使うと良いかも知れません。下の方でVisa、Masterだのイシュアを選択すると数字はランダムで生成してくれるので、名前だけ自前で決めた名前に直して画像を取得すればOKです。

■ペライチにまとめて記憶負担を抑える

本来自身の名前や住所、電話番号などはほとんどの人は暗記しており負担なく再生できる記憶であるのに対し、UTの最中に唐突に与えられたダミー情報はそれを覚えて再現する負担が加わります。そこに被験者が認知リソースや時間を割かなければいけない状況を極力排除しなければなりません。

例えば、「今日は自分の名前のかわりに山田太郎を使ってください。」「あなたの電話番号は090-1589-3xxxです。住所は…」などと口頭で伝えたとして、実際の入力フォームを目の前にした時にスラスラと書き出せる人がどれだけいるでしょう。名前、住所、電話番号、メールアドレスなどあったら短期記憶に保持できる情報量ではありません。

なので紙に印刷するなどして手元に置いてあげることが有効です。「ここに書いてある内容をご自分の情報だと思ってお使いください。必要だと思った時にいつでも見ていただいて構いません。」などとして差し出すのです。Zoomなどでリモート実施する場合は、仕方ないのでテキストでチャット欄に貼ってあげるなどします(コピペしてほしくない場合はその旨を伝えます)。

ちなみにこの情報シートをデザインする時、必要な情報だけを利用する順番に記載するとヒント/バイアスになってしまいます。実際のフォームにはない情報もある程度は交え、順番も実際のフォームで求められる順とは変えておきましょう。もちろん目的の情報を探すのに苦労するほど複雑にする必要はありませんが、、、

また厳密には見出しが対象フォーム上の項目ラベルと合致してヒントになってしまうのも避けたいです。フォーム側が「名前」になってたら、提示シートは「氏名」とか「姓名」などにします。

あと充分なフォントサイズで印刷してあげることも重要です。シニアの方が都度都度メガネをズラしたり紙を手に取ったりすることも本来の利用場面では起こりえないことです。特にメールアドレスはしっかり識別できる字体とサイズにします。

■提示シートサンプル

例えばこんな感じでペラ1枚作って差し出すといいと思います。

流用できるようWordのファイル置いておきます。メールアドレスは実在するといけないので少し長めにしています。現時点では存在してなさそうですが、流用される時はメールアドレスだけは実在して持ち主に迷惑がかからないよう注意してください。こちらなどで実在確認ができます。

■まとめ

思いついたポイントを書き連ねてみたらだいぶ長くなってしまいました。たかがダミー情報にここまで配慮する!?と思われたかも知れませんが、できるだけ普段の利用状況に近い形でタスクに望んでもらう、というUTの大原則に従うならばこういう配慮は有効かなと思います。また別段リサーチ毎に変える必要もないことも多いと思うので、一度作り込んでおけばシートも含めて使いまわしもできるんじゃないでしょうか。

他にもこんな点を留意したらいいんじゃないかというアイデアがありましたら是非コメントでお寄せください。

動画眼マーカー→動画眼3→動画眼Liteの最新ワークフロー解説(時刻同期方式)

Pocket

動画眼マーカーと動画眼3が時刻で同期可能になったので、改めて動画眼ファミリーの使用方法を解説してみたいと思います。ユーザーテストやインタビューの動画記録にインデックス(チャプター点)をつけて、特定の箇所を素早く見返したり、プレゼンしたりといったことを目的としたソフトウェア群です。

■登場人物紹介

動画眼3(動画にインデックス付け)

中核となるソフト。Windows & Mac対応。要インストール。

動画ファイルを再生しながら特定の位置(話題やタスクの切れ目や注目箇所など)にインデックスを打て、それをダブルクリックすることでその箇所を瞬時に頭出しできます。できるだけ省力化できるよう再生操作(指定秒数スキップなど)などはキーボードショートカット化してあり、また定型文をFnキー1~5で一発挿入することも可能。

動画眼マーカー(リアルタイム記録)

Webアプリ。PCやスマホのブラウザからURLにアクセスするだけで使えます(データーはサーバーには一切保存しませんし、必要なら一式GitHubからダウンロードしてローカル環境で動かすこともできます。ただし非SSL環境ではモバイルブラウザのセキュリティ制約でコピー、共有がでません)。

動画眼3が録画したファイルに対してインデックスをつけるソフトなのに対し、こちらはUTやインタビューのセッション中にリアルタイムで「今ここを区切りたい!」って時にマーキングすることができます。作成したデータをファイルで保存し、別で録画した動画ファイルと一緒に動画眼3に食わせると、すぐに動画にインデックスがついた状態で見返し分析作業ができます!

動画眼Lite(配布用ビューワー)

WebアプリというかHTMLファイルセット。原則PC向け(スマホは想定していません)。

動画眼3でインデックスをつけた状態でチームで閲覧したりクライアントに納品したいことがあると思いますが、「動画眼3をインストールしてください」とは言いづらいことも多いでしょう(企業さんでは申請が必要だったり)。そこで編集機能はもたないものの簡単に、動画ファイル、HTMLファイル、インデックスデータファイルの3点セットで渡すだけで、ブラウザ上で即閲覧可能にするビューワーを作りました。動画眼3から簡単に生成することができます。

■ワークフロー解説

0. 動画を撮る

セッション中、なにがしかの動画は撮っているものとします。今ですとOBS Studioで様々な映像ソース(画面キャプチャ、手元、表情など)を合成して1つの録画に撮るなんてことも簡単ですし、リモート実施ならZoomなどの録画機能で記録しているかも知れません。

ポイントはその動画の録画開始時刻が正確にわかることです。OBS Studioならデフォルト設定でファイル名が録画開始時刻なので「2023-12-10 16-46-36.mp4」みたいなファイル名になると思うので、それで大丈夫です(.mkvで保存している場合は、「録画の再多重化」でmp4に変換しておいてください)。

ビデオカメラで録画したMP4ファイルを使う場合、そのファイル名や作成日時が録画開始時刻を指しているかどうか確認してみてください。もしそれも難しい場合は、秒まで正確な電波時計やスマホの時計アプリなどを映した状態で録画ボタンを押しておくでも良いです。とにかく録画開始した瞬間の正確な日時が重要になります。

また動画でなくICレコーダーなどで録った音声ファイル(mp3、wavなど)でも使用可能です。

1. 動画眼マーカーでセッション中に記録する

こちらが動画眼マーカーの画面です。PCでもスマホでも基本は同じです。余裕があればモデレーターが操作してもいいですし、見学者、記録係が担当しても良いでしょう。

下の方に青字で表示されているのが現在時刻です。

ピンクの部分になにかテキストを打ち込んでEnterキーを押すか、右のペンボタンをクリックすると薄緑のエリアにチャプターが書き込まれます。特にメモは不要でチャプターだけ打てれば良いという時は単にペンボタン押していくだけでもOKです。

タイムスタンプは修正不可能ですが、メモはクリックすると編集できます。

一番下段のF1~F5ボタンは定型文ボタンです。現在のバージョンでは内容をカスタマイズはできません(GitHubからソース一式をダウンロードしていただいてHTMLファイルを直接編集すれば可能です)。

セッションが終わったら右上のローカル保存ボタン(下向き矢印アイコン)を押して、テキストファイルとして保存します。スマホの場合は共有ボタンになっているので、ご利用のアプリやサービスなどにアップロードするなどして保存してください。その左のボタンでクリップボードにコピーもできます。ようはただのテキストデータなので、最終的に動画と同じフォルダに同じファイル名で保存し、拡張子を「.dggn.txt」にします。例えば上のOBS Studioで撮った動画が「2023-12-10 16-46-36.mp4」なら「2023-12-10 16-46-36.dggn.txt」にして同じフォルダに置きます。

こんな形になっていればOKです。

なお.dggn.txtという拡張子ですが、末尾は.txtです。つまるところメモ帳やテキストエディタで開けるしタイムコードと形式さえ変えなければメモ部分は編集しても大丈夫です。

2. 動画眼3に読み込んで確認する

では動画ファイル(MP4)とチャプター記録ファイル(DGGN.TXT)を合わせて動画眼3で読み込んでいきます。

まず動画ファイルを動画眼3の黒い部分にドラッグ&ドロップします。これで同じフォルダ、名前の.dggn.txtファイルも自動的に読み込んでくれます。ただしタイムスタンプが動画眼マーカーで記録した時刻形式だった場合、写真のような「時刻変換」ダイアログが出てきます。これがVer 2.10.1のキモです。

ファイル名から録画開始時刻を取得した状態

ここに動画の録画を開始した時分秒を入れてあげればOKなわけですが、それを支援するボタンが2つあります。

・動画ファイルの生成日時から取得

動画が記録後に変換や編集を一切してない生ファイルの場合、おそらくファイルのタイムスタンプは録画開始時点になっていると思います。その場合はこのボタンを押して取得できます。

ただし録画ソフト/機器によっては録画終了時点になるものもあるかも知れません、mkv->mp4などの変換を行ったり編集をした場合はその作業をした時点のタイムスタンプに書き換わってしまうので、この方法は使えません。

・動画ファイル名から推測

OBS Studioのように録画開始時点の日時をファイル名に入れてくれるものの場合、こちらのボタンを押せば推測して入れてくれます。「推測」と書いたのはそのファイル名の記載ルールが多岐に渡るため、すべてのパターンには対応しきれないからです。特に「:」はファイル名に使えないので、かわりにハイフンだったりアンダーバーだったり、区切らずに6桁数字だったりします。日付との区別も問題です。現状OBS Studio形式をはじめ何パターンかに対応させていますが、上手くいかなかったらごめんなさい。「こういうファイル名ルールに対応してほしい」などリクエストを上げていたらければできる限り対応していきたいと思います。

以上、どちらの方法も上手くいかなかった場合は、手入力で録画開始の時分秒を入れてください。

下の写真が時刻同期が成功した状態です。

動画の録画開始が16時46分36秒でした。そして動画眼マーカーで記録した最初のチャプターは16時49分47秒でした。チャプターの時刻から録画開始時刻を引き算してあげることで、動画開始から3分11秒目が1つ目のチャプター位置、ということになっています。これで「3:11」となっている水色の部分をクリックすれば、当該箇所にジャンプできるはずです。

もちろん動画眼3上で新しいチャプターを追加したり、既存のチャプターをクリックして編集したりもできます。

ちなみにチャプターは最終的にタイムスタンプとメモテキストのペアがあれば良いので、必ずしも動画眼マーカーや動画眼3上で作成する必要はなく、例えば動画音声を文字起こししたデータを使って作ることもできます。現状はPremiere Proの書き起こし出力ファイルからの変換や字幕データの標準フォーマットであるSRT形式からインポートすることもできます。

3. 動画眼Lite形式で配布する

さて、動画眼3上で良い塩梅にチャプターが打てたとします。これをそのまま閲覧可能な状態で誰かに渡したいとします。もちろん相手に動画眼3を入れてもらって、mp4とdggn.txtファイルをセットで渡せば良いのですが、相手によってはソフトのインストールは難しいケースもあると思います。その時は、動画眼3の「ファイル」メニューから「動画眼Lite形式で書き出し…」を選び、次いでダイアログで「ダウンロード」を選択してください。

そうすると、同じフォルダに.htmlファイルと.json.jsという2つのファイルが生成されます。

この状態でhtmlファイルを開くと、お使いのブラウザが開いてこのような画面になるはずです。これが動画眼Liteです。

標準ブラウザが使われるので、お手元のPCの設定次第でEdgeだったらいChromeだったりFireFoxだったりで開かれますが、基本的にはどれでも使えるはずです。編集機能はありませんが、

  • チャプター該当箇所の頭出し
  • ショートカットによる指定秒数スキップ
  • 特定文字列を含むチャプターの検索、絞り込み

などは動画眼3と同じように使えます。

必要があるのは赤枠で囲んだ.html、.json.js、そして.mp4の3点です。(.dggm.txtは動画眼3で編集を行わないなら不要)。動画以外のファイルのサイズなど誤差レベルですし、ソフトウェア自体は含んでいないので、気軽に渡せるんじゃないかと思います。使用時は必ず同じフォルダに同じファイル名(拡張子違い)で置いてもらってください。

■まとめ

以上、2023年12月時点の最新版を使った時刻同期によるワークフローを解説してみました。パッと見ややこしく見えるかも知れませんが、流して感覚を掴んでもらえればそこそこシンプルで汎用性も高い方法なんじゃないかと自負しています。それでもわかりづらい、使いづらいなどありましたらご意見いただければと思います。

本ツール群が製品開発のためのUT/インタビュー業務にお役立ていただければ幸いです。またこんな用途で使っています、などありましたら是非お聞かせください。

動画眼3 2.10.1と動画眼マーカー2.0をリリースしました

Pocket

春のはほぼ完成していたのに、なかなか配布ビルド環境の更新とかマニュアル書いたりとかする時間がとれずにいましたが、ようやく更新できました。

ダウンロードか配布ページGitHubリポジトリからどうぞ。

今回の目玉は動画眼3と動画眼マーカーの連携をより簡単にする時刻同期機能です。詳細は以前の記事にまとめてあります。

簡単に書くと、いままでは録画環境(OBS Studioやレコーダー)と動画眼マーカーのタイムコードを手動で「せぇの!」で合わせる必要がありましたが、動画眼マーカー側は時刻で記録するようにしました。そして動画眼に動画とメモをインポートする時点でその動画が何時何分に録画開始されたかを指定することで帳尻をあわせます。バタバタしがちなセッション開始時点の作業が減るので使いやすいんじゃないかなと。動画の録画開始時刻も動画ファイルのファイル名やタイムスタンプから半自動で取得する工夫もしてみました。よろしければお試しください。

■その他の更新内容

新機能

  • Premiere Proで書き出したcsv形式のマーカーのインポートに対応
  • Premiere Proの書き起こしデータの新フォーマットに対応(v21辺りからの:区切り->;区切りへの変更等)
  • 「ヘルプ」メニューに動画眼マーカーへのリンクを追加

修正

  • 100分を越えるタイムコードが正しく表示できなかったのを修正
  • Shiftキーを押しながらジャンプでn倍動作がキーボードショートカット(Ctrl+W/Q)では効いていなかったのを修正

仕様変更

  • macOSでも全てのウインドウを閉じたらアプリケーションを終了するようにした(Windowsは元から)
  • Windowsのインストーラー形式が変更。Setup.exeをダブルクリックするだけでインストールが完了し、スタートメニューの登録されるようです。一度起動したらSetup.exeは削除してOKです。

今回から配布パッケージの作成と署名にElectron-Forgeという仕組みを使用しています。その関係で

  • 英語環境でもアプリ名が漢字で「動画眼3」と表示されるようになったかも(以前はdo-gagan3)
  • 内部名称がかわって設定が引き継ぎされないかも
  • Windowsでインストール手順が変わった

1つ目は色々いじってみたんですが解決できず。たぶん海外で使ってる人はほぼいないと思うので、漢字表記で統一することにしました。実際に英語環境でテストできてないですが、たぶん「動画眼3」って見えてると思います。日本語以外の環境の方、ご不便をおかけします。

またWindowsはインストーラーが完全に別モノになりました。Squirrel.Windowsという仕組みを使っています。特長として、

  • Setup.exeをダブルクリックするだけで、「次へ」など押さずにインストール完了する
  • インストールはユーザごと(単一PCでも複数ユーザが使いたい場合、各々でSetup.exeを実行する必要があります)
  • (試した範囲では)電子署名していなくても警告が出ない?
  • ブラウザのように操作なしで自動更新できる(仕組みを用意できる)

という雰囲気です。Setup.exeを実行するだけで動画眼3が開くと思います。この時点でスタートメニューにもショートカットが登録されていると思うので、次からはそちらで起動します。Setup.exeは捨てても大丈夫だと思います。

自動アップデートについてはmacOS環境もあわせて追々検討します。業務アプリなのである日勝手に更新されたのがバグってたりするとご迷惑おかけするので慎重姿勢です。ただこのブログで更新をウォッチしている人ばかりでもないと思うので、なんらかアップデートが通知される仕組みは作りたいです。