目次

対応するコーデックを増やす:SoundEngineFree

Ver.5からは、ウイルスソフト誤検出対策のため「コマンドライン」が使えなくなる。要望が多いので今後復活するかもしれないが、この方法を使う場合はVer.4.xを使うしかない。

基本的な流れ

  1. 音声コーデックのデコーダ、エンコーダを入手
  2. SoundEngineのインストールフォルダに入れる
  3. コマンドラインから、特定の拡張子のファイルを開く/保存するときの挙動を指定

コマンドライン記述方法

  1. [コマンドライン]タブを開く(ない場合は設定⇒簡易モードのチェックを外すか、Ver.4以下なのを確認する)
  2. 「ライブラリー」に適当な未定義の名前を入力(拡張子名など)
  3. 右のテキストボックスに、以下の書式に従って入力
  4. 「保存」

または、インストールフォルダに「Sec」というフォルダを作り、その中に「(ライブラリ名).sec」という名前で(中身はテキストファイル)コマンドを記述してもよい。

開くとき

[Open]
Extension=<拡張子>
Execute=<デコーダ名>
Parameter=<パラメータ>
Text=<任意のテキスト>

保存するとき

[Save]
Extension=
Execute=
Parameter=
Text=

それぞれの意味は開くとき参照。

コーデック毎の設定例

mp3

Lame:http://www.rarewares.org/mp3-lame-bundle.php
64bitのOSは64bit版を使うとよい。

解凍後、lame.exeをSoundEngineのインストールフォルダに入れる。

コマンドライン

aac(m4a)

Nero AAC Codec:http://ftp6.nero.com/tools/

解凍後、neroAacDec.exeとneroAacEnc.exeをSoundEngineのインストールフォルダに入れる。

時が経ち、配布先が非常に分かりづらくなっているので、ffmpegを使用した方がよい。

FFmpeg: Download FFmpeg

コマンドライン(Nero AAC Codecの例)

ogg

oggenc2.exe:http://www.rarewares.org/ogg-oggenc.php
oggdec.exe:http://www.rarewares.org/ogg-oggdec.php

解凍し、それぞれをSoundEngineのインストールフォルダに入れる。

コマンドラインFIXME

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