対応するコーデックを増やす:SoundEngineFree
Ver.5からは、ウイルスソフト誤検出対策のため「コマンドライン」が使えなくなる。要望が多いので今後復活するかもしれないが、この方法を使う場合はVer.4.xを使うしかない。
基本的な流れ
音声コーデックのデコーダ、エンコーダを入手
SoundEngineのインストールフォルダに入れる
コマンドラインから、特定の拡張子のファイルを開く/保存するときの挙動を指定
コマンドライン記述方法
[コマンドライン]タブを開く(ない場合は設定⇒簡易モードのチェックを外すか、Ver.4以下なのを確認する)
「ライブラリー」に適当な未定義の名前を入力(拡張子名など)
右のテキストボックスに、以下の書式に従って入力
「保存」
または、インストールフォルダに「Sec」というフォルダを作り、その中に「(ライブラリ名).sec」という名前で(中身はテキストファイル)コマンドを記述してもよい。
開くとき
[Open]
Extension=<拡張子>
Execute=<デコーダ名>
Parameter=<パラメータ>
Text=<任意のテキスト>
<拡張子>…この拡張子のファイルを開こうとしたときに、ここで指定した処理が呼ばれる。「mp3」など。
<デコーダ名>…mp3なら「lame.exe」など。
<パラメータ>…デコーダによって異なる。インプットファイルは「\$src」、アウトプットファイルは「\$dst」で置き換えられる。
<任意のテキスト>…同じ拡張子に複数の処理が定義されていたとき、どの処理を行うか選ぶウィンドウが出る。そこで表示されるテキスト。
保存するとき
[Save]
Extension=
Execute=
Parameter=
Text=
それぞれの意味は開くとき参照。
コーデック毎の設定例
mp3
Lame:http://www.rarewares.org/mp3-lame-bundle.php
64bitのOSは64bit版を使うとよい。
解凍後、lame.exeをSoundEngineのインストールフォルダに入れる。
コマンドライン
- mp3.sec
[Open]
Extension=mp3
Execute=lame.exe
Parameter=--decode $src $dst
Text=MP3 -> WAV
[Save]
Extension=mp3
Execute=lame.exe
Parameter= -m s -b 64 $src $dst
Text=LAME MP3 - CBR 64kbps
[Save]
Extension=mp3
Execute=lame.exe
Parameter= -m s -b 96 $src $dst
Text=LAME MP3 - CBR 96kbps
[Save]
Extension=mp3
Execute=lame.exe
Parameter= -m s -b 128 $src $dst
Text=LAME MP3 - CBR 128kbps
[Save]
Extension=mp3
Execute=lame.exe
Parameter= -m s -b 160 $src $dst
Text=LAME MP3 - CBR 160kbps
[Save]
Extension=mp3
Execute=lame.exe
Parameter= -m s -b 192 $src $dst
Text=LAME MP3 - CBR 192kbps
[Save]
Extension=mp3
Execute=lame.exe
Parameter= -m s -b 256 $src $dst
Text=LAME MP3 - CBR 256kbps
[Save]
Extension=mp3
Execute=lame.exe
Parameter= -m s -b 320 $src $dst
Text=LAME MP3 - CBR 320kbps
aac(m4a)
Nero AAC Codec:http://ftp6.nero.com/tools/
解凍後、neroAacDec.exeとneroAacEnc.exeをSoundEngineのインストールフォルダに入れる。
時が経ち、配布先が非常に分かりづらくなっているので、ffmpegを使用した方がよい。
FFmpeg: Download FFmpeg
コマンドライン(Nero AAC Codecの例)
拡張子が3種類、それぞれについてやたら細かく設定してるので、適宜削る。
- aac.sec
[Open]
Extension=mp4
Execute=neroAacDec.exe
Parameter=-if $src -of $dst
Text=MP4 -> WAV
[Open]
Extension=aac
Execute=neroAacDec.exe
Parameter=-if $src -of $dst
Text=AAC -> WAV
[Open]
Extension=m4a
Execute=neroAacDec.exe
Parameter=-if $src -of $dst
Text=M4A -> WAV
[Save]
Extension=aac
Execute=neroAacEnc.exe
Parameter=-q 0.05 -if $src -of $dst
Text=Nero AAC Q = 0.05 (15 kbps)
[Save]
Extension=aac
Execute=neroAacEnc.exe
Parameter=-q 0.15 -if $src -of $dst
Text=Nero AAC Q = 0.15 (32 kbps)
[Save]
Extension=aac
Execute=neroAacEnc.exe
Parameter=-q 0.25 -if $src -of $dst
Text=Nero AAC Q = 0.25 (63 kbps)
[Save]
Extension=aac
Execute=neroAacEnc.exe
Parameter=-q 0.35 -if $src -of $dst
Text=Nero AAC Q = 0.35 (99 kbps)
[Save]
Extension=aac
Execute=neroAacEnc.exe
Parameter=-q 0.45 -if $src -of $dst
Text=Nero AAC Q = 0.45 (146 kbps)
[Save]
Extension=aac
Execute=neroAacEnc.exe
Parameter=-q 0.55 -if $src -of $dst
Text=Nero AAC Q = 0.55 (197 kbps)
[Save]
Extension=aac
Execute=neroAacEnc.exe
Parameter=-q 0.65 -if $src -of $dst
Text=Nero AAC Q = 0.65 (248 kbps)
[Save]
Extension=aac
Execute=neroAacEnc.exe
Parameter=-q 0.75 -if $src -of $dst
Text=Nero AAC Q = 0.75 (299 kbps)
[Save]
Extension=aac
Execute=neroAacEnc.exe
Parameter=-q 0.85 -if $src -of $dst
Text=Nero AAC Q = 0.85 (350 kbps)
[Save]
Extension=aac
Execute=neroAacEnc.exe
Parameter=-q 0.95 -if $src -of $dst
Text=Nero AAC Q = 0.95 (401 kbps)
[Save]
Extension=aac
Execute=neroAacEnc.exe
Parameter=-br 32000 -if $src -of $dst
Text=Nero AAC 32kbps
[Save]
Extension=aac
Execute=neroAacEnc.exe
Parameter=-br 64000 -if $src -of $dst
Text=Nero AAC 64kbps
[Save]
Extension=aac
Execute=neroAacEnc.exe
Parameter=-br 96000 -if $src -of $dst
Text=Nero AAC 96kbps
[Save]
Extension=aac
Execute=neroAacEnc.exe
Parameter=-br 128000 -if $src -of $dst
Text=Nero AAC 128kbps
[Save]
Extension=aac
Execute=neroAacEnc.exe
Parameter=-br 160000 -if $src -of $dst
Text=Nero AAC 160kbps
[Save]
Extension=aac
Execute=neroAacEnc.exe
Parameter=-br 192000 -if $src -of $dst
Text=Nero AAC 192kbps
[Save]
Extension=aac
Execute=neroAacEnc.exe
Parameter=-br 256000 -if $src -of $dst
Text=Nero AAC 256kbps
[Save]
Extension=aac
Execute=neroAacEnc.exe
Parameter=-br 320000 -if $src -of $dst
Text=Nero AAC 320kbps
[Save]
Extension=aac
Execute=neroAacEnc.exe
Parameter=-br 384000 -if $src -of $dst
Text=Nero AAC 384kbps
[Save]
Extension=aac
Execute=neroAacEnc.exe
Parameter=-br 512000 -if $src -of $dst
Text=Nero AAC 512kbps
[Save]
Extension=aac
Execute=neroAacEnc.exe
Parameter=-br 32000 -2pass -if $src -of $dst
Text=Nero AAC 32kbps 2pass
[Save]
Extension=aac
Execute=neroAacEnc.exe
Parameter=-br 64000 -2pass -if $src -of $dst
Text=Nero AAC 64kbps 2pass
[Save]
Extension=aac
Execute=neroAacEnc.exe
Parameter=-br 96000 -2pass -if $src -of $dst
Text=Nero AAC 96kbps 2pass
[Save]
Extension=aac
Execute=neroAacEnc.exe
Parameter=-br 128000 -2pass -if $src -of $dst
Text=Nero AAC 128kbps 2pass
[Save]
Extension=aac
Execute=neroAacEnc.exe
Parameter=-br 160000 -2pass -if $src -of $dst
Text=Nero AAC 160kbps 2pass
[Save]
Extension=aac
Execute=neroAacEnc.exe
Parameter=-br 192000 -2pass -if $src -of $dst
Text=Nero AAC 192kbps 2pass
[Save]
Extension=aac
Execute=neroAacEnc.exe
Parameter=-br 256000 -2pass -if $src -of $dst
Text=Nero AAC 256kbps 2pass
[Save]
Extension=aac
Execute=neroAacEnc.exe
Parameter=-br 320000 -2pass -if $src -of $dst
Text=Nero AAC 320kbps 2pass
[Save]
Extension=aac
Execute=neroAacEnc.exe
Parameter=-br 384000 -2pass -if $src -of $dst
Text=Nero AAC 384kbps 2pass
[Save]
Extension=aac
Execute=neroAacEnc.exe
Parameter=-br 512000 -2pass -if $src -of $dst
Text=Nero AAC 512kbps 2pass
[Save]
Extension=mp4
Execute=neroAacEnc.exe
Parameter=-q 0.05 -if $src -of $dst
Text=Nero mp4 Q = 0.05 (15 kbps)
[Save]
Extension=mp4
Execute=neroAacEnc.exe
Parameter=-q 0.15 -if $src -of $dst
Text=Nero mp4 Q = 0.15 (32 kbps)
[Save]
Extension=mp4
Execute=neroAacEnc.exe
Parameter=-q 0.25 -if $src -of $dst
Text=Nero mp4 Q = 0.25 (63 kbps)
[Save]
Extension=mp4
Execute=neroAacEnc.exe
Parameter=-q 0.35 -if $src -of $dst
Text=Nero mp4 Q = 0.35 (99 kbps)
[Save]
Extension=mp4
Execute=neroAacEnc.exe
Parameter=-q 0.45 -if $src -of $dst
Text=Nero mp4 Q = 0.45 (146 kbps)
[Save]
Extension=mp4
Execute=neroAacEnc.exe
Parameter=-q 0.55 -if $src -of $dst
Text=Nero mp4 Q = 0.55 (197 kbps)
[Save]
Extension=mp4
Execute=neroAacEnc.exe
Parameter=-q 0.65 -if $src -of $dst
Text=Nero mp4 Q = 0.65 (248 kbps)
[Save]
Extension=mp4
Execute=neroAacEnc.exe
Parameter=-q 0.75 -if $src -of $dst
Text=Nero mp4 Q = 0.75 (299 kbps)
[Save]
Extension=mp4
Execute=neroAacEnc.exe
Parameter=-q 0.85 -if $src -of $dst
Text=Nero mp4 Q = 0.85 (350 kbps)
[Save]
Extension=mp4
Execute=neroAacEnc.exe
Parameter=-q 0.95 -if $src -of $dst
Text=Nero mp4 Q = 0.95 (401 kbps)
[Save]
Extension=mp4
Execute=neroAacEnc.exe
Parameter=-br 32000 -if $src -of $dst
Text=Nero mp4 32kbps
[Save]
Extension=mp4
Execute=neroAacEnc.exe
Parameter=-br 64000 -if $src -of $dst
Text=Nero mp4 64kbps
[Save]
Extension=mp4
Execute=neroAacEnc.exe
Parameter=-br 96000 -if $src -of $dst
Text=Nero mp4 96kbps
[Save]
Extension=mp4
Execute=neroAacEnc.exe
Parameter=-br 128000 -if $src -of $dst
Text=Nero mp4 128kbps
[Save]
Extension=mp4
Execute=neroAacEnc.exe
Parameter=-br 160000 -if $src -of $dst
Text=Nero mp4 160kbps
[Save]
Extension=mp4
Execute=neroAacEnc.exe
Parameter=-br 192000 -if $src -of $dst
Text=Nero mp4 192kbps
[Save]
Extension=mp4
Execute=neroAacEnc.exe
Parameter=-br 256000 -if $src -of $dst
Text=Nero mp4 256kbps
[Save]
Extension=mp4
Execute=neroAacEnc.exe
Parameter=-br 320000 -if $src -of $dst
Text=Nero mp4 320kbps
[Save]
Extension=mp4
Execute=neroAacEnc.exe
Parameter=-br 384000 -if $src -of $dst
Text=Nero mp4 384kbps
[Save]
Extension=mp4
Execute=neroAacEnc.exe
Parameter=-br 512000 -if $src -of $dst
Text=Nero mp4 512kbps
[Save]
Extension=mp4
Execute=neroAacEnc.exe
Parameter=-br 32000 -2pass -if $src -of $dst
Text=Nero mp4 32kbps 2pass
[Save]
Extension=mp4
Execute=neroAacEnc.exe
Parameter=-br 64000 -2pass -if $src -of $dst
Text=Nero mp4 64kbps 2pass
[Save]
Extension=mp4
Execute=neroAacEnc.exe
Parameter=-br 96000 -2pass -if $src -of $dst
Text=Nero mp4 96kbps 2pass
[Save]
Extension=mp4
Execute=neroAacEnc.exe
Parameter=-br 128000 -2pass -if $src -of $dst
Text=Nero mp4 128kbps 2pass
[Save]
Extension=mp4
Execute=neroAacEnc.exe
Parameter=-br 160000 -2pass -if $src -of $dst
Text=Nero mp4 160kbps 2pass
[Save]
Extension=mp4
Execute=neroAacEnc.exe
Parameter=-br 192000 -2pass -if $src -of $dst
Text=Nero mp4 192kbps 2pass
[Save]
Extension=mp4
Execute=neroAacEnc.exe
Parameter=-br 256000 -2pass -if $src -of $dst
Text=Nero mp4 256kbps 2pass
[Save]
Extension=mp4
Execute=neroAacEnc.exe
Parameter=-br 320000 -2pass -if $src -of $dst
Text=Nero mp4 320kbps 2pass
[Save]
Extension=mp4
Execute=neroAacEnc.exe
Parameter=-br 384000 -2pass -if $src -of $dst
Text=Nero mp4 384kbps 2pass
[Save]
Extension=mp4
Execute=neroAacEnc.exe
Parameter=-br 512000 -2pass -if $src -of $dst
Text=Nero mp4 512kbps 2pass
[Save]
Extension=m4a
Execute=neroAacEnc.exe
Parameter=-q 0.05 -if $src -of $dst
Text=Nero m4a Q = 0.05 (15 kbps)
[Save]
Extension=m4a
Execute=neroAacEnc.exe
Parameter=-q 0.15 -if $src -of $dst
Text=Nero m4a Q = 0.15 (32 kbps)
[Save]
Extension=m4a
Execute=neroAacEnc.exe
Parameter=-q 0.25 -if $src -of $dst
Text=Nero m4a Q = 0.25 (63 kbps)
[Save]
Extension=m4a
Execute=neroAacEnc.exe
Parameter=-q 0.35 -if $src -of $dst
Text=Nero m4a Q = 0.35 (99 kbps)
[Save]
Extension=m4a
Execute=neroAacEnc.exe
Parameter=-q 0.45 -if $src -of $dst
Text=Nero m4a Q = 0.45 (146 kbps)
[Save]
Extension=m4a
Execute=neroAacEnc.exe
Parameter=-q 0.55 -if $src -of $dst
Text=Nero m4a Q = 0.55 (197 kbps)
[Save]
Extension=m4a
Execute=neroAacEnc.exe
Parameter=-q 0.65 -if $src -of $dst
Text=Nero m4a Q = 0.65 (248 kbps)
[Save]
Extension=m4a
Execute=neroAacEnc.exe
Parameter=-q 0.75 -if $src -of $dst
Text=Nero m4a Q = 0.75 (299 kbps)
[Save]
Extension=m4a
Execute=neroAacEnc.exe
Parameter=-q 0.85 -if $src -of $dst
Text=Nero m4a Q = 0.85 (350 kbps)
[Save]
Extension=m4a
Execute=neroAacEnc.exe
Parameter=-q 0.95 -if $src -of $dst
Text=Nero m4a Q = 0.95 (401 kbps)
[Save]
Extension=m4a
Execute=neroAacEnc.exe
Parameter=-br 32000 -if $src -of $dst
Text=Nero m4a 32kbps
[Save]
Extension=m4a
Execute=neroAacEnc.exe
Parameter=-br 64000 -if $src -of $dst
Text=Nero m4a 64kbps
[Save]
Extension=m4a
Execute=neroAacEnc.exe
Parameter=-br 96000 -if $src -of $dst
Text=Nero m4a 96kbps
[Save]
Extension=m4a
Execute=neroAacEnc.exe
Parameter=-br 128000 -if $src -of $dst
Text=Nero m4a 128kbps
[Save]
Extension=m4a
Execute=neroAacEnc.exe
Parameter=-br 160000 -if $src -of $dst
Text=Nero m4a 160kbps
[Save]
Extension=m4a
Execute=neroAacEnc.exe
Parameter=-br 192000 -if $src -of $dst
Text=Nero m4a 192kbps
[Save]
Extension=m4a
Execute=neroAacEnc.exe
Parameter=-br 256000 -if $src -of $dst
Text=Nero m4a 256kbps
[Save]
Extension=m4a
Execute=neroAacEnc.exe
Parameter=-br 320000 -if $src -of $dst
Text=Nero m4a 320kbps
[Save]
Extension=m4a
Execute=neroAacEnc.exe
Parameter=-br 384000 -if $src -of $dst
Text=Nero m4a 384kbps
[Save]
Extension=m4a
Execute=neroAacEnc.exe
Parameter=-br 512000 -if $src -of $dst
Text=Nero m4a 512kbps
[Save]
Extension=m4a
Execute=neroAacEnc.exe
Parameter=-br 32000 -2pass -if $src -of $dst
Text=Nero m4a 32kbps 2pass
[Save]
Extension=m4a
Execute=neroAacEnc.exe
Parameter=-br 64000 -2pass -if $src -of $dst
Text=Nero m4a 64kbps 2pass
[Save]
Extension=m4a
Execute=neroAacEnc.exe
Parameter=-br 96000 -2pass -if $src -of $dst
Text=Nero m4a 96kbps 2pass
[Save]
Extension=m4a
Execute=neroAacEnc.exe
Parameter=-br 128000 -2pass -if $src -of $dst
Text=Nero m4a 128kbps 2pass
[Save]
Extension=m4a
Execute=neroAacEnc.exe
Parameter=-br 160000 -2pass -if $src -of $dst
Text=Nero m4a 160kbps 2pass
[Save]
Extension=m4a
Execute=neroAacEnc.exe
Parameter=-br 192000 -2pass -if $src -of $dst
Text=Nero m4a 192kbps 2pass
[Save]
Extension=m4a
Execute=neroAacEnc.exe
Parameter=-br 256000 -2pass -if $src -of $dst
Text=Nero m4a 256kbps 2pass
[Save]
Extension=m4a
Execute=neroAacEnc.exe
Parameter=-br 320000 -2pass -if $src -of $dst
Text=Nero m4a 320kbps 2pass
[Save]
Extension=m4a
Execute=neroAacEnc.exe
Parameter=-br 384000 -2pass -if $src -of $dst
Text=Nero m4a 384kbps 2pass
[Save]
Extension=m4a
Execute=neroAacEnc.exe
Parameter=-br 512000 -2pass -if $src -of $dst
Text=Nero m4a 512kbps 2pass
ogg
flac
flac.exe:http://sourceforge.net/projects/flac/files/flac-win/から、flac-1.2.1b.exeを入手。(編集時現在)
インストール(またはインストーラを強制的に解凍するソフトを使って解凍)し、flac.exeをSoundEngineのインストールフォルダに入れる。
コマンドライン
- flac.sec
[Open]
Extension=flac
Execute=flac.exe
Parameter=-d $src -o $dst
Text=flac -> wav
[Save]
Extension=flac
Execute=flac.exe
Parameter=$src -o $dst
Text=wav -> flac
webm
最近、YouTubeなどでストリーミングに適したデコード方法として多用されている。
基本的にffmpegに喰わせれば拡張子から判定して認識してくれる。
- webm.sec
[Open]
Extension=webm
Execute=ffmpeg.exe
Parameter=-i $src -vn -sn $dst
Text=webm -> wav
[Open]
Extension=webm
Execute=ffmpeg.exe
Parameter=-i $src -vn -sn $dst
Text=wav -> webm
最新版を使いたい
といってもいつまでも古いバージョンを使うわけにもいかないので、代替案として「バッチファイルを作成することで、wavにデコード⇒SoundEngineで起動という連続処理を自動化し、音楽ファイルをバッチにDrag&Dropするだけで可能にする」という方法が公開されている。
1曲のみなら問題ないが、既に起動中のファイルにD&Dで追加したり、バッチで連続処理を行ったりはできない、という少し(かなり?)問題点はあるが、一応これで最新版を使うことはできる。(これらの問題点も多分調べればできる可能性はあるが、統一された方法にはしづらく、何より逐一調べるのが面倒)
文字化け対策
日本語を含む環境では、ffmpegなどの一部デコーダで文字化けによるエラーが発生する。
コマンドラインからちゃんとした文字コードで送ってやればいい。
バッチファイルで書く方法がわからないため、ここでは簡単なPythonスクリプトを書いて、呼び出すようにする。
import sys
import subprocess
ffmpeg_path = 'C:\\path\\to\\ffmpeg.exe'
path = sys.argv[1]
dest = sys.argv[2]
args = [ffmpeg_path, '-i', path, '-vn', '-sn', dest]
subprocess.run(args)
- ffmpeg.bat
@echo off
chcp 65001
python "C:\path\to\ffmpeg.py" %*
- webm.sec
[Open]
Extension=webm
Execute=ffmpeg.bat
Parameter=$src $dst
Text=webm -> wav