THETAと全方位マイクを組み合わせたアプリを作りました


こんにちは。インフォコム技術企画室のo2です。

今回、RICOH THETA x IoT デベロッパーズコンテストに応募しました。
ここでは応募したアプリケーション(以下、聖徳玉子)の説明やダウンロードについて掲載します。

このブログの対象

  • 聖徳玉子に興味のある方
  • 聖徳玉子のソフトをダウンロードする方

logo.png


ページ下部に記載の免責事項をご承諾の方のみご利用することができます。
ダウンロードした時点で承諾したものとみなします。
聖徳玉子ユーザーマニュアル(PDF)

技術企画室の取り組みについて

技術企画室では、VR/ARをはじめとした新しいユーザー体験を調査、研究をしており、
最近では、interop併設のアプリジャパンに「360°リモート空間体験」を出展しました。これは、THETA SとHMDを使い3Dサウンドを実現したシステムです。(参考資料)

その次の取り組みとして、今回「RICOH THETA x IoT デベロッパーズコンテスト」に応募致しました。

アプリケーションの説明

聖徳玉子では、音声センサーを使った方向の検出と、360度カメラを組み合わせることで、新たな価値を創出しました。

どのようなことが可能になるかと言いますと、360度の映像と発話者の方位をWebRTCを介して中継することで、中継先では発話者に照準を合わせることが出来ます。

360度の映像には「THETA S」、方位は「たまご型マイクアレイ」の集音を「HARK」(ロボット聴覚システム)で音源定位しています。

「聖徳玉子」という名前ですが、アプリケーションでは複数の音を同時に処理が可能な点と、たまご型マイクアレイの独特なフォルムからそのように名付けました。

kousei.png

上の画像では1対多での会議イメージになります。
THETA Sとマイクアレイをもう1セット用意することで多対多での利用も可能です。

HARKとは?

日本にはロボット聴覚に関して先進的な研究があります。
音源定位・音源分離・音声認識の3つを主軸とした研究です。
2008年にはオープンソースHARK(HRI-JP Audition for Robots with Kyoto Univ)として公開され、現在も研究成果が反映され発展を続けています。
※ HRI-JP(ホンダ・リサーチ・インスティチュート・ジャパン )

HARKのライセンスについて

HARKのライセンスはHARK Licenceとなっており、研究用途でのみ無償公開となります。
HARKはホンダと京都大学との共同研究、共有資産と記載されておりますが、昨年ホンダが権利を買い取り、現在はホンダが全権利を有しているそうです。
弊社では今回のコンテストにあたり、HRI-JPに研究用途であり、商用でない旨の了承を得ての応募としております。
HRI-JPに問い合わせの際ですが、現在公開しているライセンスは最新ではないと伺っており、今後ライセンスに何かしらの調整を行うそうです。(現在: 2016/08/22)

HARKの音源定位

今回の聖徳玉子ではHARKの音源定位技術を利用しています。
HARKの設定はブラウザから「HARK Designer」を利用して行います。
「HARK Designer」はHARKのデータフローを表すネットワークを作成するためのGUIです。

harkDesiger.png

harkDesigerMain.png


「HARK Designer」で作成した内容は、ネットワークファイル(拡張子.n)として保存されます。
ネットワークファイルはXMLで記述されており、内容の変更も容易です。
また、ネットワークファイルをbatchflowコマンドに渡すことで、直接処理の実行ができます。
今回アプリケーションに同梱している「LocalizationTamago.n」がネットワークファイルにあたります。

HARKの利用にはマイクアレイが必要

音源定位を行うために、複数のマイクが必要となります。
HARKでは多用なマルチチャネルA/D装置のサポートを行っており、
今回は、システムインフロンティアのたまご型マイクアレイ(TAMAGO-01)を利用しました。

tamago.png

たまご型マイクアレイは8chのマイクで全方位を捉えることができます。
また、HARKではKinect(4ch 方位180度)の利用も可能で、初期の評価では技術企画室でもKinectを利用していました。
ただ、設定の問題か解りませんが、たまご型マイクアレイの方が精度はよかったです。

WebRTCとは?

ブラウザ同士で双方向のメディア/データ通信を行うAPIです。
詳しくは、本ブログの

を参照ください。

やり残したこと

課題として、音源から発話しているかを評価した場合、人以外の音まで拾います。
映像認識の利用や、音声の判断に人工知能を利用する手法等に今後は取り組んでいきたいと考えております。

聖徳玉子免責事項

MITライセンスです。
下記の免責事項をご承諾の方のみご利用することができます。
ダウンロードした時点で承諾したものとみなします。

以下に定める条件に従い、本ソフトウェアおよび関連文書のファイル(以下「ソフトウェア」)の複製を取得するすべての人に対し、ソフトウェアを無制限に扱うことを無償で許可します。これには、ソフトウェアの複製を使用、複写、変更、結合、掲載、頒布、サブライセンス、および/または販売する権利、およびソフトウェアを提供する相手に同じことを許可する権利も無制限に含まれます。

上記の著作権表示および本許諾表示を、ソフトウェアのすべての複製または重要な部分に記載するものとします。

ソフトウェアは「現状のまま」で、明示であるか暗黙であるかを問わず、何らの保証もなく提供されます。ここでいう保証とは、商品性、特定の目的への適合性、および権利非侵害についての保証も含みますが、それに限定されるものではありません。 作者または著作権者は、契約行為、不法行為、またはそれ以外であろうと、ソフトウェアに起因または関連し、あるいはソフトウェアの使用またはその他の扱いによって生じる一切の請求、損害、その他の義務について何らの責任も負わないものとします。

Copyright 2016 © INFOCOM CORPORATION All rights reserved.
Released under the MIT license

アプリケーションの導入について詳しくは聖徳玉子ユーザーマニュアル(PDF)をお読みください。

THETAと全方位マイクを組み合わせたアプリを作りました


こんにちは。インフォコム技術企画室のo2です。

今回、RICOH THETA x IoT デベロッパーズコンテストに応募しました。
ここでは応募したアプリケーション(以下、聖徳玉子)の説明やダウンロードについて掲載します。

このブログの対象

  • 聖徳玉子に興味のある方
  • 聖徳玉子のソフトをダウンロードする方

logo.png


ページ下部に記載の免責事項をご承諾の方のみご利用することができます。
ダウンロードした時点で承諾したものとみなします。
聖徳玉子ユーザーマニュアル(PDF)

技術企画室の取り組みについて

技術企画室では、VR/ARをはじめとした新しいユーザー体験を調査、研究をしており、
最近では、interop併設のアプリジャパンに「360°リモート空間体験」を出展しました。これは、THETA SとHMDを使い3Dサウンドを実現したシステムです。(参考資料)

その次の取り組みとして、今回「RICOH THETA x IoT デベロッパーズコンテスト」に応募致しました。

アプリケーションの説明

聖徳玉子では、音声センサーを使った方向の検出と、360度カメラを組み合わせることで、新たな価値を創出しました。

どのようなことが可能になるかと言いますと、360度の映像と発話者の方位をWebRTCを介して中継することで、中継先では発話者に照準を合わせることが出来ます。

360度の映像には「THETA S」、方位は「たまご型マイクアレイ」の集音を「HARK」(ロボット聴覚システム)で音源定位しています。

「聖徳玉子」という名前ですが、アプリケーションでは複数の音を同時に処理が可能な点と、たまご型マイクアレイの独特なフォルムからそのように名付けました。

kousei.png

上の画像では1対多での会議イメージになります。
THETA Sとマイクアレイをもう1セット用意することで多対多での利用も可能です。

HARKとは?

日本にはロボット聴覚に関して先進的な研究があります。
音源定位・音源分離・音声認識の3つを主軸とした研究です。
2008年にはオープンソースHARK(HRI-JP Audition for Robots with Kyoto Univ)として公開され、現在も研究成果が反映され発展を続けています。
※ HRI-JP(ホンダ・リサーチ・インスティチュート・ジャパン )

HARKのライセンスについて

HARKのライセンスはHARK Licenceとなっており、研究用途でのみ無償公開となります。
HARKはホンダと京都大学との共同研究、共有資産と記載されておりますが、昨年ホンダが権利を買い取り、現在はホンダが全権利を有しているそうです。
弊社では今回のコンテストにあたり、HRI-JPに研究用途であり、商用でない旨の了承を得ての応募としております。
HRI-JPに問い合わせの際ですが、現在公開しているライセンスは最新ではないと伺っており、今後ライセンスに何かしらの調整を行うそうです。(現在: 2016/08/22)

HARKの音源定位

今回の聖徳玉子ではHARKの音源定位技術を利用しています。
HARKの設定はブラウザから「HARK Designer」を利用して行います。
「HARK Designer」はHARKのデータフローを表すネットワークを作成するためのGUIです。

harkDesiger.png

harkDesigerMain.png


「HARK Designer」で作成した内容は、ネットワークファイル(拡張子.n)として保存されます。
ネットワークファイルはXMLで記述されており、内容の変更も容易です。
また、ネットワークファイルをbatchflowコマンドに渡すことで、直接処理の実行ができます。
今回アプリケーションに同梱している「LocalizationTamago.n」がネットワークファイルにあたります。

HARKの利用にはマイクアレイが必要

音源定位を行うために、複数のマイクが必要となります。
HARKでは多用なマルチチャネルA/D装置のサポートを行っており、
今回は、システムインフロンティアのたまご型マイクアレイ(TAMAGO-01)を利用しました。

tamago.png

たまご型マイクアレイは8chのマイクで全方位を捉えることができます。
また、HARKではKinect(4ch 方位180度)の利用も可能で、初期の評価では技術企画室でもKinectを利用していました。
ただ、設定の問題か解りませんが、たまご型マイクアレイの方が精度はよかったです。

WebRTCとは?

ブラウザ同士で双方向のメディア/データ通信を行うAPIです。
詳しくは、本ブログの

を参照ください。

やり残したこと

課題として、音源から発話しているかを評価した場合、人以外の音まで拾います。
映像認識の利用や、音声の判断に人工知能を利用する手法等に今後は取り組んでいきたいと考えております。

聖徳玉子免責事項

MITライセンスです。
下記の免責事項をご承諾の方のみご利用することができます。
ダウンロードした時点で承諾したものとみなします。

以下に定める条件に従い、本ソフトウェアおよび関連文書のファイル(以下「ソフトウェア」)の複製を取得するすべての人に対し、ソフトウェアを無制限に扱うことを無償で許可します。これには、ソフトウェアの複製を使用、複写、変更、結合、掲載、頒布、サブライセンス、および/または販売する権利、およびソフトウェアを提供する相手に同じことを許可する権利も無制限に含まれます。

上記の著作権表示および本許諾表示を、ソフトウェアのすべての複製または重要な部分に記載するものとします。

ソフトウェアは「現状のまま」で、明示であるか暗黙であるかを問わず、何らの保証もなく提供されます。ここでいう保証とは、商品性、特定の目的への適合性、および権利非侵害についての保証も含みますが、それに限定されるものではありません。 作者または著作権者は、契約行為、不法行為、またはそれ以外であろうと、ソフトウェアに起因または関連し、あるいはソフトウェアの使用またはその他の扱いによって生じる一切の請求、損害、その他の義務について何らの責任も負わないものとします。

Copyright 2016 © INFOCOM CORPORATION All rights reserved.
Released under the MIT license

アプリケーションの導入について詳しくは聖徳玉子ユーザーマニュアル(PDF)をお読みください。

聖徳玉子のtransferFunctionフォルダについて質問です。

・microphone.xml がたまご型マイクアレイのマイク位置情報ファイルだと思うのですが、なぜ8chある内3~7chは同じ座標なのでしょうか。

・0~2chは直交座標だとするとかなり偏っているように感じます。microphone.xml はたまご型マイクアレイのマイク位置情報のファイルではないのでしょうか。または玉子型マイクアレイの内部ではマイクがの位置が均等でないのでしょうか。

・microphone.xml内のx,y座標の値を変えて、マイク位置を変更し用いることが可能でしょうか。

ご回答よろしくお願いします。

小林様
コメントありがとうございます。

microphone.xmlにつきましてはtamago_rectf.zipに含まれるファイルで間違いないでしょうか?
tamago_rectf.zipはHARKのサイト( https://www.hark.jp/wiki.cgi?page=SupportedHardware )で配布する書庫ファイルになります。※現在はダウンロードが出来ない状態のようです
弊社では精度調整時に大きな問題を感じなかったことから、特に変更や中身の確認は行っておりません。
この書庫ファイルの詳細につきましてHARKのサイトか、株式会社システムフロンティア様に確認するほかありません。

また、試してはおりませんが、tamago_rectf.zipの編集はHARKのツールで可能だったように思います。

それとは別で方位が正しく反映されない不具合がありましたので、下記のページに修正コードをアップしております。

https://gist.github.com/mbotsu/932972364ba2f354c4e6c7463033db67

以上。よろしくお願いします。

こんにちは。聖徳玉子導入しようとしておりますが、マイクアレイとTHETA SをLiveモードで起動した状態で接続した後、appを起動して会議室名を入力してボタンを押すと、『サイトに接続できません』となってしまいます。
どんな原因が考えられますでしょうか?

YM様
コメントありがとうございます。

> 『サイトに接続できません』

ネットワークの問題が考えれます。
デフォルトの設定では下記サイトのファイルを読み込む設定となっております。
接続するブラウザで見ることは可能でしょうか?
https://signaling.talkin.info/socket.io/socket.io.js

ご回答ありがとうございます。
Google Chromeの最新版を使用しております。
ご指定のURLをクリックしますと、ファイルの中身が表示されております。
ここまでは正常でしょうか?

連投すみません。
正確には以下のようなメッセージの書かれた画面になります。

このサイトにアクセスできません
localhost で接続が拒否されました。
localhost 8080 two way mic array を Google で検索してください
ERR_CONNECTION_REFUSED

あと、私が色々条件を変えて確認した事項を記載しておきます。
・メディアプレイヤーでカメラとマイクの動作確認はOK
・モノラルマイク用のURLではカメラの映像が表示されている。
・会社のLAN(プロキシ使用、ローカル除外)では×
 しかし、相手側(本社側)は会社のLANからでも○
・Wifiルーターを使い、ダイレクトにインターネット接続しても×
・Hostsファイルのlocalhostを有効にしても×
・違うPCでも同様

となっており、手詰まり状態です。

もしかするとHARKが動いていないのかも知れません。
既に試したかもしれませんがHARKインストール後は再起動が必要となります。
再起動後に正しく動作するかをご確認ください。

あとはですが、ユーザーマニュアルの12ページにあるトラブルシューティングで気になる点等ありましたらお知らせください。
https://tamago.talkin.info/doc/tamagoUserManual.pdf

ご指摘のとおりHARKが動いていないような気がします。
実はそこまで細かくは書いておりませんでしたが、社内回線で接続出来ないリスクを考え、マイクアレイを1台だけ購入し、本社側と支社側両方から片側ずつテストをして、繋がる事を確認してから2台目のマイクアレイを購入しました。
今回は2台目のマイクが届いたので、本社-支社間で最終テストをする予定で接続しようとしたところ、このような症状が出た次第です。
従いまして、1台目のマイクで動いていた時は会議室に入るとマイクが拾った音が棒グラフのような画面に出ていましたが、それが表示される前にエラー画面が出ますので、HARKが怪しいかなとは思います。
マニュアル12ページに記載されているコマンドにてHARK単体での動作確認を行いたいですが、具体的な方法をご教示ください。

YM様
Windows再起動後もappから実行して動かない場合、HARKのインストールに失敗している可能性が考えれます。
HARKを一度削除してから再度インストールしなおすのが良いかも知れません。
解りやすいか自信はありませんが、下記が動作確認の具体的な方法になります。

〇HARKの動作確認

1.コマンドプロンプトの起動
shotoku-tamagoをエクスプローラから開き、パスのバーに"cmd"と入力

参考: https://win.just4fun.biz/?%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%83%97%E3%83%AD%E3%83%B3%E3%83%97%E3%83%88/%E8%A6%8B%E3%81%A6%E3%81%84%E3%82%8B%E3%83%95%E3%82%A9%E3%83%AB%E3%83%80%E3%81%AB%E7%B4%A0%E6%97%A9%E3%81%8F%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%83%97%E3%83%AD%E3%83%B3%E3%83%97%E3%83%88%E3%82%92%E8%B5%B7%E5%8B%95%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95

2. コマンドを実行する
bathflow LocalizationTamago.n

これで起動しない場合、HARKのインストールに失敗してる可能性があります。

〇ハードウェアの認識
マイクアレイが認識できていない場合も動作がうまくいきません。
HARKと一緒にインストール済みの「Input Sound Device List」を実行し、マイクアレイが表示できるか確認ください。
おそらくスタートメニューから起動できるはずです。

早速のご回答ありがとうございます。
コマンド実行してみたところ、以下のような結果となりました。
TAMAGOを認識出来ていないようですね。

UINodeRepository::Scan()
Scanning def C:/Progra~1/FlowDesigner/lib/flowdesigner/toolbox
Scanning def C:\Program Files (x86)\HARK\FlowDesigner
done loading def files
loading XML document from memory
done!
Building network :MAIN
PARecorder: Found!!
Error: TAMAGO is not found!!
Error: Can not find device name.
C:\work\HARK-Windows\hark-fd\src\AudioStreamFromMic.cc, line 216: Error: Can not find device name.
C:\work\flowdesigner-0.9.1-hark\data-flow\src\UINode.cc line 232: Exception caught while creating node_AudioStreamFromMic_1 (type AudioStreamFromMic)
C:\work\flowdesigner-0.9.1-hark\data-flow\src\UINetwork.cc line 559: Exception caught while building network MAIN_LOOP
C:\work\flowdesigner-0.9.1-hark\data-flow\src\UINode.cc line 232: Exception caught while creating node_MAIN_LOOP_1 (type MAIN_LOOP)
C:\work\flowdesigner-0.9.1-hark\data-flow\src\UINetwork.cc line 559: Exception caught while building network MAIN

メディアプレイヤーで動作確認出来ておりますので、TAMAGOが壊れている、認識していないとは思えません。
2台目のマイクアレイなので、TAMAGOという名前とデバイスとの紐付けがうまく行ってないのでしょうか?

確認忘れてましたので、追記いたします。
Input Sound Device Listを実行した結果は以下の通りです。

プライマリ サウンド キャプチャ ドライバー
マイク (RICOH THETA S)
マイク配列 (Realtek High Definition Audio(SST))

認識されているようでした。

YM様

ハードウェアの認識がうまくいかない場合、USBポートの差し込み口を変えるのをお勧めします。
そういえば以前TAMAGOが認識しないパソコンで、別のTAMAGOでは認識するといったことがありました。
そのパソコンでは1台目のTAMAGOが認識できるといったことはありませんか?
その場合、システムフロンティア様に問い合わせるのがよいと思います。

ご提案ありがとうございます。
まず、USBポートは色々差し替えて確認しておりますが同様の結果です。
それと、PCも3台に差し替えて確認しましたが、同様の結果となっております。
システムインフロンティア様に問い合わせてみました。
あと、本社に戻る際に1台目のマイクアレイを接続して確認してみようと思います。
これ以上は対策がなさそうですので、また進展がありましたら書き込みさせていただきます。ご対応ありがとうございました。

解決しました。
一度全てのデバイス、ドライバ、ソフトウェアを削除し、ついでにマイクのUSBケーブルも交換し、再度インストールし直して起動したらうまくいきました。原因はイマイチ分かりませんでしたが、とにかく本社とTV会議出来そうです。色々とサポートありがとうございました。
それから、質問ですがTHETA Vを使って4Kストリーミングには対応していますか?

解決して何よりです。
THETA Vは試しておりません。ですので4Kで動くかは解りません。
また、4Kで動かす場合、映像周りの処理にWebRTCを利用しておりますので、PCのハードウェアアクセラレーターが対応しているかも重要となります。
試した方の声も頂いておりませんので、結果の成否に関わらず紹介いただければ幸いです。

コメントする