clubhouseを用いた画像の送受信

**1. はじめに**
clubhouseは、2021年１月頃から日本国内で猛烈な勢いで広がった音声チャットアプリケーションである。[^1]
本アプリケーションで送受信できるのは基本的に音声のみであるが、コンピュータには電話という音声回線で画像などのデジタルデータを送受信してきたという歴史がある。
そこで本論文では、clubhouseにおける画像送信の方法および送信アプリケーションの開発、実際に送受信した結果についてまとめた。

**2. 音声帯域を用いたデータ送受信**
1980年代初頭までのパーソナルコンピュータにおいては、データの補助記憶媒体としてカセットテープが用いられた。
また、1990年代までは電話回線を用いたネットワーク送受信が主要なデータ送受信方法の一つであった。
いずれもアナログ音声を記録または送受信する目的で設計されており、人間の発話で用いられる周波数帯の記録・送受信に最適化されている。[^2]
clubhouseも同様にアナログ音声に特化した帯域のみの送受信がなされているとみられるため、データを送受信する際にもこれを念頭に入れる必要がある。

| <img alt="カセットテープ" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59911/99f3b7b2-0fa0-60d6-2a70-c506df154a19.png" width="80%"> |
|:-:|
| fig.1 カセットテープ |

**3. 画像データを音データに変換する方法の選定**
そこで今回、clubhouseで的確にデータを送信する方法として、コンピュータからカセットテープへの記録に用いられたカセット・インターフェイスを踏襲した。

カセット・インターフェイスは、音信号を矩形波ととらえ、矩形波の基本周波数を0、倍の周波数を1としてデータを記録する方式である。基本周波数1200[Hz]の場合はパルスから次のパルスまでの時間が1/1200秒すなわち833[μsec]であるから、この間にパルスが１つであれば0、２つであれば1として1ビットのデータを受け取る。

| ![2021-03-10_135950.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59911/70598ee0-024c-e696-f754-72a33bda0536.png) |
|:-:|
| fig.2 データ波形 |


さらにこれらのデータを8ビット=1バイトとし、その先頭と終端にスタートビットとストップビットを入れることで1バイトのデータとする。

| ![2021-03-10_141622.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59911/546f691b-3432-1b6d-9f45-60ea94df9edb.png) |
|:-:|
| fig.3 データストリーム |


これらのデータにヘッダーを加えたものが1まとまりのデータとして送受信されるが、詳細については付録に載せる。

**4. データ変換プログラムの作成**
次に、上述のカセット・インターフェイスを再現するプログラムの開発を行った。
目標とする仕様としては
・画像およびテキストをカセットインターフェイスに準拠した音声データに変換できるもの
・ブラウザ上で使用できるもの
を目指した。結果、開発したものが[こちら](http://elix1054.pythonanywhere.com/cdatamaker)である。[^3]
(2021/6/30 pythonanywhere使用期限終了予定)

| [![2021-03-10_144015.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59911/bfa001e4-be4a-5bc3-0bdc-6d549869fc39.png)](https://elix1054.pythonanywhere.com/cdatamaker) |
|:-:|
| fig.4 作成したアプリ |
プログラム言語としてPythonを選択し、データ生成等のホストとしてPythonanywhereを使用した。


[動画](https://youtu.be/EgcFG_FIR40)




**5. ルーム滞在者がデータに及ぼす影響**
次に、発話によるS/N比の変化がデータに及ぼす影響を測定した。

■元画像
![renna_scol.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59911/47a9d44f-a4b2-805b-1936-9606250db353.png)

一般に、データ送信中に発話ノイズが加わることでデータが変化することが知られている。
これは乳幼児の泣き声が音響カプラに及ぼす影響に類するものである。[^4]

■意識の高いroomで得られた画像
![d5c7e336-6ce4-d76c-c8a9-b387e8da2fad.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59911/ffe6c75d-08d5-2102-443a-fb9b474af3f3.jpeg)

■意識高い系のroomで得られた画像
![pose_furikaeru_woman_s.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59911/00874cba-d5d7-7851-e68a-f6b431b8b2d3.png)

■深夜のオトナroomで得られた画像
![2019040509411964.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59911/c04d290f-2750-a8ed-753e-ea0463bd595f.jpeg)

■色気のないroomで得られた画像
![renna_smono.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59911/0e782b33-d9e2-8dac-9812-c5887cc9ccbc.png)

■内容の薄いroomで得られた画像
![w_d5c7e336-6ce4-d76c-c8a9-b387e8da2fad.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59911/f7298bdf-fdbb-b18a-22a8-0dd809cb77cd.jpeg)

■さらに内容の薄いroomで得られた画像
![lennaAA.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/59911/ddc6454e-fe07-d57f-9838-7f8a6bc9c5ae.png)[^5]

以上から、スタートアップ経営者や意識の高いユーザーの多いルームでは画像の情報量が増大するという現象が見られた。
また、それ以外のルームでは概して情報量が減少する傾向がみられた。

**6. まとめおよび今後の課題**
今回行った実験で、文書、画像などのデジタルデータを音声データに変換することに成功した。
また、変換した音声データをclubhouseを介して送信・復元した場合、多くの例でデータ構造に変化が見られた。
今後はさらにサンプルを増やし、roomの特徴による画像変化についてまとめていく予定である。

**7. 謝辞**
みなさまの貴重なお時間を割いてエイプリルフールネタにお付き合いいただき、ありがとうございました。

**8.付録**
1.[バイナリをカセットインターフェース音声に変換するプログラム](http://elix1054.pythonanywhere.com/cdatamaker)
2.[バイナリをカセットインターフェース音声に変換するプログラム(ソースコード)](https://github.com/misawa2048/Python_CodeForGirls/tree/master/cdatamaker)
3.[MSX カセットインターフェイス](http://ngs.no.coocan.jp/doc/wiki.cgi/TechHan?page=2%BE%CF+%A5%AB%A5%BB%A5%C3%A5%C8%8E%A5%A5%A4%A5%F3%A5%BF%A1%BC%A5%D5%A5%A7%A5%A4%A5%B9)
4.[昨年度の論文](https://qiita.com/ELIXIR/items/860e160b60161cc07c0d)

**9.参考文献**
[^1]: [Clubhouse（クラブハウス）とは？話題の音声SNSの使い方や招待枠の増やし方などを解説](https://viva-drone.com/clubhouse-application-2021/)
[^2]: [回線と通信速度](http://large.rgr.jp/H-aid/ELE/bps/index.html)
[^3]: [作成したプログラムコード一式](https://github.com/misawa2048/Python_CodeForGirls)
[^4]: [音響カプラって知っていますか？](http://azazur.blog.fc2.com/blog-entry-73.html)
[^5]: [AA作成サイト](https://image2aa.herokuapp.com/)