よく言われていることですが、iTunesのMP3エンコーダーのアルゴリズムは良質なものではなく、CDから取り込んでMP3化すると音質が荒れてしまいます。MP3だからしかたがないと諦めるにはまだ早いです。
世の中にはすばらしいMP3エンコーダーが沢山あります。
今回紹介するLameもそのうちの一つ。
まずはGoogle CodeからiTunes Lameをダウンロードします。
http://code.google.com/p/blacktree-itunes-lame/downloads/list
解凍してできたiTunes-LAME.appを/Applicationsディレクトリに移動させます。
次にiTunes-LAME.appを右クリックし、パッケージの内容を見るメニューを選択し、Contents/Resourcesの中のImport with LAME….scptというファイルのエイリアスを作ります。
次にエイリアスファイルは~/Library/iTunes/Scriptsにコピーします。
これだけでiTunesのスクリプトメニューからimport with LAMEのメニューを選択する事ができるようになります。
ただし、このままではiTunes-Lameの真のスピードを体感する事はできません。なぜなら、iTunes LameはMacがインテルCPUになる以前のPPC用のアプリケーションであるからです。
これをインテル化するにはコマンドラインバージョンのLameの最新版を組み込む必要があります。
Lameの最新版は以下からダウンロードできます。
http://www.rarewares.org/mp3.php
次にlameというIntel対応の実行ファイルをPPC用のものと入れ替えます。
先ほどと同様にiTunes-LAME.appを右クリックし、パッケージの内容を見るメニューを選択します。Contents/Resourcesを開くと上の写真のような構成を見る事ができます。この中のlameというファイルを先ほどダウンロードしてきたlameの最新版と入れ替えれば完了です。
iTunes-LAMEで最初にされているオプションは「–alt-preset standard」となっているので、そのまま変換すると、VBR の可変ビットレートとなります。曲の終盤で無音部分が多い隠しトラックなどでは劇的に容量を節約できます。可変ビットレートは情報の量に応じてビットレートを可変させてくれる優れものです。一般的には可変のほうが高音質を稼げるようです。
lameには様々なMP3のエンコーディングオプションが存在するので、下記をご参照ください。
–help, –usage | lameのヘルプを表示.ファイルに出力したい場合は,DOSプロンプトで
lame –help > lame_help.txt のようにすればファイルに出力できる.(標準出力) |
–longhelp | lameの詳細なヘルプを表示する. |
-? | lameの詳細なヘルプを表示する.moreが無効. |
–? | lameの詳細なヘルプを表示する.moreが有効. |
–preset help | –presetオプションのヘルプを表示. |
–version, –license | lameのライセンスに関する文章を表示する. |
-r | 入力データをraw PCM形式とする. |
-x | 入力データを強制的にバイトスワップ(little-endian <=> big-endian)する.Red Book規格準拠の音楽CDのデータ形式はbig-endian,Windows wav形式はlittle-endianとなっている.CDexのオンザフライエンコードなどを行なう場合にこのオプションが必要となる. |
-s sfreq | 入力データのサンプリング周波数sfreq(kHz)を指定.(44.1)
このオプションはraw PCMデータにのみ必要となる.他の形式の場合は入力ファイルのヘッダ情報から決定される. |
–bitwidth w | 入力データのビット幅wを指定.(16)
このオプションはraw PCMデータにのみ必要となる.他の形式の場合は入力ファイルのヘッダ情報から決定される. |
–mp1input | 入力データをMPEG Layer I(mp1)とみなす.入力ファイルの拡張子が「.mp1」または「.mpg」の場合,LAMEは自動的にMPEG Layer Iファイルとみなすが,標準入力もしくは拡張子の異なるMPEG Layer Iファイルを入力する場合にはこのオプションが必要となる. |
–mp2input | 入力データをMPEG Layer II(mp2)とみなす.入力ファイルの拡張子が「.mp2」の場合LAMEは自動的にMPEG Layer IIファイルとみなすが,標準入力もしくは拡張子の異なるMPEG Layer IIファイルを入力する場合にはこのオプションが必要となる. |
–mp3input | 入力データをMPEG Layer III(mp3)とみなす.入力ファイルの拡張子が「.mp3」の場合LAMEは自動的にMPEG Layer IIIファイルとみなすが,標準入力もしくは拡張子の異なるMPEG Layer IIIファイルを入力する場合にはこのオプションが必要となる. |
–nogap <file1> <file2> <…> | 指定したファイル群をギャップレスで(曲間の空白時間なしで)エンコードする. |
–nogapout <dir> | –nogapの出力ディレクトリを指定する. |
–nogaptags | ギャップレスエンコードでVBRタグの利用を許可する. |
-m <mode> |
|
-a | ステレオからモノラルへ音声を変換する(downmix).downmixは左右チャンネルのレベルをそれぞれ半分にし足し合わせることで計算される.このオプションは入力がステレオraw PCMデータのときのみ必要となる(LAMEが入力ファイルのチャンネル数を決定できないため).実際にステレオPCMデータをエンコードするには"lame -m s -a"として実行する.wavファイル,aiffファイルをモノラルエンコードする場合には,"-m m"オプションを使えば入力がステレオでもモノラルでもモノラル音声データが出力される. |
–freeformat | CBRで8Kbps~640Kbpsの任意ビットレート指定が可能となる.
例:–freeformat -b 640 なお,150Kbpsなどのビットレート指定も可能である.ただし対応しているデコーダでしか再生できない. FreeAmp:440kbpsまで in_mpg123:560kbpsまで l3dec:310kbpsまで LAME:560kbpsまで MAD:640kbpsまで |
–decode | デコードオプション.入力にmp3ファイル,出力にwavファイルを指定する.-tオプションをつけるとwavヘッダを取り除き,元々のendianのraw PCMとして出力される.バイトの並び順を変更する(little endian <-> big endian)には-xオプションを使う. |
-t | 出力ファイルにタグ情報を書き込まない.タグ情報にはエンコードの設定など,幾つかの情報が書き込まれており,VBRに対応したプレイヤーではこの情報を元にしてVBRファイルの正確なシーク,再生時間の計算を可能としている.–decode指定時に-tオプションをつけると出力のwavヘッダを取り除き,元々のendianのraw PCMとして出力される.バイトオーダーを変更する(little endian <-> big endian)には-xオプションを使う. |
–comp <arg> | ビットレートの代わりに圧縮比率を指定する.例えば<arg>を20とした場合,1/20のデータサイズに圧縮される. |
–scale <arg> | (浮動小数点データに変換された)PCMデータをarg倍する.したがってargが1より大きい場合音量が増え,1より小さければ音量が減る.ほとんどのデコーダーは32768以上のデコード値を切り捨てるので注意. |
–scale-l <arg> | –scaleの処理を,左チャンネルに対して行なう. |
–scale-r <arg> | –scaleの処理を,右チャンネルに対して行なう. |
–replaygain-accurate | より正確にリプレイゲイン情報を計算する.ただし処理が遅い.リプレイゲインは,曲によってまちまちである音量を予め分析しておき,その情報を元にして自動的に音量を揃えて再生するための仕組みである. |
–clipdetect | クリッピングが生じるかどうかを調べ,適切なメッセージを表示する.また,LAMEタグに音量ピーク値を保存する. |
–preset medium | VBRプリセット.ビットレートは大体150~180kbps程度となる.-V 4 と同じ. |
–preset standard | VBRプリセット.ビットレートは大体170~210kbps程度となる.-V 2 と同じ. |
–preset extreme | VBRプリセット.ビットレートは大体200~240kbps程度となる.-V 0 と同じ. |
–preset fast <type> | 高速なアルゴリズム(–vbr-new)を使用したVBRプリセット.<type>はmedium, standard, extremeから選択する. |
–r3mix | VBRプリセット.-V 3 –vbr-new と同じ. |
–preset insane | CBRプリセット.-b 320 と同じ. |
–preset cbr <bitrate> | CBRプリセット.<bitrate>のビットレートでエンコードする.-b <bitrate> と同じ.指定可能なビットレート |
–preset <type> | ABRプリセット.typeは
phone(ABR 16kbps/モノラル),phon+, lw, mw-eu, sw(ABR 24kbps/モノラル), mw-us(ABR 40kbps/モノラル), voice(ABR 56kbps/モノラル),fm,radio, tape(ABR 112kbps),hifi(ABR 160kbps),cd(ABR 192kbps),studio(ABR 256kbps)から選択する. |
–preset <bitrate> | ABRプリセット.<bitrate>を平均ビットレートとしてエンコードする.–abr <bitrate> と同じ. |
–disptime <arg> | arg秒毎に進行状況を表示. |
-S | 進行状況,VBRヒストグラムを表示しない. |
–nohist | VBRヒストグラムを表示しない. |
–silent | 進行状況,VBRヒストグラムを表示しない. |
–quiet | 進行状況,VBRヒストグラムを表示しない. |
–brief | ブロックタイプの情報を表示する. |
–verbose | 適用されている心理音響モデルの情報など,様々な情報を表示する.–verboseなどの情報は標準出力ではなく標準エラー出力で表示されている.例えば–preset standardの詳細情報をヒストグラムなしでファイルに出力したい場合には
lame –preset standard –verbose –nohist ファイル名 2> standard.txt とすればよい. |
-q <arg> | argは0-9で指定.-q 0 は最高音質,最低速度.-q 9 は最低音質,最高速度. |
-h | -q 2 と同じ.高音質設定. |
-f | -q 7, -q 8と同じ.高速設定.殆どの心理音響モデルを無視するため低音質であり,推奨されない. |
–cbr | 強制的に固定ビットレートを使う. |
-b <bitrate> | ビットレート(kbps)を指定する.(MPEG-1:128kbps,MPEG-2:64kbps)
可変ビットレートの場合,-bオプションは最小ビットレートを指定するオプションとなる.ただし無音状態の場合は,ビットの浪費を防ぐため最小のフレームサイズとなる. |
–abr <bitrate> | 指定したビットレート(kbps)を目標値としてABRエンコードを行なう.指定可能なビットレート範囲は8-320[kbps]であり,この範囲内であればどんな整数でも指定できる.また,-bおよび-Bオプションと組み合わせることにより最小ビットレート,最大ビットレートを制限することができる.
例:lame –abr 123 -b 64 -B 192 |
-v | VBR(可変ビットレート)を使う.(–vbr-oldで) |
–vbr-old | 古いアルゴリズムのVBR処理を使う.VBRモードにはデフォルトで–vbr-oldが適用される.–vbr-oldは最もよくテストされたアルゴリズムであり,非常に高品質のVBRデータを生成するが,処理スピードがあまり速くない. |
–vbr-new | 新しいアルゴリズムのVBR処理を使う.–vbr-newは–vbr-oldに比べて非常に高速な処理となる.(倍以上) |
–vbr-mtrh | –vbr-newと同様の処理.Mark Taylor氏とRobert Hegemann氏によるオプションのためこの名が付いている. |
-V n | エンコードモードをVBRにすると共に,0-9でVBRのクオリティーを指定する.0は高音質大容量,9は低音質小容量.(n=4) |
-b <bitrate> | 最小ビットレート(kbps)を指定する.(32)
ただし無音状態の場合は,ビットの浪費を防ぐため最小のフレームサイズとなる. |
-B <bitrate> | 最大ビットレート(kbps)を指定する.(320)
MAS3503チップを搭載したmp3ハードウェアプレーヤーを使う場合,最大ビットレートを224kbps以下にセットする必要がある. |
-F | 低ビットレート再生をサポートしていないプレイヤーのため,-bオプションで厳密に最小ビットレートを指定する.このオプションを指定しない場合,無音状態のときに最低ビットレートが無視される. |
-t | 出力ファイルにタグ情報を書き込まない.タグ情報にはエンコードの設定など,幾つかの情報が書き込まれており,VBRに対応したプレイヤーではこの情報を元にしてVBRファイルの正確なシーク,再生時間の計算を可能としている.–decode指定時に-tオプションをつけると出力のwavヘッダを取り除き,元々のendianのraw PCMとして出力される.バイトオーダーを変更する(little endian <-> big endian)には-xオプションを使う. |
-T | LAMEタグを強制的に書込む. |
–noath | ATHマスキングを考慮しない.通常は人間の聴覚ではATHしきい値以下の音は聴き取れない. |
–athshort | ショートブロックで心理音響モデルを無視し,ATHマスキングのみを利用する. |
–athonly | 心理音響モデルを無視し,ATHマスキングのみを利用する.非常に高ビットレートのエンコードやATHのテストには有効かもしれない. |
–athtype n | ATHカーブのタイプを0-4の中から選択する.閾値の低い順に1, 2, 3, 0 となるが,1は過剰にセンシティブであり,ビットを浪費する.4の場合はVBRのクオリティやCBR/ABRのビットレートに応じて適切なパラメータを選択する. |
–athlower x | ATHをx[dB]下げる.通常は人間の聴覚ではATH以下のレベルの音は聴き取れないが,非常に小さいレベルで録音された音楽に対しては有用かもしれない. |
–athaa-type n | ATH自動調整タイプを1-3から指定する.それ以外は無調整. |
–athaa-loudapprox n | ラウドネスの近似方法を選択する.n=1:フラット近似(トータルエネルギー)n=2:等ラウドネス曲線で近似 |
–athaa-sensitivity x | ATH自動調整のためのオフセットを調整する.[dB] |
–short | ショートブロックを使用する.(デフォルト) |
–noshort | 全フレームにおいてロングブロックのみを使ってエンコードする.非常に低ビットレートのエンコードの場合には音質が向上するが,深刻なプリエコーを生じる場合がある. |
–allshort | ショートブロックのみを使用する.ロングブロックは使用しない. |
–cwlimit <freq> | freq[kHz]までの調性を計算する.(8.8717) |
–temporal-masking n | n=0:継時マスキングを利用しない.n=1:継時マスキングを利用する. |
–notemp | 継時マスキングを利用しない. |
–nspsytune | Naoki Shibata氏による心理音響モデル「nspsytune」を使う. |
–nssafejoint | 音質が劣化しないときだけM/Sステレオを使う. |
–nsmsfix <arg> | M/Sステレオへの切替え閾値を調整する.0より大きい数値で指定.数値が低いほどM/Sステレオを使う割合が減る. |
–interch x | チャンネル間マスキング(inter-channel masking)比の設定.チャンネル間マスキングは,どちらかのチャンネルで大きな音が鳴るともう片方の音が聞きづらくなるという現象であり,–interchオプションはこのマスキングを利用することで情報量を削減する.チャンネル間マスキングは片方のチャンネルの音が骨を通してもう片方のチャンネルに伝わるのが原因であり,周波数などにもよるが,あるチャンネルマスク量の-20dBから-30dB(0.001)程度のマスキング効果をもう片方のチャンネルに及ぼすと言われる.従ってxとしては0.001やその半分の0.0005,またはそれ以下の値を指定するのがよい. |
–ns-bass x | ロングブロックのsfb 0-6,ショートブロックのsfb 0-5のマスキング閾値調整を行なう.-8 – 8 [dB](バス) |
–ns-alto x | ロングブロックのsfb 7-13,ショートブロックのsfb 6-10のマスキング閾値調整を行なう.-8 – 8 [dB](アルト) |
–ns-treble x | ロングブロックのsfb 14-21,ショートブロックのsfb 11-12のマスキング閾値調整を行なう.-8 – 8 [dB](ソプラノ) |
–ns-sfb21 x | –ns-trebleのsfb 21の値を変更する.[dB] |
-X n[,m] | 量子化を行なう際の評価基準を選択する.0-7で指定.nはロングブロック,mはショートブロックに適用される.mを省略した場合はm=nとして処理される. |
-Y | mp3は仕様上,sfb(スケールファクタバンド)21のスケールファクタが省略されている.この影響で,VBRで高周波成分をエンコードする場合には多くのビットを浪費する.-Yオプションは,CBRのようにsfb21での処理をカットすることでこのようなビットの浪費を抑える.また,–ns-sfb21オプションによってsfb21のマスキング閾値を引き上げるという手段もある. |
-Z | – |
-e <emp> | データにデエンファシスが必要かどうか.ただし,殆どのデコーダはこのフラグを無視するので別ソフトでデエンファシスをかけ,-eオプションなしでエンコードするのがよい.
n:デエンファシスの必要なし 5:0/15 μsec c:citt j.17 |
-c | 著作権のあるデータとしてマークする. |
-o | データがオリジナルではなくコピーであることをマークする. |
-p | 全フレームに16ビットのCRCチェックサムを書き込み,転送エラーを検知可能にする.ただし,エンコードに使うべきビットを使用するため生成されるデータのクオリティは低下する. |
–nores | ビットリザーバは,フレーム間で余った/足りないデータ領域を共有することで全体の音質を維持する仕組みである. –noresオプションを付加するとビットリザーバを使わず,各々のフレームが独立となる.この場合,生成されるデータの音質は低下する. |
–strictly-enforce-ISO | ISO MPEG規格に厳密に準拠する. LAMEからデフォルトで出力されるmp3データは, mp3の仕様を一部無視したものになっている(意味のない制限など).このオプションをつけた場合,高ビットレートのエンコードの際に多くのビットを浪費することになるが,ISO規格との互換性が強化され,ハードウェアmp3プレイヤーでの再生に有効となる可能性がある. |
-k | 周波数フィルタを使用しない.LAMEは通常,自動的に適切な周波数フィルタをかける.これは高周波数データの計算のために,低周波数や他の重要な周波数のビットが取り上げられてしまうためである.このオプションはこのフィルタを全て禁止する.(非推奨) |
–lowpass <freq> | ローパスフィルタの遮断周波数を指定.(kHz) |
–lowpass-width <freq> | ローパスフィルタの減衰幅を指定.(kHz)(遮断周波数の15%) |
–highpass <freq> | ハイパスフィルタの遮断周波数を指定.(kHz) |
–highpass-width <freq> | ハイパスフィルタの減衰幅を指定.(kHz)(遮断周波数の15%) |
–resample <sfreq> | 出力データのサンプリング周波数(kHz)を指定.(エンコード時のみ)(圧縮比率による) |
–priority <type> | Windows用のオプション.プロセスの優先度を指定する.
0,1:優先度低 (IDLE_PRIORITY_CLASS) 2:優先度ノーマル (NORMAL_PRIORITY_CLASS) 3,4:優先度高 (HIGH_PRIORITY_CLASS) パラメータ指定をせずに–priorityオプションを使った場合,優先度は0となる. |
–noasm <instructions> | MMX(mmx)/3D now!(3dnow)/SSE(sse)への最適化をしない.Cyrix/Viaプロセッサ上でLAMEを動かす際に問題が生じる場合にはMMXの最適化をとめることで解決できる可能性がある. |
–tt <title> | タイトル |
–ta <artist> | アーティスト |
–tl <album> | アルバム |
–ty <year> | 年 |
–tc <comment> | コメント |
–tn <track> | トラック番号(1-255) |
–tg <genre> | ジャンル(番号か名前) |
–add-id3v2 | 強制的にID3v2タグを埋め込む. |
–id3v1-only | ID3v1タグのみを埋め込む. |
–id3v2-only | ID3v2タグのみを埋め込む. |
–space-id3v1 | スペースでID3v1タグを埋める. |
–pad-id3v2 | 128バイトのデータでID3v2タグを埋める. |
–genre-list | ジャンルリストをアルファベット順に表示. |
–ignore-tag-errors | ID3タグの入力に関するエラーを無視する. |
MPEG-1 layer III |
サンプリング周波数(kHz):32/48/44.1
ビットレート(kbps):32/40/48/56/64/80/96/112/128/160/192/224/256/320 |
MPEG-2 layer III |
サンプリング周波数(kHz):16/24/22.05
ビットレート(kbps):8/16/24/32/40/48/56/64/80/96/112/128/144/160 |
MPEG-2.5 layer III |
サンプリング周波数(kHz):8/12/11.025
ビットレート(kbps):/8/16/24/32/40/48/56/64/80/96/112/128/144/160 |
クオリティ | vbr- | interch | safe
joint |
Y | nsmsfix | その他 |
-V 9 | old | 0.0008 | – | ○ | – | – |
-V 8 | old | 0.0007 | – | ○ | – | – |
-V 7 | old | 0.0006 | – | ○ | – | – |
-V 6 | old | 0.0004 | – | ○ | – | – |
-V 5 | old | 0.0002 | – | ○ | – | – |
–preset fast medium | new | – | ○ | ○ | 1.62 | – |
-V 4, –preset medium | old | – | ○ | ○ | 1.62 | – |
–r3mix | new | – | ○ | ○ | 1.5 | – |
-V 3 | old | – | ○ | ○ | 1.5 | – |
–preset fast standard | new | – | ○ | – | 1.38 | 最小96kbps |
-V 2, –preset standard | old | – | ○ | – | 1.38 | 最小96kbps |
-V 1 | old | – | ○ | – | 1 | 最小112kbps |
–preset fast extreme | new | – | ○ | – | 0.85 | 最小128kbps |
-V 0, –preset extreme | old | – | ○ | – | 0.85 | 最小128kbps |
(心理音響モデル:nspsytune)
ビットレート | interch | safe
joint |
nsmsfix |
8kbps | 0.0012 | – | – |
16kbps | 0.001 | – | – |
24kbps | 0.001 | – | – |
32kbps | 0.001 | – | – |
40kbps | 0.0009 | – | – |
48kbps | 0.0009 | – | – |
56kbps | 0.0008 | – | – |
64kbps | 0.0008 | – | – |
80kbps | 0.0007 | – | – |
96kbps | 0.0006 | – | – |
112kbps | 0.0005 | – | – |
128kbps | 0.0002 | – | – |
160kbps | – | ○ | 1.64 |
192kbps | – | ○ | 1.38 |
224kbps | – | ○ | 1.1 |
256kbps | – | ○ | 0.85 |
320kbps, –preset insane | – | ○ | 0.6 |
(心理音響モデル:nspsytune)
–tune n | |
–ms-sparsing n | |
–psymodel n | |
–ms-sparse-low n | |
–ms-sparse-high n | |
–shortthreshold x,y | |
–vbr-smooth n | |
–maskingadjust n | |
–maskingadjustshort n | |
–athcurve n | |
–no-preset-tune | |
–substep n | |
–sbgain n | |
–sfscale |
参考http://www001.upp.so-net.ne.jp/yama-k/codec/lame3.95option.html
コメント欄は閉じてますが、ご意見ご感想はtwitterまでお願いします。http://twitter.com/akihik0ma
CUBASE 6 通常版
スタインバーグジャパン 2011-03-18 売り上げランキング : 1006 |