caraudio-toolsがラウドネスノーマライゼーションに対応
開発::util
序
caraudio-2000-jp-toolsはripcdに同梱されている「デジタルプレイリストをCDに焼く」というツールである。
この生まれる時代を間違えたようなツールは、私が2000年代のちょっと古い(デジタルオーディオが接続できず、CDプレイヤーを持っている)車に乗っているために作られた。CD-TEXTにも対応し、名前の通りなんとも2000年臭がする。
このツールは重宝していたのだが、実際に使っていて問題に直面してきた。 CD-TEXTのサポートもそういったことから追加されたものだが、私のオーディオライブラリの幅広さが新たな問題を生んだ。
「曲によって音の大きさがかなり異なり、オーディオのボリュームを一定にできない」という問題だ。
この問題は別にCDにしたから発生するわけではなく、デジタルプレイリストにおいてもそれなりにある問題のはずだ。 だが、プレイヤーによってはプレイヤー自身がラウドネスノーマライゼーションの機能を持っていたりするため、そんなに必要なかったりもする。 しかし、古いCDプレイヤーでは見逃せない問題だ。
本記事では前半は音・音量・音圧とその処理について解説し、後半はそれを実現するためのコードについて解説する。
デジタルオーディオの「音の大きさ」
これを見ている人でオーディオについて理解が深い人はそう多くはないだろうから、そうした面も含めてまずは前提となる知識を解説していこう。
デジタルオーディオはどのようなエンコーディングであったとしても、最終的にはPCMとなる。 PCMは信号のビットマップであり、信号とは振幅である。 音における振幅は、その感覚が短ければ高い音となり、振れ幅が大きくなれば大きな音となる。 この波形をグリッドに当てはめていったものがPCMだ。
このビットマップはちゃんと縦横の単位がある。
縦、つまり振れ幅は最も外側が表現可能な最大の音だ。そして、中心部は全く振れていない状態となる。 縦にいくつのグリッドがあるかはPCMの分解能で決まる。16ビットであれば縦は65536マス、24ビットであれば16777216マスだ。 縦の実際の大きさは出力される大きさにより、0は無限に小さい無音である。 つまり、16ビットでは65536の半分、32786から0を引いた32874段階の音の大きさを表現できる。 波形は上下に振れるため符号付き整数なので要注意だ。
一方、横1マスの大きさはサンプリング周波数に従う。 CDは44100Hzで、つまり横1マスは1/44100秒の時間を示す。
なお、ビット深度については高くなればそれだけ細かな音の大きさを表現できる。 0と最大の間にいくつの段階があるかというものであるからだ。 このことから、実用的に欲しいかどうかはおいといて、ビット深度の高いハイレゾ音源というのはそれなりに意味がある。
一方、サンプリング周波数が高くなると単純により高い音が表現できる。 22.05kHzよりも高い音を知覚する人は別に少なくはないが、48KHzより高い音となると知覚できるのはかなり特殊な人1だけだ。 このことから、96kHzで満足できないとして192kHzを求めるのはなかなか馬鹿げている。
最近はプロ用機材でも24bit/48kHzが主流になってきている。 制作時のビット深度は32bitあるいは64bitの浮動小数点数であることが多い。
さて、ここまで説明してきたように、ビットマップの縦のマスの際というのは「デジタル信号として表現できる最大の音」である。 音楽制作ではこれを基準点として0dBとする。 このデシベルは相対量である。6dBの差は約2倍の量の差となるが、このような指標を使うのは人間が聴覚的に取り扱える音の量に非常に大きな幅があるためで、また、最大の値と0は決まっているが、物理量は決まっていないため、絶対量で表現すること自体ができないためでもある。
音の大きさには特定の基準点を持つ絶対量であるdBSPLが多用されるため、混同しないようにしたい。
0dBを越える大きさの信号は表現不可能だ。 そのような信号が入力されると、ほとんどの場合ノイズになる。 0dBを超過することをクリッピングといい、これによって発生するノイズをクリッピングノイズと言う。
0dBへの道
音楽制作においては、前提として0dBを超過してはならないが、楽曲の最大の音量は0dBとなるように作るのが一般的だ。 例え制作中であってもクリッピングしてしまえばそのクリッピングノイズは残ってしまう。最近の制作環境で浮動小数点数が用いられるのは、途中の段階で整数値の最大を超過しても、これを整数値として吐き出すタイミングで最大値を超過しないように調整すればクリッピングが発生しないという利便性による。
さて、では単純に制作したところ最大の音が-10.0dBだったので、ゲインを10.0dB増加させたとする。 このようにして0.0dBにした場合、楽曲の質によって音の大きさがかなり変わってくる。
つまり、一曲を通じて全体的に統一された音量である楽曲は常に0.0dBに近い音になるが、ごく一部だけ音が大きいという楽曲の場合、その一部以外はかなり小さな音になるのである。
もちろん、そのような非常に落差のある楽曲あるいは演奏であれば望ましいかもしれないが、一定のボリュームではとても聴けないとなると話は別だ。 このため、音の大きさをある程度の範囲に収める必要が出てくる。
この処理はひとつの方法では片付けられない。 例えば、音が小さい部分である楽器が埋もれてしまって聞こえないということがあれば、その楽器の帯域を上げるイコライザを用いたり、そもそもミックスとしてその楽器の音量を上げてミックスするということも考えられる。
だが、最も単純かつ効果的な方法はコンプレッサーを使うことである。 コンプレッサーはある一定以上の音を最大で一定の比率となるように圧縮する。 例えば、-10dBを1:2で(即時)圧縮するとすれば、最も大きい音は-5dBに収まるようになる。
これによって音の特に大きい部分の頭を潰し、さらにそれで空いたヘッドルームの分ゲインを増加させることで、曲を通じて聞かせたい部分の音量が聞きやすい音量となるようにする。
コンプレッサーは聴覚的な影響が大きいため、コンプレッサーの段階では余裕を持って、違和感がないようにかけるのが一般的だ。 そして最終的にクリッピングしないように最大化するために、機能的には同様だが、0dBへの最大化に焦点を当てたリミッター(マキシマイザー)というものを用いる。
音圧問題
1曲だけにフォーカスした場合、このようにして音の大きさを最適化することができる。 しかし、複数の楽曲に関わるとそれだけでは済まない。
例えば、とても静かなピアノジャズと、強烈なヘヴィメタル、そして重く響くEDMがあったとする。 これらは同じ音量でかけても、体感的に同じ大きさであるとは思えないはずだ。 しかし、実際にはほとんどの場合、ちゃんと最大のゲインは0.0dBに合わせられている。
このような「体感的な音の大きさ」が音圧(ラウドネス)である。 音量(ゲイン)は信号の強さだが、音圧は体感的な問題であり、人は一定の音圧であれば一定のボリュームで聞くことができるとされている。
これは、計測しなくても波形を見ればだいたい分かるものだ。 0dBに到達しているという前提だと、波形を(線形ではなく、0からの間を塗りつぶす形で)表示したときに疎であれば音圧は低いし、密であれば音圧は高い。 白地に波形を黒で描いた場合、密な波形はそのほとんどを黒で塗りつぶすことから、このような密な音源を「黒い音(波形)」と呼んだりする。
一時期は「音圧は高ければ高いほど良い」とされたりもした。 これは、単純に音圧が高いほうが良い音に聞こえるという都合であり、要は音圧が高いほうが売れたのだ。
だが、近年は「最適な音圧というものがある」という考え方になっている。 これは特にデジタル配信において、音圧が高すぎる楽曲は繊細な楽曲と並べるのが困難になるといった理由から来ている。 そして基準としておよそ-14LUFSという値があり、その計測方法ももちろん確立され、音圧の検証・観測・最適化のためのツールも充実してきている。
このことから配信プラットフォームが前提になっているようなごく最近の音源に関しては、ジャンルを問わずだいたい同じような聴覚上の音の大きさになっている。
だが、手持ちのオーディオライブラリからだとそうはいかない。
アナログ中心でリリースされていた頃の初期のCDは、そもそも0dBに近づけることすら難しかったため、単純に音が小さい。 90年代の楽曲は、どちらかというとダイナミクスを大きく取る傾向があったために0dBに上げてはあるものの全体的に疎な楽曲が多い。 そして、音圧競争時代の楽曲は音圧が高すぎる。
これらの楽曲をひとつにまとめようとすると、かなり差が出てしまうのだ。
一般的なラウドネスノーマライゼーション
一般的なラウドネスノーマライゼーションの考え方は、音楽制作よりも放送業界の概念であると言っていい。
もし番組によって音量が大きく違えば、視聴者は頻繁にボリューム調整を行う必要があり、非常に聞きづらい。 また、調整を行わなければ、大きな声で話す人の番組は、小さな声で話す人の番組よりも良いことを言っているように聞こえてしまう。
このような音圧調整は結構昔から行われていたのだが、CMに対してそれが適用されないため、「CMになると爆音になる」という問題があった。 2012年にCMに対する基準音圧が適用され、運用され始めたが、これは「平均音圧」であるためにこの規制をすり抜けて爆音を轟かせるCMが跡を絶たないという問題はある。 (静かなシーンからいきなり大きな音に移るなどだ。)
ともかく、テレビ番組では早い時期からラウドネスメーターが導入されていたし、-24LKFSという基準値もある。 ちなみに、その前はRMSという量ベースの方法で管理されていた。
ちなみに、LKFSとLUFSは同じものであり、資料に使われている単位に従っているだけである。 混乱しないようにしてほしい。
このようなラウドネスノーマライゼーションの考え方はデジタル配信に波及した。 その基本的な手法は、ラウドネス値が基準値を上回る場合、一括して音量を下げるというものだ。
だが、配信のほうではあまりうまく行っていないように感じられる。 特にYouTubeはひどいもので、音量には相当な差が発生している。 ちゃんと0dBまで鳴るようになっている動画がある一方で、-20dBにも届かないトーク番組などもあり、音量をものすごく上げないと聞き取れなかったりする。
このような場合、音を鳴らすのはYouTubeだけではないから、他の音が爆音で鳴って困ってしまったりするし、ラップトップなんかだと最大ボリュームでも聞き取れなかったりするので、私はYouTubeについてはPulseAudioにコンプレッサーを挟んで無理やり音を上げている。
音楽制作における音圧調整
音楽制作でも音圧調整が必要な場合がある。
それは例えばアルバムである。 アルバムの場合、静かな曲と激しい曲があったりする。
それらの曲は単体では最適化されているはずだが、アルバムにするとアルバムの中でその曲を聞かせたい音の大きさと異なる場合がある。
もっと難しいのはベストアルバムなど、古い曲と新しい曲の両方を収録するようなケースだ。 単純にいれただけでは、聞いた感じはかなり大きく異なってしまう。
ここで活躍するのがリマスタリングだ。 マスタリングは、ミックスダウンによってステレオの音源として(普通は0dBに合わせて)出力された音源を、さらに整える作業である。 リマスタリングは、このマスタリングによって一度整えられた音を、さらに加工して整え直す作業だ。
リマスタリングに関しては、マスタリングまでの過程で失われた(圧縮された)ものは戻らないし、基本的に情報は失われるだけで質を向上させることはできないはずだが、マスタリングエンジニアの手にかかると見事なまでに楽曲が生き生きとする魔法のような作業である。
リマスタリングの目的は楽曲単体に対するものというよりも、マスタリングされた楽曲をアルバムに適合される作業という側面が強い。 そしてこの過程で、それぞれの楽曲がアルバムとしての統一感を持つように音圧を含めて調整されるのである。
この作業でメインのツールは、やはりコンプレッサーとイコライザである。 単にゲインを下げるだけの配信サービスのものとは全く違ったものであり、結局のところ音圧の最適化は自動で行うのはかなり難しい2。
音圧調整において「音が小さいから音を上げる」ということはできない、というのを再認識する必要がある。 音圧が小さく、音が小さいと感じられるものであっても、普通は最大音量は0dBに届いているから、ゲイン増加はクリッピングしてしまう。
この状態では音圧を稼ぐ単純な方法はコンプレッサーだが、音圧の値だけを見てどのようにコンプレッサーをかけるべきか判断することはできない。 それにコンプレッサーは音が変わるので、安易にもかけられない。 マスタリングでの音圧調整は高い技術力が発揮されているのだ。
caraudio toolsでの採用
検討
以上を踏まえて今回の問題の本質に戻ろう。
問題は、「カーオーディオでCDを再生したとき、音の大きさの差が大きく、何度もボリュームに触る必要がある」というものだ。 その対策を導入するとすれば、考えられるのは
- 単純に0dBターゲットでゲイン調整だけ行う
- 機械的なラウドネス調整を行う
- 本気でラウドネス調整に取り組む
の3つが考えられる。
ゲイン調整だけでは、あまり効果はないだろう。 何度も述べているとおり、ほとんどの音源は0dBに合わせてあるからだ。 極端に音が小さく感じられるものはゲイン自体足りてないこともあるので無意味ではないが、相当消極的な方法だ。
では、本気でラウドネス調整することができるだろうか?
ラウドネス分析を行う方法としては、次のようなものが利用できる。
ffmpeg -i $input_file -af ebur128 -f null /dev/null
Linux上にはスクリプトから使えるコンプレッサーもある。
私としては「波形を見てアタリをつけてコンプレッサーをかける」くらいの技術はあるので、それをスクリプトに落とし込むことはできる。 だが、そこには「加減」というものがあるのだ。
EDMだが音が小さくなっており、最適化したらかなり黒くなる曲と、しっとりと広いダイナミクスで聴かせる曲は同じマスタリングにはできない。 しかし、ツールとして自動で処理できないのであれば、それはAudacityで簡易的に調整するのとあまり変わらない。
そこで、まずは配信サービスのような機械的調整にプラスアルファを加えたものを導入した。
それがnormalize-wav4cd
である。
step 1 オーディオゲインの最大化
このツールは3つのステップで処理を行う。
まず、ファイルの最大オーディオゲインの確認は
ffmpeg -i $input_file -vn -af volumedetect -f null -
のような形で、標準エラー出力に吐くことができる。 これに基づいて
ffmpeg -i $input_file -vn -af volume=${value}dB $output_file
という形でゲインを増やすことができる。 クリッピングしない限り、このゲインの増加は音質に影響を与えない。
これで0dBターゲットのWAVファイルが揃った。
step 2 ノーマライズ
次に、ノーマライズを行い、ラウドネスがターゲットLUFS値に収まるようにゲインを下げる。
これにはffmpeg-normalize
を使う。
このプログラムは複数のオーディオファイルをまとめて渡すことができるが、別に音圧品質を揃えるように処理するわけではなく、単純にターゲットLUFS値に入れようとする。 つまり、ほぼ配信サービスと同じようなことをやる。
これでそれぞれのオーディオファイルのゲインが下げられ、音は小さいが、同じような音圧に感じられるファイルが揃う。
step 3 オーディオゲインの調整
これで音圧は揃ったが、おしなべて音量も低い。 やはりオーディオというのは0dBターゲットにすべきであり、普通のCDと比べて音圧が著しく小さいというのもそれはそれで扱いにくい。
このバランスを保って音量を増やすため、ノーマライズの結果最も音量が大きくなった(つまり元音源の音圧が最も低かった)音源を基準として、その音源がクリップしないようにすべてのオーディオファイルのゲインを同じだけ上げる。
ちなみに、LUFSとdBは対応関係にあり、指数的な値なので、すべてのオーディオのゲインを等しく上げても音量の比は崩れない。 つまり、単純に5と6と、30と31ではその差は違うが、これがdBであればそうはならないのだ。 1dB大きければ、量は常に約1.122倍多い。
なお、同じ理屈で、単体のオーディオファイルで一律にゲインを上げ下げしても、ダイナミクスのバランスが破壊されることはない。 最低限の注意(クリッピングさせない、意味のある最小ゲインよりも小さくしない)を守れば非破壊的な変更が可能だ。
対してコンプレッションなど、波形を変化させることでラウドネスを操作することは、常に破壊的変更であり、細心の注意を必要とする。 だからこそ、難しいのだ。
なお、動画を配信サービスで公開する場合、ラウドネスノーマライゼーションの対象にならなければ再エンコードされなかったという前提であれば、ラウドネスノーマライゼーションによって再エンコードされた分だけ劣化する。 配信サービスのエンコードパラメータはかなり雑であったり、あるいは配信サービスが使っているエンコーダの品質3が悪かったりすることもあるので、
特に元の音圧が小さい音源がふまくれていると、その音源が収録されたCD並の音圧に揃えられてしまう(ので、全体的に音が小さい)ということではあるが、普通に-10dBとかになるため、上げないよりはずっとマシだ。
これで、もともとの音圧が最も低かった音源が-0.1dBとなり、ラウドネスが揃うようにゲインを調整されたオーディオファイルができた。
ちゃんと自分で調整したい
HAL Specialへの道
これはもう、自分の腕と経験をどれだけ信用できるかという話とイコールだ。 実際にいくつかの音源をテストして、自分なりの仮定に基づいて仮のパラメータを作った。
- ターゲットLUFSは-8LUFSとする。最近のCDで、私の好みで言えば-7〜-8LUFSあたりに落ち着いているため
- 8LUFS上げるためには(クリッピングすることはないと仮定すると)単純に+8dB上げれば良い
- 8dBのヘッドルームを作るにはThreshold X, Ratio
Yのとき、
X / Y = 8
であるようにすれば良い - 0dBに到達しているにも関わらず音圧が非常に低い音源は大抵の場合スパイクが立っていて、実際の音波形はすっかすかである
- そのため、すっかすかの領域に高いratioで圧縮をかけるのが効果的
- 初期のCDのものであっても必要な音の厚みはちゃんと整っていてスパイクが立っているだけなので、平均ゲインはだいたいその曲のちゃんと鳴っている部分に近い
- そこで、-12LUFSを下回る場合、Mean Volumeをthresholdとして9:1で圧縮する
- attackは0に限りなく近くないとスパイクは潰せない。ここではattackに
0.1
を採用する
スパイクというのは信号の意図から外れて大きな信号が入ってしまっている箇所のことだ。 通常、音声波形における「スパイク」というのは異常値のことを指す。つまり、意味のある信号ではないにも関わらず、そこだけ極端に大きな信号が入ってしまっているものだ。 単純なゲインマキシマイズは最大の信号が0.0dBになるように行われるため、そのような信号があるとゲイン増幅の妨げになる。
ただ、今回の場合は別の種類のスパイクがある。それは、古い、しかし手間をかけて作られているタイプの音源における意図的なスパイクである。 基本的に、ドラムのようなインパクトの強い音というのは瞬間的に立ち上がる音であるため、信号は強いがそこまで目立たない。 特にキックの押しの強さを求めてこのような落差のある音がそのまま残された。
しかしデジタルミキシングが成熟されてくると、リズムを立てるというようなことはエフェクトなど他の方法で行われ、頭は潰してしっかり音を前に出すというのが行われるようになった。 繊細なダイナミクスよりも音圧を稼ぐことが良しとされたわけだ。結果として、音源の時代によって音圧にかなりの差がある。
潰してしまったものを元に戻すことはできないので、どちらかに合わせるなら潰す方向になる。 ここでは古い音源で立っている音もスパイクとみなして潰していく。
以上を踏まえて実際にやってみよう。
谷山浩子さんの「冷たい水の中を君と歩いていく」は-20.3LUFS、Mean Volumeは-23.1であった。 ただし、Mxa Volumeが-4.0dBであったため、まず+4.0dBする。 これで-16.3LUFS, Mean Volumeは-19.1となる。(+4.0dBしたのがそのまま反映される。)
さきほどのメソッドに従ってThreshold 19.1, Ratio 9:1で圧縮する。 これで-22.8LUFS, Max Volumeは-12.4, Mean Volumeは-25.6である。
+12.4dBするとMean Volumeは-13.2, Max Volumeは-0.0となる。 LUFS値は-10.4となり、-12を上回った。
続いてTHE CHECKERSの「Long Road」である。 こちらはMean Volume -20.6, Max Volume 0.0, -15.1LUFSというものである。
20.6dB:9:0.1:200で圧縮したところ、Mean -29.1dB, Max 13.2dB, -24.9LUFSとなった。 そして13.2dB上げると-11.7LUFSとなる。
雑な経験則と軽いテストであったが、この方法でちゃんと-12〜-8LUFSに収まるようだ。 圧縮感に関しても、ヘッタクソなコンプレッションという感じでヘッドフォンで聴くとちょっと気になるが、カーオーディオならいい感じに聞けそうな感じになった。
ただ、めちゃくちゃ爆音に聴こえるBRADIOの「Flyers」は-4.7LUFSであり、範囲内に収まっていてもボリューム操作なしで過ごすことはできない。 元の音源がゲイン調整だけでどうにもならないような形になっている(スパイクの立った細い音源である)ということは解消されているはずなので、ゲイン調整で整えられるはずだし、その方法で整えればアルバム間での聴覚的な音の大きさの差もそこまで極端なものにはならないはずだ。
なので、このように圧縮処理を加えた上でffmpeg-normalize
によるゲイン調整を行えば、大体いい感じになる。
このような処理を反映したのがnormalize-wav4cd-halspl
である。
繰り返すが、これは聴取環境のあまり良くないカーオーディオ向けの調整であって、静かな部屋でヘッドフォンで聴くために使うには許容できない処理である。 もしもそのような目的であれば、ゲイン調整だけにとどめておくべきだろう。
スパイク潰し
ここからさらに、もう一段階処理を加えることにした。「本当のスパイクを潰す」という処理だ。 本当に異常値であるスパイクが立ったままになっている市販CD音源というものはそうあるものではないが、大きな信号が入ってしまっているというレベルであればあることだ。 次のようにすることでRMSをリアルタイムに確認することができる。
ffmpeg -i $input_file -af astats=metadata=1:reset=1,ametadata=print:key=lavfi.astats.Overall.RMS_level -f null /dev/null
これは1フレーム単位のRMS(平均)なので、明らかなスパイクによって0.0dBが示されることはない。 これで探すことができる最大ゲインよりも大きな音は、突出して大きな音だと考えられる。 少し危険な賭けだが、これで検出された最大音量に基づいて強く圧縮を行う。
ffmpeg -i $input_file -af acompressor=threshold=${max_gain}dB:ratio=20:attack=0.1:release=20 -f null $output_file
試した感じ、圧縮対象が薄い部分に限られるため、聴覚的な変化はMean Volumeでの圧縮に比べるとかなり少ない。 これをして0.0dBまで上げたあと、Mean Volumeでの圧縮を行えば2段階の複合コンプレッションを行ったようなものなので、聴覚的変化を少し抑えられる。 Mean Volumeでの圧縮はやはり大きな聴覚的変化をもたらすので、可能なら控えめにしたいのだ。
この工程を加えることで、最終的な音圧をさらに少しだけ稼げるようになった。 実際のところこれらの処理では-8LUFSまで上げることはできないため、可能な限り音圧を上げられればノーマライゼーション時に下げる音量が少なくて済む。
問題はないのか
もちろんある。 例えば「くるみ割り人形」はどうだろう?
チャイコフスキーの「くるみ割り人形」は非常に大きな落差のある組曲だ。 第二楽章「金平糖の踊り」の出だしはチェレスタによる非常に静かな演奏である。 しかし、第三楽章「ロシアの踊り」は非常にアタックも強い盛り上がりのあるものになっている。
もしこのような音源をこの手法で-8LUFSに近づけたら、情緒のカケラもない爆音チェレスタが誕生してしまうだろう。
…と、さもとても問題があるように書いたが、私は「概ね問題ない」と考えている。
私がEF4に持ち込んだ自作曲は、会場でも静粛にしていればわずかに聴こえる程度の非常に静かなイントロから入り、少しずつボルテージを上げていってサビで一気に上げるというものであった。 エクスプレッションペダルを用いて音量を抑えているので、曲を通じて非常に音量落差が大きい。
このような楽曲、演奏はコンテスト、あるいはコンサートでは高い評価を受けるが、CDには向かない。 そのため、私がこれを収録するときにはエクスプレッションペダルを除外して収録した。 SoundCloudで公開しているものもこのバージョンだ。
それでも演奏と楽器の設定によりある程度の落差はあるのだが、エクスプレッションペダルで生じるほどの音量落差はない。
エクスプレッションペダルの除外は、つまり「情緒の欠落」といっていいような作業なのだが、CDで聴く分には十分な情感を持っているように感じられるし、ずっと聴きやすい。
ましてノイズの多い車中で聴くなら繊細な部分なんて聞き取れるはずもないので、クラシック楽曲でさえがっつり潰したほうが良いくらいだ。
そして「くるみ割り人形」のように静かな部分と激しい部分がある曲は、激しい部分が潰されて激しい部分の中の落差が消えるだけで、チェレスタは相変わらず静かなままというのが現実だ。 チェレスタが爆音になるような圧縮を行うと-8LUFSどころでは済まない。
これらを踏まえると「CarAudio Toolsにあるラウドネスノーマライゼーションツール」という位置づけとしては、「概ねOK」というのが私の見解だ。