サークル用のボイスチャットアプリ開発のために、ふれっしゅITあわ~どへ参加した話
Section: Technology
Tags: VoiceChat

この記事は、広島大学 HiCoder & ゲーム制作同好会 GSD Advent Calendar 2022 の 13 日目の記事です。

サークルでボイスチャットアプリを作成した時の記録を残しておきます。サークルや友人と一緒にプロジェクトを進めていく際に参考にしていただければと思います。

サークルとボイスチャットアプリ

コンピュータサークルである HiCoder ではサークル活動として、毎週オンラインでその週に行ったことを報告する進捗報告会を行っています。

Discord

進捗を報告した後は、輪読会や雑談を行っています。その際にグループに分かれるのですが、はじめは Discordを使用しておりグループになると別のボイスチャンネルに移動することになり、グループごとに完全に独立してしまいます。それだとサークル活動感がなくなってしまいます。また Discord だと、話す人が限られてしまったりするなどの他の理由もあったため別のボイスチャットアプリを使用することになりました。

SpatialChat

Discord の上述の理由を改善できそうな機能を持つ SpatialChat を使用し始めました。SpatialChat では距離の概念を持ち、自由に二次元空間を各ユーザが動くことができて、ユーザ同士の距離ごとに、音量が変化するという特徴があります。これによりグループ同士の会話ができたり、様々な処理が以前のボイスチャットアプリよりもできます。

少し不便な部分はあったものの、毎週使用するようになっていました。 しかし今年の5月下旬以降に、6 人以上は有料になるとの発表があり、6 人以上の部員がいる資金力のない私たちのサークルは別のアプリを使用しなければならないことに余儀なくされました。

Hicord

現在のアプリでよいものが見つからなかったので、自分たちでオリジナルアプリを作成してみないかという話が出てきました。 ただ本気で作成したいという方がいなかったので、フェードアウト気味になっていました。

一方で、私は音声に特化したボイスチャットアプリを純粋に作ってみたかったこと、汎用的な音声フォーマットの実用例としてボイスチャットアプリに使用できるか知りたかったので、主導して作成することにしました。

そのため進捗報告会でサークルメンバーに作りたいことを伝えて、作成が始まりました。

この時点で、参加したい・興味ある人は 6 人いました。興味が別のことに移る前に、少しでもより興味を持ってもらいたかったので、そのまま初期計画を行いました。

初期計画

まずメンバーのそれぞれが欲しい機能やアイデアを話す所から始まりました。そして、それぞれのモチベーションを保つために、この機能だけは欲しいというような要件定義を行いました。

ある程度まとまった所で、プロジェクトを立ち上げるために必要な、サークル用のボイスチャットアプリの名称から決めることにしました。そして HiCoder 総選挙の厳選なる投票の結果、Discord と HiCoder を融合した造語であるHicordに決まりました。

次に使用する技術の選定をある程度行いました。

それに伴って技術の調査タスクと環境構築を、各メンバーに割り当てることにしました。とりあえずは参加して欲しいので、割り当てられても難しければ交代したり、手伝うから、気軽に担当になってねというような形で、担当してもらいました。その際に GitHub の Projects の機能を用いて、タスクを管理しました。

近日のタスクが決まると、当面の目標として、以下を掲げて全体の流れを把握してもらいました。

  1. 要件定義で示した機能を実装したプロトタイプ的なものの完成
  2. サークル内で使用する
  3. 改良、完成、運用
  4. コンテストへ応募

そしてコンテストへの応募については、皆で共通する目標として丁度よいのでおすすめです。

機能実装

初めの頃は、各メンバーが割り当てられた環境構築の内容を行ってもらっていたのですが、難しいタスクであったり、興味を失ってしまい、タスクが残るようになりました。仕事ではなく、強制や催促することはあまりよくないし、「気軽に担当になってよい」という方針にしてたので、参加する人が少なくなりました。

そのためボイスチャットアプリの基本的な機能は、私が一人で作成した感じになってしまいました。改善として機能の実装の際にもう一度皆で話し合って、各機能の担当とどのように実装するかを改めて決めておけば、他の人も参加できていたかもしれません。

その後私は8月下旬に大学院入試があるため、独自機能の開発は中断し、2か月ほど空いてしまいました。

フレッシュ IT あわ〜ど

大学院入試が終了したので、もう一度皆のモチベーションを高めるために、サークル内の LT で、フレッシュ IT あわ〜どという具体的なコンテストに応募しようという話をしました。

フレッシュ IT あわ〜どとは特徴として、

  • アプリケーション(android,iPhone 等で動作するアプリ)・IoT デバイス
  • 中国地方の学生

ということが挙げられます。

しかし問題としてフレッシュ IT あわ〜ど 2022応募締め切りが 9 月 9 日というかなりぎりぎりのスケジュールでこなさなければなりませんでした。

そのため計画としては、以下のように立てました。

内容 期間
機能の選定・開発 8月27日 ~ 9月7日
提出用資料作成 9月7日 ~ 9月9日

メンバーとしては toddlerer さんと sp1st さんの3人体制で、フレッシュ IT あわ~どに参加するために、プロジェクトを進めていきました。

かなり頑張ったのですが、9月9日では何とか提出できるレベルで、追加したい機能がすべて実装できていた訳ではありませんでした。しかし応募の締め切りが 1 週間延長されることになりました。

そのおかげでより作品と応募資料の完成度をあげることができました。

提出後は、更に機能を改善しつつ、一次審査が通過した後は、最終審査用の資料も作成していきました。

去年までは感染予防の関係もあり、オンラインで行っていました。しかし今年はオンラインと対面のハイブリッドで行いました。そのためポスターと動画の両方を作成しなければならず、少し大変でした。

個人的に工夫した点として動画の方は、視聴者により興味を持ってもらうため、3人の会話形式で進行していきました。

当日

私たちは対面で参加することにしたので、開催場所である広島市立大学に行きました。 具体的な場所は、部屋ではなく通路?で行われました。

オンラインの方とつながるために、oVice というボイスチャットアプリを使用しました。

作品部門

まずは各作品の動画を視聴しました。

そして各審査員がポスターを見ながら、作品に対して適宜、対面やスマホを通して質問するので、答えていきました。

私は Hicord のよさを oVice と比較しながら、説明していきました。

アイデア部門

今年のアイデア部門テーマである「 DX で地域活性化! ~あなたと共に,スマートな未来社会へ~ 」に対して、アプリのアイデアを提案するアイデア部門の審査が同様に行われました。応募者は、工専の方が多く参加されていました。

動画説明が終わり、スマホを通して、それぞれが適宜作品に質問していくのは面白かったです。

表彰前後

表彰前に審査の時間がありました。その間に作品部門の島根大学の方とサークルやコンピュータ関連のお話しができました。

楽しかった時間も束の間で、表彰が始まり、鼓動が早くなっていきました。

そしてボイスチャットアプリである Hicord は、最優秀賞・総務省中国総合通信局局長賞として選ばれました。 純粋に嬉しかったです。

発表の後は閉会式を行い、片付けを少し手伝い、コンテストを無事終えました。

hiro_it

丁度広島市立大学の学祭を行っており、広島の IT 学生コニュニティである #hiro_it が LT を行っていたので、お菓子をいただきながら拝見しました。 OB の方々や別の大学の方も参加しており、様々な交流があって楽しかったです。

(HiCoder でも様々な交流を歓迎しているので、外部の方はぜひ遊びに来てください!)

おわりに

ボイスチャットアプリの開発を通して、様々な方が携わっていただきました。 Hicord の開発や資料を作成していただいた方、イベントを開催していただいた方などの皆様に改めて御礼申し上げます。

また特に忙しい中で開発やコンテストなどを最初から最後まで付き合ってくれた toddlerer さんには特に感謝しています。彼がいなければ、チーム開発ができなかったり、現在の完成度にはならなかったと思います。