Brynhildr

KeroRemote

リモートデスクトップエンジニアのブログ。

ボイスチャット「st4d」爆誕

超低遅延&超高音質のボイスチャットアプリのフェーズ1をしれっとリリースです。

st4d 0.1.0 Download

これが何かと言いますと、新しい通信モジュールのサンプルだったりします。通信周りの仕組みがまるで違います。新通信モジュールに音声伝送機能を試しに載せて通信テストしてたんですけど、録音対象をマイクにして音声伝送を双方にすればボイスチャットいけんじゃんと思ってボイスチャットにしてみました。

音声はサンプリングレートを48000Hzのビットレートを256000bpsで圧縮してやす。大盤振る舞いですんで破茶滅茶に超高音質です。他のテレビ会議アプリとかに比べれば段違いに高音質だと思います。たぶん。

超低遅延とゆーことでBrynhildrの最大低遅延設定と比較しても0.05秒くらい速い感じで中身的には遅延を0.1秒以内に抑えてあるのであとはネットワーク環境次第です。ノイズが乗るか乗らないかのかなりギリギリの線いなってますけどボイチャは高音質で低遅延が全てですので。たぶん。

使い方はBrynhildrみたいな感じですのであえて説明しません。いやめんどくさいだけなんですけど。こちらにいらっしゃる方はその辺をお分かりになる方ばっかりと信じていますので。どうかお願い。

んで、一番お伝えたいとこなんですけど、こやつなんですが音響エコー(ハウリングとか声のエコーとか言われてるヤツ)キャンセルがついてません。音質が下がるという理由で適応フィルタを実装しなかったもので。ええ手抜きで。ですので、スピーカーからでも鳴らそうものなら、マイクがそれを拾って、それを相手に送って、相手がまたそれになって、ぐるぐると巡り巡って増幅されて大爆音になりますんで、必ずイヤフォンとかヘッドフォンとかヘッドセットとかそんなのを使ってください。いやマジで。

ま、音響エコーキャンセルに関しては、デバイスドライバとかマイク本体に付いてるのもあるのでそれでも良いと思うんですけど。うちのは半分くらいついてました。

マイクの録音するのにWASAPI(CoreAudio)を使ってるんでWindowsVista以降でないと動きやせん。再生はDirectSoundなんで2000でもいけるとは思いますけど特にXP以前での起動テストはしてませんので。

通信はTCPのみですので基本的には同一サブネット環境で使う感じですかね。NAT越えしたい方は自己責任で。IPはIPv4です。中身的にはパラメータ1つでIPv6でも動くよーにはなってるんですけど。

接続されたら青字で「OnLine」で未接続で赤字で「OffLine」と表示されます。いわずもがなですけど。

スピーカーボタンとマイクボタンがありまして押すたびにONとOFFを切り替える感じになってますので必要に応じてご利用を。テレビ会議アプリに良くあるやつです。

コマンドラインオプションは「/clientmode」「/ip:」「/port:」「/speaker」の4つあります。「/clientmode」を指定するとクライアントモードで起動してきて、「/ip:」と「/port:」はそれぞれデフォルトの値を指定できて、「/speaker」はマイクではなくスピーカーを録音します。スピーカーの録音はつまりBrynhildrと同じ感じにマシンPC上で鳴ってる音を送ります。以下のような感じでショートカットとか作ると良いかもしんないです。

st4d.exe /clientmode /ip:192.168.0.1 /port:54000 /speaker

さて、フェーズ1と書きましたけどフェーズ2ではNAT越えをするために中継サーバーを作ってゲームとかで利用する普通のWindowsのボイチャとして利用できれば良いかなあと思ってやす。ネットワーク環境を気にせず離れたところで普通に会話ができるはずです。ま、今風ですな。仕組み的にはグループボイチャも見据えてますけどそっちはフェーズ3ですかね。まあちょっとどこまでできるかまるで未定なんですけど。

ちなみに、開発言語は例の如くC言語です。手続き型です。昭和か。コンパイラはC++ですし一部C++のライブラリを使ってるんで邪道も邪道の大邪道です。ま、もう今更なんですっかりと諦めの境地ですけど。

そんなボイスチャットアプリをリリースしてみたワケなんですけどボイスチャットとして一度も使って試したことがないのでやってはいけないことをしてしまった感が凄いんですけど誰か試してみてコメントください。

とりあえず以上でヤス。


コメントはまだありません ... ( 管理人承認制 )





... 不具合報告の際は、アプリのバージョンやOS等の動作環境の記載を御願い致します。

表記されている会社名・製品名・システム名などは、各社の商標、または登録商標です。
当サイトはAmazon.co.jpアソシエイトプログラムに参加しています。
© 2010-2023 KANEKO