TeamSpeak3 Archive
Celtとか
- 2010-06-15 (火)
- Mumble 1.2 | TeamSpeak3 | VoIP | 戯言
最近, Mumble 1.2やTeamSpeak3 で採用されるようになっている音声コーデック Celt (ケルト)について少々書いてみようと思います。
私は音声コーデックに関する専門知識を持ち合わせていないので,内容が間違っていたり,深いと頃までつっこめていないかもしれません. あまり鵜呑みにしないようにお願いします.
Celt は,ボイスチャットの世界では有名な Speex と同じ開発者が開発している音声向けコーデックです.Speex は Ventrilo や TeamSpeak2, Mumble 1.1 などで採用されているコーデックで古くからボイスチャットユーザなら耳にしたことがある音声コーデックだと思います.
アルゴリズム的な遅延は Speex では 30ms から 34ms かかるのに対して, Celt は 3ms から 8ms と非常に低い遅延で音声を処理できます.低遅延性を追求するMumbleなどは, Mumble 1.2 から Celtを採用しています. ネットワークその他の遅延もありますが,単にコーデックの能力のみを考えた場合にはCeltは最良のコーデックであるようです.
また,Speexが音声のみをターゲットにしていたのに対して, Celtは音楽向けに開発されていたコーデックであるVobiris とSpeexの間をとるコーデックとして設計されているようです.つまりは,音質を高めつつボイスチャットとして使えるようにと設計されているみたいです.
より明瞭で聞き取りやすく, 低遅延なボイスチャットを求めるのであればCeltの方が良さそうですね.
ただ, Celt は開発中の音声コーデックであり, 各バージョンごとに互換性もないので実装方法によっては残念なことになります.
Celt の歴史的なものをまとめてみました.
バージョン | |
0.6 | Mumble 1.2αやTeamSpeak3αが採用し始める* |
0.6.1 | Mumble 1.2βが採用 TeamSpeak3βが採用* |
0.7 |
Mumble 1.2 の正式コーデックとして採用 |
0.7.1 |
Mumble 1.2.1で採用 |
0.80 |
現在開発中 |
1.0 |
はるか将来にリリース予定 |
* TeamSpeak3 がどのバージョンのCeltを使っているかは不明なので haruの推測です
TeamSpeak3でのCeltの実装
TeamSpeak3β初期における Celtの実装は非常に残念なもので, バージョンの差異なんて気にせずに処理されるので場合によってはまともに会話できないなんてこともあるようです.
チャンネルごとにコーデックを設定できるようになっているので,使いたい場合は有効にすればよいです.
また, TeamSpeak3 Client beta15 までの時点で採用していたCeltのバージョンが0.7.0なので, パケット損失に対する耐性が非常に低いです.そんなバージョンのCeltを10~20KiB/sなんて高ビットレートで使おうものならパケットロスにより恐ろしい結果になることは,想像に難くないでしょう.(Ventrilo 2, TeamSpeak2, Mumble 1.1 などはせいぜい2KiB/s 程度です).
TeamSpeak3 Client beta16以降は, Celt 0.7.1 を採用してビットレートも6~13KiB/sと抑えてかなり実用的になっているようです. ですので, TeamSpeak3 での Celt はbeta16以降のクライアントを全てのユーザが使えない状況では使わない方が良いでしょう.
TeamSpeak3 Client beta21 では一度あたりに送信する音声フレーム長が調整できるように改良されましたが、最小値が20msでありMumbleの10msには及ばない感じです。
また、Celtを使っていて音声がおかしくなる場合は、クライアントの接続情報から音声チャンネルのパケット損失が何%になっているかを確認しましょう。これが高い場合は、できるだけCeltの音質を下げて見ましょう。
Mumble 1.2のCelt
Mumble 1.2はサーバ上にいるユーザ側が持っているCeltのバージョンをチェックして互換性の問題が起きないように処理しているので, 大きな問題は今のところ発生していません.
Mumble 1.2 の正式な音声コーデックとして採用されているので特別な設定をしなければ通常はCeltが選択されます。(うちのサーバのようにサーバ側で帯域を絞っている場合はSpeexが選択されます。)
初期にパケット損失による音質劣化の問題が Mumble 1.2.0 で発生しており, パケット損失に対する処理を施された Celt 0.71 を Mumble 1.2.1 で採用して対処しています.Mumble 1.2の出始め頃にあった「人の声がロボット声になる」という問題は,パケット損失によるものです.
Mumble はCeltをうまく実装していますが, それでも音質をあげすぎるとパケットロスにより残念なことになります.Mumbleの開発者もCeltの高ビットレート設定はローカルネットワーク用の設定であるとしています。
どうしても, Celtを高ビットレートで使いたいと言う場合はオプションの「TCPモードを使う」をONにすると理論上はパケットロスは起こらないはずですので, 音質は良くなると思います.その代わり遅延が大きくなると思いますがね。
(ボイスチャットは通常はUDPという, パケットロスが起こっても見なかったことにする通信手続きを使います. それに対して通常の通信ではTCPというパケットロスが起きたらパケットを送り直す通信手続きが使われます.パケットロスが起きていないかや起きた場合に送り直す処理が余分にかかるため遅延が大きくなります.)
Mumble 1.2.3 ではバージョン 0.8.0 のCeltが採用される予定です. Celt 0.8.0 を体験するには全てのユーザがMumble 1.2.3 を利用している必要があります.これは、Mumble では各ユーザが持っているCeltのバージョンを調べて一番バージョンが低い人に合わせているからです.
まだまだ開発中であり将来性はある
TeamSpeak3 ユーザだとCeltはあまり良い印象を受けないかもしれないが, まだまだ開発中のコーデックであり,現時点をもって駄目なコーデックだと思わないで欲しいです. Celt を採用しているTeamSpeak3ですらβですからね.
- コメント: 0
- トラックバック (Close): 0
TeamSpeak3 サーバのアップデート方法
- 2010-06-05 (土)
- TeamSpeak3 | VoIP
わからない人がいるようなので紹介しておきます。
サーバはこまめにアップデートをしましょう。
β版のソフトウェアですので深刻なバグが潜んでいる可能性が高いです。
特に公式ホームページに赤字でアップデートを促す告知が出た場合は必ずアップデートしましょう。危険性の高い深刻なセキュリティ上の脆弱性が発見されたときに告知が出されます。過去に1回ありました。
バックアップをとるべきファイル・フォルダ
ts3server.sqlitedb というファイルに全ての設定が保存されています。アップデート時にデータベースの更新を行うので場合によっては中身が破壊さ れる可能性があるのでバックアップを取っておきましょう。
他にも心配であれば files フォルダ, logs フォルダ query_ip_blacklist.txt, query_ip_whitelist.txt をバックアップしておくと良いかと思います。
復元方法は簡単でも元々あった場所に戻すだけです。
アップデート方法
まず、サーバを設置しているディレクトリにあるsqlフォルダを消します。
次に、ダウンロードしてきた新しい圧縮ファイルの中身を全て既存の物に上書きするだけです
終わりです。後は起動して動作確認しましょう。
追記:
このとき圧縮ファイルの中身は展開直後の物を上書きしましょう。間違ってもサーバを起動したりしないように。
- コメント: 3
- トラックバック (Close): 0
TeamSpeak3 Viewer #3
- 2010-06-04 (金)
- TeamSpeak3 | VoIP
TeamSpeak3 Viewer を使う上での前設定をひとつ忘れていました。
TS3サーバのアクセス権の設定をする必要があります。
最近のバージョンでアクセス権のデフォルト設定が厳しくなっています。
ビューワがサーバの情報を取得できるようにアクセス権を設定してやる必要があります。
古いバージョンから更新していっている人は、昔のゆるいアクセス権が引き継がれているので問題ありませんが、設定をリ セットしたときにはアクセス権を設定する必要があります。
権限を設定するクエリコマンドを次に書いておきます。
login client_login_name=serveradmin client_login_password=********
use sid=1
servergroupaddperm sgid=1 permsid=b_serverinstance_info_view permvalue=1 permnegated=0 permskip=0
servergroupaddperm sgid=1 permsid=b_virtualserver_select permvalue=1 permnegated=0 permskip=0
servergroupaddperm sgid=1 permsid=b_virtualserver_info_view permvalue=1 permnegated=0 permskip=0
servergroupaddperm sgid=1 permsid=b_virtualserver_channel_list permvalue=1 permnegated=0 permskip=0
servergroupaddperm sgid=1 permsid=b_virtualserver_channel_search permvalue=1 permnegated=0 permskip=0
servergroupaddperm sgid=1 permsid=b_virtualserver_client_list permvalue=1 permnegated=0 permskip=0
servergroupaddperm sgid=1 permsid=b_channel_info_view permvalue=1 permnegated=0 permskip=0
servergroupaddperm sgid=8 permsid=b_virtualserver_servergroup_list permvalue=1 permnegated=0 permskip=0
servergroupaddperm sgid=8 permsid=b_virtualserver_channelgroup_list permvalue=1 permnegated=0 permskip=0
******** は起動時に表示されたserveradminのパスワードを入力してください。
TS3クライアント上のGUIからやろうとしたけれど、最近のバージョンだと管理者ですら設定変更できない仕様でした。
TS3クライアントからやるなら下の画像のような感じになります。
- コメント: 0
- トラックバック (Close): 0
TeamSpeak3 クライアント beta21 #2
- 2010-06-03 (木)
- TeamSpeak3 | VoIP
ArcencielServer も今朝の早朝にサーバをアップデートしました。
現在は β21 以上 のクライアントしか接続できなくなっています。
公開サーバも多くがアップデートされてβ21クライアントしか接続できないようになっています。
ですので、出来るだけクライアントのバージョンをβ21にしましょう。
TeamSpeak3 はβバージョンのソフトウェアなので、これからも似たようなことが起こる可能性があります。
TeamSpeak社のサーバが一時ダウン
β21から互換性がなくなった関係で公式ホームページにアクセスが集中してサーバが一時ダウンしていました。
けっこう混乱したみたいですねぇ。
- コメント: 2
- トラックバック (Close): 0
TeamSpeak3 Client β21 リリース
- 2010-06-02 (水)
- TeamSpeak3 | VoIP
まず、不用意にアップデートしないでください。と書いておきます。
クライアント β21 では大幅な更新が行われたため過去のバージョンとの互換性がなくなります。
利用しているサーバのバージョンが古い場合は、不用意にアップデートすると接続できなくなります。
よく分からないひとのために対応表は次のような感じ
クライアントのバージョン | サーバのバージョン | |
β20以前 | β22以前 | 接続可能 |
β20以前 | β23 | 接続不可 |
β21 | β22以前 | 接続不可 |
β21 | β23 | 接続可能 |
ArcencielServer では6/3の早朝にサーバのバージョンをbeta23に更新します。
それまでは、β20 のまま更新しないようにお願いします。
β21に更新してしまった人用に臨時サーバを建てて置いたので必要な人は利用してください。
サーバへのアクセスは右側のサイドバーのメニューから~
β21の更新内容とか
今回は更新・修正内容が非常に多いようです(150項目近く)。
目についたのは、Mumble にもある機能ですが、音声コーデックの遅延の高さを設定できるようになったことでしょうか。
これによりTeamSpeak3の遅延がどのように変化しているかは興味深いです。
遅延というよりはたぶん一度に送る音声フレームの長さ・・・だと思います。
Mumble の場合はこれの最小値を10msに設定出来ます。それがCELTの利点だったはずなんですが、TS3は20msみたいですねー
誰か遅延の大きさ検証してくれないかな・・・
β21向けの日本語リソースの配布予定とか
さきほど翻訳ファイルを開発元に渡してβ21の新翻訳ワードを追加してもらっています。
ファイルが開発元より届き次第、翻訳作業に入りますのでしばしお待ちください。
- コメント: 0
- トラックバック (Close): 0
- 検索
- フィード
- メタ情報