FileWriter_LAME オブジェクト

オブジェクトの作成メソッド: Application.CreateFileWriter

MP3 ファイルを作成するオブジェクト (lame_enc.dll が必要)。


■プロパティ

CodecFormat (object)
使用する圧縮フォーマット。これにオブジェクトを代入することでフォーマットを設定します。

CodecInfo (object)
圧縮フォーマット情報を持つオブジェクト。

ChannelMode (int)
作成するファイルがステレオの場合のチャンネル モード。値は以下のいずれか:
  • 0: Stereo (既定)
  • 1: Joint Stereo
  • 2: Dual Channel

Copyright (boolean)
MP3 フレームの Copyright ビットの設定。

CRC (boolean)
MP3 フレームに CRC を付加するかどうかの設定。true なら CRC あり。false なら CRC なし (既定)。

EnableABR (boolean)
このプロパティが true なら CBR の代わりに ABR でファイルを作成。既定は false。VBR での作成時は、このプロパティは不参照。

MaxBitrate (int)
VBR/ABR のときの最大ビットレート (bps)。指定なしなら 0 (既定)。

Original (boolean)
MP3 フレームの Original ビットの設定。

Private (boolean)
MP3 フレームの Private ビットの設定。

Quality (int)
エンコーダの品位設定。範囲は 0 (高品位/低速) 〜 9 (低品位/高速)、または指定なしなら -1。既定は -1。GUI の「高品位モード」は 2 に相当。

Unicode (boolean)
ID3 v2 のテキストを Unicode にする場合は true。Shift-JIS (ASCII) にする場合は false。日本語まじりの場合は Unicode を推奨。

■メソッド

Process
圧縮ファイルを作成します。

■ファイル作成の手順

ファイル作成の手順はおよそこのようになります:

  1. 入力 SoundClip オブジェクトを作成する。
  2. 必要なら SoundClip.Labels, SoundClip.Text を変更する。
  3. FileWriter_LAME オブジェクトを作成する。
  4. 圧縮フォーマット (CodecFormat) のリストを取得する。
  5. FileWriter_LAME.CodecFormat プロパティに選んだフォーマットをセットする。
  6. ABR の場合は FileWriter_LAME.EnableABR プロパティを true にする。
  7. FileWriter_LAME.Process メソッドを実行する。
例 (JScript)
// 入力音声 (選択範囲)
var clip = Application.ActiveDocument.CreateSoundClip();
// FileWriter_LAME オブジェクトを作成する.
var writer = Application.CreateFileWriter("lame");
// 適当な圧縮フォーマットを選ぶ (VBR の場合).
writer.CodecInfo.IsVBR = true;
var fmts = writer.CodecInfo.GetCodecFormats(44100, 2);
fmts = fmts.toArray();
var i;
for (i in fmts) {
    // 音質 60 % は Lame の音質インデックスの 4 に相当.
    // (100 - CodecFormat.Quality) / 10 = lame_quality_index.
    if (fmts[i].Quality == 60) {
        // フォーマットをセットする.
        writer.CodecFormat = fmts[i];
        break;
    }
}
/* ----------------------------------------------------
| // 適当な圧縮フォーマットを選ぶ (CBR/ABR の場合).
| var fmts = writer.CodecInfo.GetCodecFormats(44100, 2);
| fmts = fmts.toArray();
| var i;
| for (i in fmts) {
|     if (Math.round(fmts[i].Bitrate / 1000) == 128) {
|         // フォーマットをセットする.
|         writer.CodecFormat = fmts[i];
|         break;
|     }
| }
| // このプロパティが true なら ABR, false なら CBR.
| writer.EnableABR = true;
---------------------------------------------------- */
// ファイル作成
writer.Process(clip, "D:\\Sound Output\\test1.mp3");

例 (VBScript)
Dim clip, writer, fmts, f
' 入力音声 (選択範囲)
Set clip = Application.ActiveDocument.CreateSoundClip
' FileWriter_LAME オブジェクトを作成する.
Set writer = Application.CreateFileWriter("lame")
' 適当な圧縮フォーマットを選ぶ (VBR の場合).
writer.CodecInfo.IsVBR = True
fmts = writer.CodecInfo.GetCodecFormats(44100, 2)
For Each f In fmts
    ' 音質 60 % は Lame の音質インデックスの 4 に相当.
    ' (100 - CodecFormat.Quality) / 10 = lame_quality_index.
    If f.Quality = 60 Then
        ' フォーマットをセットする.
        writer.CodecFormat = f
        Exit For
    End If
Next
' -----------------------------------------------------
' ' 適当な圧縮フォーマットを選ぶ (CBR/ABR の場合).
' fmts = writer.CodecInfo.GetCodecFormats(44100, 2)
' For Each f In fmts
'     If Round(f.Bitrate / 1000) = 128 Then
'         ' フォーマットをセットする.
'         writer.CodecFormat = f
'         Exit For
'     End If
' Next
' ' このプロパティが true なら ABR, false なら CBR.
' writer.EnableABR = True
' -----------------------------------------------------
' ファイル作成
writer.Process clip, "D:\Sound Output\test1.mp3"