新入生の皆さん、ご入学おめでとうございます。この記事はロ技研新歓ブログリレー2022の1つ目の記事です。
こんにちは。Assist研18のゆいです。
この記事では試しに作ってみた、参加者に位置の概念がある通話アプリについて紹介します。
新型コロナウィルスの影響で、最近は何かとオンラインで行うことが多いですね。そんなとき、皆さんはどのような通話アプリをお使いでしょうか?
東工大の授業ではZoomを使うことがほとんどですが、今回は自分でSpatialChatやoViceと似た通話アプリを作ってみました。
Zoomなどのよくある通話アプリとの大きな違いは、参加者に位置の概念があることです。これによって近くにいる人の声は大きく、遠くの人の声は小さく聞こえます。また右にいる人の声はしっかりと右から聞こえます。この特徴により自分のいるグループで会話しつつ、遠くのグループの音声もかすかに聞こえるというような状況を実現できます。(cf. https://ja.wikipedia.org/wiki/カクテルパーティー効果)
今回の実装はJavaで行っていて、LWJGLというライブラリ内のOpenALバインディングを利用して、音声の再生を行っています。3Dゲームなどでも使われるOpenALを利用することで、音を空間内の好きな位置から再生できます。
通信はSSLSocketを使っていて、クライアントがサーバーに音声を送信、またサーバーから全員の音声を受信し仮想空間上で音声を再生しています。
最後に
ロ技研では、その名前の通りのロボットの制作や研究はもとより、電子工作や機械工作、プログラミングなどの幅広い分野にわたるものつくり活動を行っています。ロ技研内には研究室と呼ばれる共通のテーマを持ったグループがいくつも存在していて、その内の1つ、「Assist研」のテーマは「便利なものを作る」です。皆さんも一緒に自由にものを作りませんか?
少しでもロ技研に興味がある方は以下のリンクから気軽にDiscordに参加してみましょう。
ここまで読んでいただいてありがとうございました。ロ技研新歓ブログリレー2022の次の記事は明日の予定です。お楽しみに。