※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。



MPEG4 AAC LC エンコード


NeroDigital Audio のリンクを修正[2009-01-13]
NeroDigital Audio のリンクを修正[2007-11-13]
BeHappy のリンクを修正[2007-09-05]
MyWiki より転記[2007-05-5]
追記・修正[2006-06-12][2006-03-25]

条件は2つ
  • Vodafone 904T で再生できること
  • Nero、Winamp はインストールしないこと

とりあえず、転送・再生を確認したもの。
エンコーダ・ラッパー・フロントエンドの組み合わせは色々出来るだろうけど。

Nero AAC codec / May 1 2006 (neroAacEnc.exe)

[2006-05-06]
Nero Digital AAC Codec
(2009-01-13 現在、Version 1.3.3.0 リリース:September 17, 2008)

Nero Digital Audio ver.1.0.0.2 (May 26 2006 版)
[2006-06-04]
複数のWAVEファイルをひとつのMPEG-4ファイルにエンコードできるようになりました。
(サンプルレートが同じでなければならない。)
meta フィールドにチャプターリストとして保存されます。

エンコード
path\to\neroAacEnc.exe [options] -if <input-file>
  -of <output-file>

foo.wav と bar.wav を baz.m4a にエンコード
neroAacEnc.exe -br 96000 -lc -if "foo.wav" -if "path\bar.wav"
  -of baz.m4a

オプションの詳細は readme.txt 参照のこと

  • 入力ファイルは、PCM WAVE
  • デフォルトのエンコード品質は -q 0.5 (192kbps相当。-q 0.225 で 96kbps 相当)
  • AACプロフィール(LC,SBR,PS)は、-lc,-he,-hev2 を指定しなければ、
  エンコード品質(quality/bitrate)により自動で切り替わる。

デコード
path\to\neroAacDec.exe -if <input file> -of <output file>
  [-chapter <number>]

baz.m4a のチャプターリストを表示
neroAacTag.exe baz.m4a -list-chapters

Processing file: "baz.m4a"
  Chapter list:
    1. 0:00.000 - 4:49.176
    2. 4:49.176 - 9:38.353
  End of chapter list.
No changes made to the file.

残念ながら、vodafone 904T ではメタデータには対応していませんので、
単一の曲として認識、演奏されます。
foobar2000 0.9x では subsong として正しくプレイリスト表示、タグ情報取得、
演奏されます。

BatchEnc

path\neroAacEnc.exe -q 0.5 -lc -if <infile> -of <outfile.m4a/mp4>
path\neroAacEnc.exe -cbr 96000 -lc -if <infile> -of <outfile.m4a/mp4>

foobar2000

VBR
エンコーダー: path\neroAacEnc.exe
拡張子:m4a/mp4
パラメーター: -lc -ignorelength -q 0.225 -if - -of %d
表示名:Nero AAC Codec VBR q0.225
CBR
パラメーター: -lc -ignorelength -cbr 96000 -if - -of %d
表示名:Nero AAC Codec CBR 96kbps

1.foobar2000 メニュー [File]→[Preferances]→[Tools]→[Converter]
  →[Encodeing presets]→[Add new]ボタン
  [Encoder] に [MP4(Nero)] を選択、Mode,Quality を設定→[OK]
2.Plalist上で右クリック→[Convert]→[Convert to]
  複数ファイルの multichapter 付き single MP4 file へのエンコードは、
  [Convert]→[Convert album images with cuesheets or chapters]
3.エンコーダを選択→OK

▽0.9.2 で、Nero Digital Audio がサポートされました。(2006-06-12修正)
 -neroAacEnc.exe のあるフォルダを指定する。
 -プロファイルの指定(-lc,-he,-hev2)はできない。(quality により決定される)


SNG



Nero AAC Encoder (aacenc32.dll)

バージョン・フロントエンドによってオプションの指定方法が違うので注意。

Nero Frontends (aacenc32.exe) + Ahead AAC Encoder v2.9.9.96

aacenc32.exe と aacenc32.dll v2.9.9.96、NeroIPP.dll v1.0.2.6 を同じフォルダに置く。
( 8balls に同梱のもの)

Usage:
 aacenc32.exe [options] <infile> [outfile]
OPTIONS:
CBR (constant bitrate):
 -cbr <bitrate> set the bitrate in kbps (16 - 448)
VBR (variable bitrate, the default):
 -vbr <VBR mode> set the VBR mode:
  tape - lowest
  radio - low
  internet - medium
  streaming - medium
  normal (default) - high
  extreme - high
  audiophile - higest
  transcoding - ultra
Quality:
 -quality <quality> set the encoder quality. Use "high" (default) for
  high quality or "fast" for fast encoding
AAC encode profile:
 -profile <profile> set the encoder profile ("LC" or "HE").
TAG options:
 -artist <value>
 -album <value>
 -title <value>
 -track <value>
 -genre <value>
 -year <value>
 -comment <value>
Miscellaneous:
 -pns switch on PNS mode
 -k keep all frequencies
 -lowpass <freq> frequency (Hz), lowpass filter cutoff above "freq"
 -highpass <freq> frequency (Hz), highpass filter
 -aac output to ISO 13818-7 AAC (default output - .mp4/.m4a
  container)
 -nofir disable FIR-prefiltering
 -notag disable any tag fields written
 -fir <taps> taps count for FIR filter (5-2048), default 128
 -zs kill zero samples at the begin & end of the
  input file
 -mono [param] convert input file to mono, "param" may be
  "left" "right" "mix" (default) or number of channel

Examples:
 aacenc32 -cbr 128 input.wav output.mp4
 aacenc32 -vbr [mode] input.wav output.mp4

(aacenc32.exeを使ったcbrはlowpass filterがかかる場合があるという噂-未確認)

Batchenc
aacenc32.exe -vbr radio <infile> <outfile.mp4>

mp4creator,mp4creator60,mp4info のフロントエンドとしても。

foobar2000 0.83 + CLI Encoder
1.Preferences → Components → Diskwriter → 出力のプリセット → 新規追加
  Commandline Encoder を選択
エンコーダー: path\aacenc32.exe
拡張子:mp4
パラメーター: -cbr 128  %s %d
表示名:aacenc32 AAC LC 128 とか

2.Playlist 右クリック → Convert → プリセット名を選択 → OK(mp4 出力)

NAACEnc1.20 (NAACEnc.exe) + Nero AAC Codec 3.2.0.30

NAACenc.exe と、NeroIPP.dll、aacenc32.dll、Aac.dll、wav.dll、aacplus.dll を
同じフォルダに置く。(Nero-6.6.1.4 体験版自己解凍形式圧縮ファイルより抽出)

Usage:
 NAACEnc <Mode> <Switches> <InFile.wav> <OutFile.mp4>
Mode:
 VBR:
  -tape
  -radio
  -internet
  -streaming
  -normal
  -extreme
  -audiophile
  -transcode
 CBR:
  -cbr<n> (n = 16,20,24,28,32,40,48,56,64,80,96,112,128,
  160,192,224,256,320,388 or 448 Kbps)
Switches:
 Encoder quality:
  -qh (High) (Default)
  -qf (Fast)
 AAC profile:
  -lc (Low complexity) (Default for CBR > 96 Kbps and VBR > 'streaming')
  -he (High efficiency) (Default for CBR <= 96 Kbps and VBR <= 'streaming')
 Misc:
  -mono (Downmix to mono)
  -exportiso (Export ISO 13818-7 AAC track)
  -hinttrack (Create hint track for streaming server)
  -pns (Enable PNS for very low bitrate)
  -muxvideo (Mix audio into existing video .mp4 files)
Examples:
 NAACEnc -extreme input.wav output.mp4
 NAACEnc -cbr96 input.wav output.mp4

foobar2000 0.83 + CLI Encoder
1.Preferences → Components → Diskwriter → 出力のプリセット → 新規追加
  Commandline Encoder を選択
エンコーダー: path\NAACenc.exe
拡張子:mp4
パラメーター: -radio -lc -qh %s %d
表示名:Nero AAC LC radio とか
2.Playlist 右クリック → Convert → プリセット名を選択 → OK(mp4 出力)

foobar2000 は対応フォーマットが多く、cueシートにも対応しているので、
EAC でリッピングした Losslessオーディオなどの分割エンコードできる。

foobar2000 0.83 + FAAC (libfaac version 1.24)

デフォルトの設定で
FAAC:MP4(LC),quality 100,mid/side coding & TNS enabled
ビットレート指定なし

Quick Time Pro 6.5.2

ファイル→書き出し→ムービーからMPEG4→オプション→オーディオを選択
オーディオトラック:ミュージック
128kbps
チャンネル:ステレオ
サンプルレート:推奨
エンコードの品質:高品質

CT(Coding Technologies) AAC(enc_aacplus.dll)


Command-line frontend for WinAmp AAC+ v2 encoder(aacEncPlus.exe)


AACPlus v2 Encoder (using Winamp 5.2 enc_aacplus.dll)(enc_aacPlus.exe)


Usage:
enc_aacPlus <wav_file> <bitstream_file> [options]
Options:
  --cbr <bitrate> - Set bitrate (CBR) to <bitrate> bps.
  Default is 48000
  --nops - Disable Parametric Stereo
  --is - Prefer Independed Stereo
  --dc - Prefer Dual Channels
  --mpeg2aac - Produce MPEG2 AAC isntead of MPEG4 AAC
  --lc - Encode LC-AAC instead AAC+ (bitrate up to 320000)
  --high - use aacPlusHigh Encoder (bitrate up to 256000,
  multichannel is not supported)
  --mp4box - Wrap result into MPEG4 container (MP4BOX.EXE must be into
  executable directory)
  --rawpcm <rate><cnt><bp> - Signal RAW PCM input intead of WAV
  <rate> - Samplerate in Hz (32000, 44100 or 48000)
  <cnt> - Channels count (1 or 2)
  <bp> - Bit's per sample (8 or 16)
WARNING: this encoder can read and encode data from stdin:
  use - as input filename

CT aacPlus.dll の エンコード・モードは3種
1. LC Mode = AAC-LC ・・・・・・・・・・・・・・・・Encoder: AAC-LC
2. SBR-HE Mode for low Bitrates = AAC+,HE-AAC+PS・・Encoder: aacPlus v2
3. special oversampling SBR mode = AAC+high ・・・・Encoder: aacPlusHigh

各モードに対応したビットレート・チャンネルモードは
AAC-LC
 8~160 Mono | 16~320 Dual/Independent/Stereo
aacPlus
 8~64 Mono | 16~48 PS | 16~128 Dual/Independent/Stereo 
aacPlus HighBitrate
 8~16, 64~160 Mono | 96~256 Stereo | 128~320 Dual/Independent 

PS は 16~48kbps のみで有効になるので、96kbps を選べばSBR(PSは無効)になる。
つまり、cbr 96kbps stereo では、以下の3モードでのエンコードができるということ。
AAC-LC (- output.aac --cbr 96000 --lc --mpeg4aa)
aacPlus (- output.aac --cbr 96000 --mpeg4aac)
aacPlus HighBitrate (- output.aac --cbr 96000 --high --mpeg4aac)

但し、低ビットレート(96kbps未満)では、--lc オプションを付けても(LC-AAC
Encoder使用)、HE(SBR)と判定される。仕様なのか、エンコーダまたはデコーダの
問題なのかは不明。
16,24.m4a  2ch stereo(L+R) 11.025KHz   SBR
32.m4a     2ch stereo(L+R) 16KHz       SBR
40.m4a     2ch stereo(L+R) 22.05KHz    SBR
48~96.m4a 2ch stereo(L+R) 32KHz       LC
96~320.m4a    2ch stereo(L+R) 44.1KHz LC

また、aacPlus v1 を指定することも可能で、ややこしい。

foobar2000 0.91b1 + CLI Encoder (enc_aacplus.exe)

1.以下の2つのファイルを任意のフォルダに置く。
  enc_aacplus.exe BeHappy : Releases:にある enc_aacplus_20060226.zip)
  enc_aacplus.dll (MediaCoder 同梱)
  (いずれも BeHappy_20070324.exe パッケージ に同梱。2007年9月現在)
2.foobar2000 0.91b1 の設定
  Preferances → Tools → Converter → Encoding Presets Add new →
  Custom を選択

Encoder: path\enc_aacPlus.exe
Extension: aac
Parameters: - %d --cbr 96000 --lc --mpeg4aac
表示名:AAC (CT), cbr 96

3.Playlist 右クリック → Convert to → プリセット名を選択 → OK(aac 出力)
4.コンバートされた aacファイルを foobar2000 0.83 で開き、
  Playlist 右クリック → MP4 Utilities → Covert to MP4 → mp4 出力
  (mp4box でMP4コンテナ化する場合 (--mp4box) の問題は、MediaCoder と同じ。)
  同様にして、MP4コンテナから aacオーディオを取り出す事が出来る。

BeHappy

2007年9月時点での最新版は このあたり
0.1.0.37253(2006.02.02)版

1. Avisynth 2.56以降 インストール
  読み込んだソースの合成に、AudioDubEx(v2.56以降追加)が使われるので。
2.MP4Box.exe、enc_aacplus.exe、enc_aacplus.dll を BeHappy と同じフォルダに。
3.[1]Source(タイプとファイル)を選択、
  [4]Destination(エンコーダとプリセット)を
   [ Coding Technologies AAC-LC xxx as ADTS AAC ] にセット、
  必要に応じて[…]で詳細設定
  [Add to Job Control] → [Start]

[ Coding Technologies zzz in MP4 container ] を選択、mp4box でMP4コンテナ化
すると、904Tでは再生できない。

MediaCoder 0.3.7 build 1710 + enc_aacplus.dll (同梱)

MediaCoder
 http://mediacoder.sourceforge.net/
 http://www.hydrogenaudio.org/forums/lofiversion/index.php/t36870.html
日本語化
 http://hibiheion.seesaa.net/ 
1.MediaCoder Full Pack インストール後に la version をインストール

2.CT AAC(enc_aacplus.dll) + Type LC-AAC 設定
  LC-AAC(.aac) にエンコード
Audioタブ
 Encoder:CT AAC+V2
CT AAC+タブ または Optionsで
 Bitrate:96か128がいいんじゃないかなあ
  Type:LC-AAC
 Mode:Stereo
  MPEG-4 AAC にチェック
Containerタブ
 Container Format:Default
3.出力された AAC(.aac) を MP4コンテナ(.m4a)に変換(mp4box.exe -add)
Audioタブ
 Encoder:Stream Copy
Containerタブ
 Container Format:MP4
  Option:デフォルト
  Batchenc なら
path\mp4box.exe -add <infile> <outfile.m4a>
  mp4creater60 なら
path\mp4creator60.exe -optimize -mpeg-version=4 -c=input.aac output.m4a
  foobar2000 0.83 MP4 Utilities なら、
  Hint Track(ストリーミング配信する場合に必要)情報も削除する。
  Hint Trackの追加はQT Proで可能だが、904T での再生には不要。

2.で一気に Container Format を MP4 にしても、904T では再生できなかった。
なぜ、HE-AACになってるのか、ADTSヘッダを含まないもの、ってことなのか、
その辺りの事はよく知らないけど。
88200Hz ってのは、8-16kHzをAACで圧縮、16-22kHzはSBRを利用、
AAC + SBRと合わせて88.2kHz と言うことらしい。

mp4box のOptionsで強制的に情報を書き換えても(Forces no-backward Compartible AAC-SBR)、
904Tのプレーヤーでは、HE-AACは再生できませんのでダメでした。(3gp化しても。)

逆に、aacPlus (HE-AAC) にエンコードした aacファイルをmp4box でLC偽装コンテナ化
(?) HE-AACファイルが再生できちゃったりする。

MPEG4 (HE-AAC) エンコード・LC偽装?

CT aacPlus(enc_aacplus.dll)

HE-AAC(High-Efficiency AAC) / aacPlus v1 = AAC+SBR
PS-AAC(Parametric Stereo AAC) / aacPlus v2 = AAC+SBR+PS

MediaCoder 0.3.7 build 1710 使用

aacPlus v2 (AAC+SBR+PS) 48kbps
1.aacPlus(.aac) にエンコード
Audioタブ
 Encoder:CT AAC+V2
CT AAC+タブ または Optionsで
 Bitrate:48
  Type:aacPlus
 Mode:Parametric Stereo
  MPEG-4 AAC にチェック
Containerタブ
 Container Format:Default
2.出力された AAC(.aac) を MP4コンテナ(.m4a)に変換(mp4box.exe 同梱)
Audioタブ
 Encoder:Stream Copy
Containerタブ
 Container Format:MP4
  Options:デフォルト設定のまま

ファイルサイズは稼げますが、HEは所詮、低ビットレートでストリームする
場合にできるだけ音質良く聞こえるようにするための技術ですから、
MP3やAAC LCと比較するものでも無いと思います。が、48kbpsでこれだけ
聴かれるのはたいしたものかもしれません。(PC→AVアンプへ光デジタル出力)
もっとも、904T ではHEに対応していないようで、L/Rが分かれて再生されて
いないようです(SHURE E2c で試聴)。帯域については分かりませんが、
音の伸びや広がりが感じられません。検討の余地は無いでしょうね。

CDからAAC(LC,HE)を作る

[2006-04-30]
■EAC
  • FAAC内蔵
  • 外部エンコーダを指定(EAC→エンコードオプション→外部プログラム使用)
  「ユーザー定義のエンコーダ」を選択


プログラムパス:path\enc_aacplus.exe
使用する拡張子:「.aac」
コマンドラインオプション:%s %d %l--cbr 48000%l%h--cbr 96000 --lc%h


プログラムパス:path\NAACEnc.exe
使用する拡張子:「.m4a」
コマンドラインオプション:%l-tape%l%h-internet%h %s %d

  %s:入力ファイル
  %d:出力ファイル:EACオプション→ファイル名→保存するファイル名の設定による
            904Tでは、ファイル名が30文字を超える部分は表示できない。
  %l~%l:「低品質」チェック時に使うオプション
  %h~%h:「高品質」チェック時に使うオプション
  ID3タグは使わない→MP4コンテナ格納してからタグをつける

  • EACオプション→ツール 以下の設定はお好みで
  展開時にバックグラウンドで外部エンコーダーにキューを入れる
  外部エンコーダのウィンドウを表示しない
  • [プロファイル] → [プロファイルの保存] をしておくと、次回からこれらの設定を
 ロードできる。

EAC2m4a Version 0.24β
  EACでタグ情報付きのm4aファイル(音声はAAC)を作成するための補助ツール
  aacenc32.dll, aacenc32.exe, tg.exe, mp4creator60.exe 使用

MP4にタグをつける

904TではMP4コンテナのタグに対応していませんが、一応ってことで。

CT enc_aacPlus + MP4Box + mp4tags

AACエンコード→MP4コンテナ格納→タグ付け
1.mp4tags.exe、enc_aacPlus.exe、enc_aacPlus.dll、MP4Box.exe を同じディレクトリに置く。
2.バッチファイルを作成、同ディレクトリに置く。

enc_wav2m4a.bat
@echo off
echo WAVEファイルをMPEG4 AAC-LC(.m4a)にエンコード、タグを付ける
echo.
echo タグフィールドを入力、Enterで次へ
echo.
echo title : 曲名
set /p title=
echo artist : アーティスト名
set /p artist=
echo album : アルバム名
set /p album=
echo genre : ジャンル
set /p genre=
echo year : 発売年
set /p year=
echo number : トラックナンバー
set /p number=
echo ビットレートをkbpsで入力(単位不要)、
echo (16,24,32,40,48,56,64,80,96,112,128,160,192,224,256,320)
echo Enterで開始します
set /p kbps=
echo.
"%~dp0enc_aacPlus.exe"  %1 "%~dpn1.aac" --cbr %kbps%000 --lc
  --mpeg4aac
"%~dp0MP4Box.exe" -add "%~dpn1.aac" "%~dpn1.m4a" 
"%~dp0mp4tags.exe" -A %album% -a %artist% -g %genre% -y %year%
  -t %number% -s "title" "%~dpn1.m4a"
del "%~dpn1.aac"
(表示の都合により一部改行しています。)

NeroDigitalAudio neroAacEnc + neroAacTag

追記[2006-06-01]
NeroDigitalAudio ver.1.0.0.2 (May 26 2006 版) にMPEG-4,3GPPタグエディタが同梱されました。
1.NeroDigitalAudio.zip をフォルダに解凍
2.バッチファイルを作成、同ディレクトリに置く。

enc_mav2m4a_tagged.bat
@echo off
echo NeroDigitalAudio
echo WAVEファイルをMPEG4 AAC-LC(.m4a)にエンコード、タグを付ける
echo.
echo タグフィールドを入力、Enterで次へ
echo title : 曲名
set /p t=
echo artist : アーティスト名
set /p a=
echo album : アルバム名
set /p m=
echo genre : ジャンル
set /p g=
echo year : 発売年
set /p y=
echo number : トラックナンバー
set /p n=

echo エンコードモードを選択、Enterで次へ
echo 1: bitrate mode
echo 2: quality mode
echo 3: cbr mode
set /p mode=
goto %mode%

:1
echo bitrate mode
echo ビットレートをkbpsで入力(単位不要)、
echo (16,24,32,40,48,56,64,80,96,112,128,160,192,224,256,320)
echo Enterで開始します
set /p kbps=
"%~dp0neroAacEnc.exe" -br %kbps%000 -lc -if %1 -of "%~dpn1.mp4"
goto tag

:2
echo quality mode
echo 品質を入力 (0...1)
echo Enterで開始します
set /p quality=
 "%~dp0neroAacEnc.exe" -q %quality% -lc -if %1 -of "%~dpn1.mp4"
goto tag

:3
echo cbr mode
echo ビットレートをkbpsで入力(単位不要)、
echo (16,24,32,40,48,56,64,80,96,112,128,160,192,224,256,320)
echo Enterで開始します
set /p kbps=
"%~dp0neroAacEnc.exe" -cbr %kbps%000 -lc -if %1 -of "%~dpn1.mp4"
goto tag

:tag
"%~dp0neroAacTag.exe" "%~dpn1.mp4" -meta:artist="%a%" -meta:album="%m%"
 -meta:track="%n%" -meta:title="%t%" -meta:genre="%g%" -meta:year="%y%"

(表示の都合により一部改行しています。)

あふの設定でキー定義すれば、マークファイルを連続で(対話的に?)エンコード可能
&EACH -P "path\enc_wav2m4a.bat" $MF

&EACH -P "path\enc_mav2m4a_tagged.bat" $MF

tg.exe とか、GUIなら The GodFather・Media Tagger・SuperTagEditor改 Plugin Version (Nightmare)など。

PCでの再生確認

  • Mplayer(ffmpegベース FAAD AAC (MPEG2/MPEG4 Audio) decoder内蔵)
  • foobar2000 0.83/0.9/0.91b1
  • Fittle + bass_aac.dll ( BASS_AAC 2.2 )
  • KbMedia Player Ver.2.42beta4.2005.1012 + kbwinamp.bin + Winamp in_mp4.dll(*)
1.kbwinamp_017alpha.cab 内の kbwinamp.bin を、KbMedia Player の
  Plugins フォルダにコピー
  コピーした kbwinamp.bin を in_mp4.kpi にリネーム
2.in_mp4.dll を KbMedia Player の Plugins フォルダにコピー
  (*) Rarewares にある in_mp4.dll では HE AAC が再生できないらしいので
  HE を再生したい場合は、
   Winamp用プラグイン in_mp4.dll HE-AACなmp4も(たぶん)再生できる版(2005-11-20版)
   のパッチをあてたものと差し替え。
  • QT Pro 6.5.2
  CTでエンコードした AAC(.aac)は、MP4コンテナにしないと再生不可

エンコードしたファイルのプロファイル確認

  • foobar2000 0.9 以降
foobar2000 0.9 では、LCかSBRかSBR+SPかで判定します。
Title formatting [Status bar] を編集すると便利かも
%codec%[-%codec_profile%] %bitrate%kbps %samplerate%Hz %channels%'   ?   '
%filename_ext%   %playback_time%[ / %length%]


-