オンライン生放送の悪い音質をリアルタイム・エフェクトで無理やり高音質っぽくする

上海SNH48の姉妹グループ広州GNZ48の劇場公演オンライン生放送の音質が非常に悪くて、ほぼモノラルにしか聞こえない。

そこでソフトウェア的に左右の音振りを大きくして、さらにリバーブを掛けられないかと思ってグーグル検索すると、VSTHostというものを見つけた。

VSTHost

要するにパソコンの音声入力と音声出力の間に、このVSTHostを噛ませ、このVSTHostにエフェクトを追加することで、パソコンの音声出力にエフェクトがかかった状態にするソフト。

パソコンの音声入力⇒VSTHostの音声入力⇒VSTHosのエフェクト⇒VSTHostの音声出力⇒パソコンの音声出力

筆者はWindows 10 64bitなので、上記VSTHostのダウンロードページからdvsthostx64.zipをダウンロードし、C:ドライブの適当な場所に解凍。

日本語の使い方説明はこちらの「VSTHost と ASIO4ALL で PC の音声出力に対してリアルタイムにイコライザーをかける」(『すぐに忘れる脳みそのためのメモ』2011/01/23)にある。

筆者のパソコンのCPUはIntel Core i7-6700Kのせいか、動画と音声にズレが起こることはなく、リアルタイムで正常にエフェクトがかかった。

VSTHostに追加したエフェクトはこちらの無償のMo’Verbというリバーブ・エフェクタ

ダウンロードしたZIPファイルのうち、DLLファイルだけを、先ほどVSTHostを解凍したフォルダ内にコピー。どこに置いてもいいのだが、分かりやすいようにVSTHostのフォルダ内に置いたというだけ。

そして筆者はYAMAHAの簡易ミキサーAG03をパソコンにUSB接続して、AG03のモニターからイヤホンで聴いているという特殊な環境だが、それでも問題なし。

VSTHostのメニュー[Devices]==>[Wave]の[Select Wave Devices]画面で以下の設定をする。

Input port MME: ライン(AG06/AG03)
Output port MME: ライン(AG06/AG03)
Sample Rateは44100のまま
Bufferはよく分からなかったが4410 samplesにしてみた。

次にメニュー[File]==>[New Plugin…]をクリックして、先ほどのMo’VerbのDLLファイルを開く。

これだけで即、リバーブがかかった音がパソコンから返ってくるようになる。

あとは中央のエフェクトの小さなウィンドウにあるダイヤルアイコンをクリックして、各種パラメータを調節するだけ。

リバーブはとりあえず[WET level]のレベルの大小が重要。あとはネットでReverbの解説を調べて下さい(汗)。

Mo’Verbのプリセットはメニュー[PlugIn]==>[Program0-15]や[Program16-31]や[Program32-47]から選べる。

自分で設定した状態の保存はメニュー[PlugIn]==>[Save Program As…]で適当なファイル名をつけて保存できる。

リバーブの前に低音を強調するためのイコライザーを追加したくなったので、LinearPhaseGraphicEQ 2をダウンロード。

同様にVSTHost配下のサブフォルダとして解凍。メニュー[File]==>[New PlugIn…]からダウンロードしたLPGEQ2_1.dllを開く。

このままでは、パソコン音声出力に、イコライザーの出力と、リバーブの出力が両方入るという奇妙な設定になる。

いちばん右にあるパソコンの音声出力の小さなウィンドウの左上隅にあるチェーンのアイコンをクリック。

Mo Verbだけを緑色のチェックマークをつけて有効にし、他の[Engine Input]、[LPGEQ2.1]のチェックマークを外す。

これでパソコンの音声出力に入力されるのはリバーブだけになる。

次にリバーブの小さなウィンドウの左上隅にあるチェーンのアイコンをクリック。

[LPGEG2.1]だけに緑色のチェックマークをつけて、入力をイコライザーだけにする。

最後にイコライザーの小さなウィンドウの左上隅にあるチェーンのアイコンをクリック。

[Engine Input]だけしか緑色のチェックマークで選択できないはずだが、念のため確認する。

以上で、パソコンの音声入力==>イコライザー==>リバーブ==>パソコンの音声出力という順になる。

イコライザーのパラメータ変更も、イコライザーの小さなウィンドウの小さなダイヤルのアイコンをクリックすればOK。

こちらもメニュー[PlugIn]==>[Save Program As…]で自分の設定を保存できる。

VirtualDubでmpeg4ファイルを開く方法

何の脈絡もなくいきなりの内容の記事ですが、動画編集ソフトVirtualDubは本来AVIファルしか開けないが、最近よく使われるmp4コンテナの動画を読み込めるようにする方法を、自分自身の備忘のために記事にしておく。

VirtualDub本体はこちらのSourceForgeのプロジェクトサイトからダウンロード可能

そしてmp4を読み込めるようにするプラグイン FFInputDriver は下記のサイトからダウンロード可能。
この記事を書いている時点ではVersion 1.8.4.8が最新。

http://codecpack.co/download/FFInputDriver.html

このFFInputDriverのStandalone版をダウンロード、解凍。

VirtualDubが32bit版なら解凍したフォルダ内のplugin32フォルダ、64bit版ならplugin64フォルダ内のファイルを、VirtualDubをインストールしたフォルダ配下のplugin32またはplugin64フォルダ内にコピーすればよい。

参考にしたページ: How to open .MP4 files in virtualdub? (i want to sharpen mp4 – VideoHelp Forum

VitrualDubからMP4を出力するためのCodecは下記ページからダウンロードできる。

http://www.xvidmovies.com/codec/

VirtualDubでASS形式の字幕ファイルを読み込むためのVideo Filterファイルtestsub.vdfはこちら。
正式なダウンロードサイトが不明だったため、このブログ自体にアップロードしておいた。

testsub.vdf

このファイルはVirtualDubのpluginまたはplugin32フォルダ内に単にコピーするだけで、VirtualDub起動時に自動的に字幕処理フィルタとして認識される。

ちなみに何をやろうとしているのかと言えば、下記のリンクです(汗)。

Aegisubでカラオケ字幕作成

テキスト字幕ファイル(SRT, SSA, ASS)の利用方法

Windows 10で特定フォルダ間のドラッグ・アンド・ドロップが不可能になった場合の解決法

Windows 10で少し前から奇妙な現象に多少イライラさせられていた。

たとえば自分のユーザーフォルダ配下のPicturesフォルダ内に、フォルダAとフォルダBを作成したとする。

そのフォルダAからフォルダBへ、任意の画像ファイルをカット・アンド・ペーストによる移動はできるのに、マウスのドラッグ・アンド・ドロップによる移動はできない。

その解決方法が書いてあるページが見つかった。

No drag and drop in Windows Explorer (and other oddities)
(Windows Ten Forums)

このページのGammelsmurfという人の2016/10のエントリーがその解決方法。

レジストリをいじったうえに、エクスプローラーのオプションを変更して、エクスプローラーのプロセスを再起動するという、非常に面倒なことをやって、やっとドラッグ・アンド・ドロップができるようになった。

以下、レジストリの変更は自己責任で。

簡単に翻訳すると、シェルのドラッグ・アンド・ドロップ・ヘルパーのレジストリキーは、Windows 10のレジストリの下記の位置にある。
HKEY_CLASSES_ROOT\CLSID\{4657278A-411B-11d2-839A-00C04FD918D0}

この{4657278A-411B-11d2-839A-00C04FD918D0}というキーを、ディレクトリとフォルダのシェル拡張機能で有効にすれば、ディレクトリとフォルダでドラッグ・アンド・ドロップができるようになるはず。

ということで、以下の2つのレジストリキーを追加する。キーを追加するだけでよく、値は追加する必要はない。

HKEY_CLASSES_ROOT\Directory\shellex\DragDropHandlers\{4657278A-411B-11d2-839A-00C04FD918D0}

HKEY_CLASSES_ROOT\Folder\shellex\DragDropHandlers\{4657278A-411B-11d2-839A-00C04FD918D0}

さらにエクスプローラーのクイックアクセス機能をレジストリで無効化している場合は、復活させる必要がある。

HKEY_CLASSES_ROOT\CLSID\{679f85cb-0220-4080-b29b-5540cc05aab6}\ShellFolder

このレジストリキーにあるAttributesというREG_DWORD型の値を、a0600000から初期値のa0100000に戻す。

以上のレジストリキーの追加と値の変更が終わったら、エクスプローラーを開いて、フォルダオプションを開く。

そして「全般」タブの「プライバシー」欄の「最近使ったファイルをクイックアクセスに表示する」のチェックマークをONにして、クイックアクセスをいったん有効にし、OKボタンをクリックする。

ここまでやってPCを再起動するか、タスクマネージャーからエクスプローラーのプロセスだけを再起動する。

以上、どうしてクイックアクセスを無効にしたら、同一フォルダ配下のサブフォルダ間でドラッグ・アンド・ドロップが不可能になるなんていう変なことになるのか、Windows 10の仕様が全く理解できないが、マイクロソフト製品というのは昔からそんなものなので仕方ない。

050 IP電話の通話品質が携帯電話より悪いのは法令で決まっているのに、それに文句をつけるのは単なるクレーマー

国の法令を知らずに仕事をしちゃダメ、というお話。

2015/11/27の官報目次を見てみよう。

官報目次(平成27年11月27日付(本紙 第6665号)

このうち「告示」の「事業用電気通信設備規則の細則を定める件の一部を改正する件(総務四〇八)」に注目しよう。

残念ながら細則レベルの改正なので、このページから改正内容を直接参照することはできない。

この改正の直前に、所轄官庁である総務省から出ている報道資料を見ると、改正内容が分かる。

事業用電気通信設備規則の一部改正に係る情報通信行政・郵政行政審議会からの答申及び意見募集の結果 (2015/11/10)

じっさいの細則改正の告示の2週間前の報道資料だ。

この報道資料に、改正案のリンクがある。

「事業用電気通信設備規則の一部改正について」(PDFファイル)

ポイントはこの資料の8ページ。下図に引用しておく。

つまりこの規則・細則改正は、0ABJ-IP電話の品質要件を緩和するための改正だ。

soumu_go_jp_000384720pdf_8p

この規則・細則改正のもとになった、情報通信審議会からの答申は、以下の総務省のページにある。

「ネットワークのIP化に対応した電気通信設備に係る技術的条件に関する情報通信審議会からの一部答申 -0AB-J IP電話の品質要件等-」 (2015/09/08)

さらにこの答申のもとになった、総務省の意見募集は、以下のページだ。

「IPネットワーク設備委員会報告書(案)に対する意見募集 -0AB-J IP電話の品質要件等-」 (2015/07/22)

そしてこの意見募集の対象となっている「IPネットワーク設備委員会報告書(案)-0AB-J IP電話の品質要件等-」は、「0AB-J IP電話の品質要件の在り方に関する研究会」の報告である。

この報告書は、以下の総務省のページで初めて公開されている。

「0AB-J IP電話の品質要件の在り方に関する研究会」報告書の公表 (2014/12/16)

このページに「別紙1」として、報告書の概要のPDFファイルへのリンクがある。

ポイントはこの報告書概要の4ページだ。

0AB-J IP電話の品質基準を緩和するにあたって、050 IP電話の品質基準との対比がある。

soumu_go_jp_000327635pdf_4p

いまの日本の法令において、0AB-J IP電話と、050 IP電話で番号体系が違う理由は、このスライドに書かれているように「番号の違いを見るだけで適切なサービスや品質の違いを容易に識別できるようにするという消費者保護の観点」である。

そして0AB-J IP電話は、「アナログ電話と同等の品質を確保した上で、アナログ電話に付与される番号と同じ0AB-J番号を付与」されている、とある。

そして050 IP電話は、その下の対比表を見れば明らかだが、品質が大きく劣るIP電話として定義されている。

0AB-J IP電話には、平均遅延、平均遅延のゆらぎ、パケット損失率の基準はあるが、050 IP電話には存在しない。

IP電話の通話品質の評価には、情報通信技術委員会(TTC)の「TTC標準JJ-201.01 IP電話の通話品質評価法」にある、「R値」が使われる。

「R値」はITU-T(国際電気通信連合 電気通信標準化部門)のG.107という勧告に基づいている。

総務省は「R値」に基いて「IP電話の品質クラス」をA~Cまで定めている。

2001年の古い資料なのでインターネットには概要と目次しかないが、以下のページの「報告書(案)概要」から読める。

「IPネットワーク技術に関する研究会 報告書(案)」(平成13年12月26日 総務省)

この「第三章 IP電話の品質」の「IP電話の品質クラス」に、下図の記述がある。

soumu_go_jp_011226_3_b

総合伝送品質率の「R値」に基いて、80超の「クラスA」が固定電話並、70超の「クラスB」が携帯電話並、50超の「クラスC」が最低ランク。

「IP電話としてクラスCに満たないものについては、ユーザが電話サービスとして利用することが困難な品質と考えられ」とある。

ここで一つ上の図にもどると、0AB-J IP電話は「クラスA」の固定電話並であり、050 IP電話は、携帯電話よりも品質が悪いことが分かる。

これは日本の法令である。

050 IP電話が、携帯電話よりも品質が悪いのは、日本の法令に定められている。

これは電話を使う消費者を保護するために、総務省が定めた品質基準だ。

したがって、050 IP電話を導入したが、固定電話や携帯電話より通話品質が悪い!と文句をつけるのは、とんでもない言いがかりであり、単なるクレーマーのたわごとである。

ちなみに下記の、日経テクノロジーオンラインの記事が、LINE、comm、Skypeの通話品質のR値を測定している。(DeNAはすでにcomm事業から撤退している)

「第2回 音声品質は? LINE、comm、Skypeを検証」(2013/08/13)

無線LAN環境では、SkypeだけがR値、遅延ともに、050 IP電話相当になっている。R値だけを見ると、クラスA相当の固定電話並みの時間帯もある。

以上、国の法令も知らずに仕事をしちゃダメというお話でした。

長谷川豊が分かっていない自分自身のバカさ加減

長谷川豊がブログの記事をきっかけにレギュラー番組の仕事を失ったそうだが、たぶん彼はまだ自分のバカさ加減を分かっていない。

彼の議論を要約すると、以下のようになる。

・世の中には「良い」高齢者と「悪い」高齢者、「良い」透析患者と「悪い」透析患者がいる。

・前者が受けるべき社会保障が、後者がいるために十分受けられない。

・高齢者のうち誰が「悪い」高齢者で、透析患者のうち誰が「悪い」透析患者かは、民間に任せれれば自動的に振り分けられる。

・だから社会保障の運用を民営化することで、「悪い」高齢者と「悪い」透析患者の社会保障が自動的に削減されるようにし、国の借金を減らせ。

以上が長谷川豊の論旨だ。

長谷川豊のような思考回路が単純でバカなリバタリアンの議論はだいたい「高齢者」や「透析患者」の部分を入れ替えれば、同型になる。(リバタリアンの全てがバカなわけではなく、少数のバカなリバタリアンがいるだけだ)

たとえば「透析患者」の代わりに「生活保護受給者」を当てはめれば、バカなリバタリアンの生活保護改善の主張が出来上がる。

バカでない人間なら考えればすぐに分かるが、誰が「良い」高齢者や透析患者や生活保護受給者で、誰が「悪い」高齢者や透析患者や生活保護受給者かを、いったい誰がどうやって決めれば、社会の合意が得られるのだろうか。

長谷川豊のようなバカなリバタリアンは、(1)そんなの常識的に考えればわかる、(2)市場原理に任せれば自然に最適化される、この(1)と(2)のいずれかの考え方、または(1)と(2)の入り混じった考え方を持っている。

まず(1)のような「常識」に頼る考え方が、明らかに社会的な合意が得られそうにないのは言うまでもない。

さすがの長谷川豊も、自分の価値観で「良い」「悪い」をふるい分ければ、それで社会の合意が得られると言い張るほど思い上がっていないだろう。たぶん…。

では(2)民営化して市場原理に任せれば社会保障は市場原理によって自然に最適化されるか、つまり市場原理に任せれば本当に必要な人に給付され、不要な人には給付されないという、公正さが実現するか。

答えはもちろんノーだ。

なぜなら、そもそも社会保障という考え方が出てきたのは、市場原理にすべてを任せると、本当に社会保障を必要とする人に給付が行きとどかなくなり、経済格差が固定化され、世代が下るにしたがって格差が拡大してしまうからだ。

なのでわざわざ国家が市場原理を一部制限し、誰に受給資格があり、誰に受給資格がないかを決める基準も国家が法律で定めて、国家が徴収した税金を再配分する方式を取り入れた。

それが社会保障だ。長谷川豊はそのことさえ分からずに、社会保障の批判をしている。

国家が法律で決める給付基準は、どのように決めても、国民全員が賛成できるものにならない。かならず誰かは反対するような基準になってしまう。かならず反論の余地がある。

また、国家が法律で決める給付基準は、どのように決めても、かならず誰かがその基準の裏をかいて「不正受給」する。絶対に誰も「不正受給」できない制度など、原理上、設計不可能だ。

誰も「不正受給」できない完璧な制度が原理上作れない理由は、国民一人ひとりの生活に、一つとして同じ生活がないからだ。

人によって生活事情は細かく審査しようとすればするほど違いがあり、多様である。

なので、どうしても最大公約数をとって、いくつかのパターンに無理やり分類して法律を作り、このパターンに当てはまれば法律にしたがって自動的に給付します、という制度にするしかない。

受給者一人ひとりの生活を、いちいち長い時間かけて審査していたのでは、その審査だけで社会保障給付以上の費用がかかってしまう。

制度の運用自体に費用がかからないように合理化するには、事情が異なる国民一人ひとりの生活を、どうしてもいくつかのパターンに類型化せざるを得なくなる。

その結果、受給資格を得られるように、それに合わせて自分の生活状況を「偽装」する「不正受給」者が必ず出てきてしまう。

しかし、そういう「不正受給」は、どういうふうに社会保障制度を作っても、原理上逃れられない費用であり、社会保障制度が最初から見越していることである。

「不正受給」を100%無くしたいのであれば、給付前の審査に膨大な費用をかけなければならない。それはそれで社会保障制度全体の費用を押し上げることになる。

「不正受給」されるのをあらかじめ分かった上で、あえて割り切った制度運用をする。それによって「不正受給」という費用と、制度運用にかかる費用の間の最適解を見つけ、社会保障を運用するしかないのだ。

そうすると、当然、国民の誰かは「不正受給」の方に費用がかかりすぎだ!と文句を言う。長谷川豊もその一人だ。

しかし「不正受給」を完全に無くそうとすれば、そもそも社会保障制度を完全に無くすか、給付前の審査に無限の費用をかけるか、そのどちらかの方法しかない。

長谷川豊はバカなので、このように社会保障制度そのものが、「不正受給」の存在を最初から計算に入れていることを全く分かっていない。

社会保障制度は、「不正受給」のコストと、制度運用自体のコスト(=不正かどうかの審査にかかるコスト)の合計が、最小になるように設計する必要がある。

以上の意味で、長谷川豊がブログで書いていることは、完全に矛盾している。

長谷川豊は、「良い」受給者は受けるべき給付を受ける必要があると言い、「悪い」受給者は給付を受けるべきでないと言う。

しかし長谷川豊は、「良い」「悪い」を判別するにも費用がかかるという、ごくごく当たり前の事実を分かっていない。

したがって、もし長谷川豊が自分の議論をあくまで押し通したいのなら、社会保障制度を完全に撤廃するしかなくなる。

つまり、「良い」「悪い」の判別を完全に市場原理に任せることだ。

すると人類の歴史を、社会保障制度の誕生以前の資本主義社会まで、巻き戻すことになる。

長谷川豊は、人類がもう一度同じことを繰り返しても、今度こそ人類は資本主義や市場原理を賢く運用できると信じているのだろうか?

だとしたら誰がそれをできるのか?

誰が運用すれば、人類が過去に犯した過ちを、二度と繰り返さずに済むのか?

そんな神のような全知全能の制度設計の天才の出現を期待しろとでも言うのか?

まさか長谷川豊自身が、自分こそその制度設計の天才だ!と思ってはいないだろう。

ただ、長谷川豊が霞が関の官僚を平然とバカよばわりしていることからすると、官僚たちより自分のほうがましな社会制度の設計ができると思いこんでいるようだ。

長谷川豊を、そこまで思い上がらせているものは何だろうか?

これまで日本だけでなく、すべての先進国が、市場に任せる部分と、国家がコントロールする部分のバランスをとるべく、さまざまな社会制度を設計しつつ試行錯誤してきた。

その200年近くの試行錯誤を経て、今の社会保障制度は、欠点だらけでありながらも、いちおう民主主義の意思決定プロセスにしたがって社会の合意を経た上で、やっとのことで今の姿にたどりついているわけだ。

あらゆる制度は不完全である。したがって必ず反論の余地がある。

しかし何らかの制度を作って、運用せざるをえない。

こうした状況の全体を、長谷川豊は「バカ」というひとことで済ませてしまう。

社会保障制度がそんな簡単に最適解が見つかる方程式なら、誰も苦労しない。

誰の利権にも左右されない完全に公正な社会保障制度がそんなに簡単に作れるなら、誰も苦労しない。

残念ながら、社会は長谷川豊が思っているよりはるかに多様で複雑だ。ただそれだけのことだ。

長谷川豊の主張は、「バカと言う奴がバカだ」の典型的な事例だが、全く笑えない事例だ。