音楽ファイルから好みの部分を切り出すサービス

以前Visionを連続視聴する時に、ffmpegを使って余分なCMをカットして、聴きたい部分だけの音楽ファイルに編集した。その時はコマンドラインで操作していたのだけど、意外と便利なのでAutomatorサービスに登録してみた。

作業環境

$ ffmpeg -version
ffmpeg version 1.1
built on Jan 10 2013 16:57:58 with Apple clang version 4.1 (tags/Apple/clang-421.11.66) (based on LLVM 3.1svn)
configuration: --prefix=/usr/local/Cellar/ffmpeg/1.1 --enable-shared --enable-gpl --enable-version3 --enable-nonfree --enable-hardcoded-tables --cc=cc --host-cflags= --host-ldflags= --enable-libx264 --enable-libfaac --enable-libmp3lame --enable-libxvid
libavutil      52. 13.100 / 52. 13.100
libavcodec     54. 86.100 / 54. 86.100
libavformat    54. 59.106 / 54. 59.106
libavdevice    54.  3.102 / 54.  3.102
libavfilter     3. 32.100 /  3. 32.100
libswscale      2.  1.103 /  2.  1.103
libswresample   0. 17.102 /  0. 17.102
libpostproc    52.  2.100 / 52.  2.100

Automatorでの作業

f:id:zariganitosh:20130222091521p:image:w450

  • ファイル >> 新規 >> サービス を選択。
    • サービスは次の選択項目を受け取ります:オーディオファイル
    • 検索対象:Finder.app


f:id:zariganitosh:20130222091520p:image:w450

  • AppleScriptを実行のアクションを追加。(ドラッグ&ドロップ)
  • 以下のAppleScriptコードを貼り付けて完成。
    • ファイル名=曲トリム_範囲指定 で保存した。

AppleScriptコード


on run {input, parameters} (* Your script goes here *)
set f to input's item 1's POSIX path
activate
set res to display dialog "-ss 開始時間 -t 継続時間 を入力してください。" default answer "-ss 00:00:00 -t 09:00:00"
set opt to res's text returned
"f=" & quoted form of f & ";/usr/local/bin/ffmpeg -y -i \"$f\" -acodec copy " & opt & " \"${f%.*}_2.${f##*.}\""
do shell script result
return input
end run

使い方

  • 音楽ファイルを選択して二本指タップすると、さっそく上記で登録したサービスが見える!

f:id:zariganitosh:20130222093347p:image:h450

  • 開始時間と継続時間を指定すると、その部分だけを音楽ファイルとして書き出すのだ。

f:id:zariganitosh:20130222093348p:image:w368

  • 継続時間はデフォルトで9時間となっているので、開始時間だけ指定すれば、そこから最後までの音楽ファイルとして保存されるのだ。


これで1ヶ月後の自分も忘れずに使えそう!