Home > VoIP > Mumble 1.2

Mumble 1.2 Archive

Mumble 1.2.3 開発版

Mumble 1.2.3 の開発版が更新されてました。

けっこうな頻度で更新されているんですけれどね。

インストーラがNSIS から MSIに変わってました。

NSIS はWinampが作ったインストーラです。Mumble 1.2.2までインストーラにこれを採用していました。

8月11日公開の開発版あたりから、なぜかMSIに変わってました。

利点があんまりわかんないですけど、とりあえず変わりましたよっと(ぇ

この他にもインストーラがMSIに変わったついでにインストール済みの内容物からD-Bus関連のファイルが消えています。Mumble 1.2.3からはD-Busのサポートをやめるんでしょうかね。

Mumble 1.2.3 について

Mumble 1.2.3 は現在開発段階であり、リリース は今から1月以内となる様子です。公式発表ではないのであまり信用しないでください。開発の進行状況により前後するかもしれません。

大きな更新点は非常にカスタマイズ性の高いゲームオーバレイ機能、WASAPI排他モードによるさらなる低遅延化です。

関連リンク

Mumble 公式wiki
http://mumble.sourceforge.net/

Microsoft Speech Platform

Microsoft Speech Platform 10.1という音声合成のためのライブラリが先月に公開されていたようです。

このSpeech Platformの大きな特徴は日本語をはじめとする多くの音声合成エンジンが無償で公開されているという点です。しかも品質が比較的高いのです。

音声合成というのはテキストを入力として音声合成をして読み上げるため機能です。テキスト読み上げをしたいソフトウェアなどから呼び出されて利用されます。Windows 7/VistaにはMicrosoft SpeechAPI 5(SAPI5)という音声合成エンジンがデフォルトでインストールされており、多くのソフトウェアが、この機能を利用してテキストの読み上げをしています。ただ、Windowsにデフォルトで入っているSAPI5対応の音声合成エンジンは英語版のみです。SAPI5対応の日本語合成エンジンが、ほとんど有償のものしかないため日本ではあまり一般的ではありません。SAPIを利用しない独立した音声合成エンジンが無償で公開されているということもあり、棒読みちゃんSofttalkのようにそれらを利用した音声合成ソフトがポピュラーです。

こんな良いものが公開されたとなってはすぐにでも飛びつきたいところなんですが、このSpeech Platformは一般的にSAPI5とほとんど互換性がないらしくSAPI5対応のアプリでは利用できないようです。

私が翻訳をしているボイスチャットソフトウェア『Mumble』、最近記事で取り上げた音声合成ソフト『棒読みちゃん』なんかも、このSAPI5による音声合成に対応していますが、このSpeech Platformは使えないようです。

ただ、実質的にはSAPI5と大差ないらしく、SAPI5対応のアプリをSpeech Platform に対応させるのはさほど難しくないようです。

Mumbleの方は、Speech Platform のライブラリを使って再コンパイルすることで簡単に対応できました。ですので、棒読みちゃんのほうも作者さんしだいですぐに対応してくれるかもしれません。

今のところ Speech Platformに対応しているアプリケーションはあまりないようです。私の知る限りだとMicrosoft Office 2010 製品のWordやPowerPointで、このSpeechPlatformを使ってのテキスト読み上げができるようです。

全文を読む

棒読みちゃんとかとか

悟りの境地に達しつつあるharuです。(ナニソレ

棒読みちゃんというソフトウェアをいまさらながらに知りました。

いわゆる音声合成ソフトという奴で、文章を読み上げてくれます。

棒読みちゃんは標準機能としてSkypeやTwitter、ニコニコ動画の読み上げプラグインがついています。ニコ生とか実況配信とか見てる人は裏でコメントが棒読みで読み上げられているのを聞いたことがあるんじゃないでしょうかね。有志のスクリプトを使えばLimeChat2の発言を読み上げたりもできますし、対応するプラグインやらがなければ自分で作ることも出来ます。

Mumble 1.2

Mumble でも使えるようにしてみました。

全文を読む

Mumble 1.2.3 の開発版とか

Mumble 1.2.3 の開発版が更新されました。

テストフォーカスが1.2.3の開発版に最近実装されたWASAPI Exclusive mode (WASAPI 排他モード)に変わっていました。

オーバレイ機能(ゲーム画面中に話者の情報を表示する機能)の改良がひと段落ついたようですね。

WASAPI というのは Windows 7/Vista から採用されている音声入出力方式のことです。音にこだわるゲーマならこれが原因で7/Vista 環境で音声処理のハードウェアアクセラレーション(EAX)が使えなくなってしまったということは耳にしたことがあるはず。

私は詳しくは知りませんが、WASAPIの排他モードの利点はASIOのような低遅延かつ元の音声データに忠実な音声入出力ができることです。ASIOは対応デバイスとドライバが必要ですが、WASAPIなら特別なデバイスやドライバが必要なくOSの基本機能として組み込まれているので簡単に利用できます。

ただ、この排他モードは読んで字のごとく、Mumbleがサウンドデバイスを排他的に制御するモードですのでONになっていると他のアプリがサウンドデバイスにアクセスできなくなります。ボイスチャットがいくら低遅延になるからといって、ゲーム音が聞こえないのであれば意味がないですね。

haruはとりあえず、録音デバイス(マイク)で排他モードをオンにして使っています。

Mumble のIRCを覗いている感じだとMumble 1.2.3 の正式リリースは音声コーデックceltのバージョン0.8の正式版がリリースされてからになりそうです。

開発版の入手は公式wikiから~

公式wiki
http://mumble.sourceforge.net/

Celtとか

最近, 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 の正式コーデックとして採用
TeamSpeak3βで採用
パケットロスに非常に弱い
0.6以前との互換性なし

0.7.1

Mumble 1.2.1で採用
TeamSpeak3 beta16 で採用
パケットロスに対する処理を簡易的に実装
0.7との互換性あり

0.80

現在開発中
Mumble 1.2.3 で採用予定
開発版がMumble 1.2.3 の開発版ですでに採用済
0.7以前との互換性なし

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ですらβですからね.

ホーム > VoIP > Mumble 1.2

検索
フィード
メタ情報

Return to page top