MacOS標準でFLACリッピング

f:id:daitailab:20190428084837p:plainf:id:daitailab:20190428090132p:plain

Windowsだとfoobar2000FLACリッピングを行っています。

Macだと標準機能だけでFLACリッピングを行っています。あまり知られてい気がするので紹介します。

事前準備

f:id:daitailab:20190428090322g:plain

CDを入れて、iTunesを開きアルバム名や曲名が表示されるか確認する。

アルバム名や曲名が無い場合はiTunes上でCDを参照し、入力しておく。ここで入力しておくと、作成したFLACファイルが入力ずみとなるので楽ですよ。

リッピング方法(技術解説)

実験メモより(2017年12月)

「High Sierraの「afconvert」コマンドが「FLAC」と「Opus」の変換に対応」

そんなニュースを目にしたのでFLACへのリッピングを試してみた。

「afconvert」「afinfo」「afplay」コマンドを使います。

macでは音楽CDは「/Volumes」下の「アルバム名」フォルダーに「曲名」が付いたaiffファイルとしてマウントされる。

$ ls -l  /Volumes/CHOPIN プレイエルによるショパン・ピアノ独奏曲 全曲集\ 3/
total 1202841
-rw-rw-rw-  1 mathy  staff   29851584 12 23 09:36 1 ワルシャワ時代の遺作のポロネーズ : Polonaise in G minor WN2 (1817).aiff
-rw-rw-rw-  1 mathy  staff  133414848 12 23 09:36 10 Andante spianato and Grande Polonaise Brillante in E flat major, Op.22.aiff
-rw-rw-rw-  1 mathy  staff   33316080 12 23 09:36 2 - Polonaise in B flat major WN1 (1817).aiff
-rw-rw-rw-  1 mathy  staff   38737440 12 23 09:36 3 - Polonaise in A flat major WN3 (1821).aiff
-rw-rw-rw-  1 mathy  staff   58698864 12 23 09:36 4 - Polonaise in G sherp minor WN4 (1824).aiff
-rw-rw-rw-  1 mathy  staff   44551584 12 23 09:36 5 - Polonaise in B flat minor WN10 (1826).aiff
-rw-rw-rw-  1 mathy  staff   54667536 12 23 09:36 6 - Polonaise in D minor WN11 (1825-27).aiff
-rw-rw-rw-  1 mathy  staff   74433744 12 23 09:36 7 - Polonaise in F minor WN12 (1826-28).aiff
-rw-rw-rw-  1 mathy  staff   70912800 12 23 09:36 8 - Polonaise in B flat major WN17 (1829).aiff
-rw-rw-rw-  1 mathy  staff   77267904 12 23 09:36 9 - Polonaise in G flat major WN35 (1830).aiff

afconvertコマンドを使い、曲だけFLAC変換してみる。

$ afconvert /Volumes/CHOPIN プレイエルによるショパン・ピアノ独奏曲 全曲集\ 3/1\ ワルシャワ時代の遺作のポロネーズ\ \:\ Polonaise\ in\ G\ minor\ WN2\ \(1817\).aiff -f flac -d flac test.flac

afinfoコマンドを使い、変換されたファイルについて調べてみる。

$ afinfo test.flac
File:           test.flac
File type ID:   flac

Num Tracks:     1
----
Data format:     2 ch,  44100 Hz, 'flac' (0x00000001) from 16-bit source, 4608 frames/packet
Channel layout: Stereo (L R)
estimated duration: 169.213333 sec
audio bytes: 7808261
audio packets: 1620
bit rate: 369024 bits per second
packet size upper bound: 7328
maximum packet size: 7328
audio data file offset: 42
optimized
audio 7462308 valid frames + 0 priming + 2652 remainder = 7464960
source bit depth: I16

afplayコマンドを使い、変換されたFLACファイルを再生してみる。

$ afplay test.flac

これで再生される。停止は「cmd+.」でOKでしたよ。

フォルダー毎するには・・・、下記のようなワイルドカード指定では無理でした。

$ afconvert -f flac -d flac CHOPIN/*

と言うことで、forループ作戦へ。例えばこんな感じ。

$ for file in CHOPIN/*.aiff;do afconvert -f flac -d flac "${file}" "../`basename ${file%aiff}flac`";done

flacだけじゃなく、たのコーデックやパラメータ指定もできるよ。下記の様に調べてね。

$ man afconvert
$ afconvert -h

最終形はシェルスクリプトになっています。

cd2flac.sh

#!/bin/bash
#
# CD Audio to FLAC(only normal High Sierra)
#

##### usage ##### 
function exit_usage() {
  echo "Usage: "`basename ${0##*/} .sh`" <input-dir> <output-dir>" 1>&2
  echo "  ex $0 /Volume/CHOPIN/" 1>&2
  exit 1
}
#exit_usage

##### check argument #####
if [ $# -lt 1 ]; then
    exit_usage
fi

##### check directory #####
if [ -d "$1" ]; then    # its directroy?
#    echo " memo: $1 is a directory."
else
    echo " error: $1 is NOT a directory."
    exit_usage
    exit 1
fi

##### convert flac #####
for file in $1*.aiff; do 
    echo "$file"
    f=${file%aiff}flac;f=${f##*/}
    echo $f
    afconvert -f flac -d flac "${file}" "${f}"
done

exit 0

ちょっと前の情報で怪しいかもしれません。

修正点などありましたら教えてくださいね。