0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

iPhone8音楽を取り込もうと思ったらflacに対応してなかったから自分で変換する

Posted at

古いwalkman F880シリーズ端末のデータを手持ちのiPhone8に取り込もうとしたらうまく行かなかった件。
ネイティブでflacには対応していないのかな?
ということでとりあえずaacに変換してみる。

FFmpegをダウンロード

FFmpegダウンロードページ
今回ダウンロードしたバージョンはffmpeg-20200628-4cfcfb3-win64-static.zip
使うファイルはffmpeg.exeffprobe.exe

qaacをダウンロード

qaacダウンロードページ
今回ダウンロードしたバージョンはqaac_2.69.zip
使うファイルはqaac64.exe
qaacを使うためには他にも必要なファイルがあるのでこちらのサイトを参考に揃えてください。
ちなみに僕の環境ではicudt55.dllではなくicudt62.dllとなっていますので臨機応変に。
【AviUtl】Win10・拡張 x264 出力(GUI) Exでのqaac設定について

FFprobeを使ってメタデータを抽出する

> ffprobe 入力ファイル.flac

こんな感じで出力されるので欲しいデータを取っておく。

実行ログ
D:\ffmpeg>ffprobe "D:\Users\XXX\Music\シ\SID ALL SINGLES BEST\DISC1\09 モノクロのキス.flac"
ffprobe version git-2020-06-28-4cfcfb3 Copyright (c) 2007-2020 the FFmpeg developers
  built with gcc 9.3.1 (GCC) 20200621
  configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libsrt --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libgsm --disable-w32threads --enable-libmfx --enable-ffnvcodec --enable-cuda-llvm --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt --enable-amf
  libavutil      56. 55.100 / 56. 55.100
  libavcodec     58. 93.100 / 58. 93.100
  libavformat    58. 47.100 / 58. 47.100
  libavdevice    58. 11.100 / 58. 11.100
  libavfilter     7. 86.100 /  7. 86.100
  libswscale      5.  8.100 /  5.  8.100
  libswresample   3.  8.100 /  3.  8.100
  libpostproc    55.  8.100 / 55.  8.100
Input #0, flac, from 'D:\Users\XXX\Music\シド\SID ALL SINGLES BEST\DISC1\09 モノクロのキス.flac':
  Metadata:
    Title           : モノクロのキス
    Album           : SID ALL SINGLES BEST
    Artist          : シド
    disc            : 1/2
    DATE            : 2016
    ORGANIZATION    : KRE
    track           : 9/14
  Duration: 00:04:00.08, start: 0.000000, bitrate: 1048 kb/s
    Stream #0:0: Audio: flac, 44100 Hz, stereo, s16
    Stream #0:1: Video: mjpeg (Baseline), yuvj420p(pc, bt470bg/unknown/unknown), 500x500 [SAR 1:1 DAR 1:1], 90k tbr, 90k tbn, 90k tbc (attached pic)
    Metadata:
      comment         : Cover (front)
`ffprobe `についてはファイルパスを指定してもいいし、環境変数に設定してもいい。

FFmpegを使ってアートワークを取り出す

コマンドはこちら。

> ffmpeg -i 入力ファイル.flac 出力ファイル.jpg

取り出すというより画像に変換するイメージ。
ffmpeg についてはファイルパスを指定してもいいし、環境変数に設定してもいい。

FFmpegを使ってflacwavに変換する

コマンドはこちら。

> ffmpeg -i 入力ファイル.flac 出力ファイル.wav

ffmpegについてはファイルパスを指定してもいいし、環境変数に設定してもいい。

qaacを使ってwavaacに変換する

コマンドはこちら。

> qaac64 入力ファイル.wav -o 出力ファイル.m4a

変換と同時に楽曲情報も設定したかったので追加でパラメータを指定。
今回指定したパラメータはビットレート タイトル アーティスト アルバム リリース年 ディスク番号 トラック番号 アートワーク
ffprobeで抽出したメタデータを設定する。

> qaac64 入力ファイル.wav
  -o 出力ファイル.m4a
  -c 0
  --title 楽曲のタイトル
  --artist アーティスト名
  --album アルバム名
  --date リリース年
  --disk ディスク番号(2枚組とかじゃなきゃ不要)
  --track トラック番号(曲順)
  --artwork アートワーク(サムネの画像のパス)

なんかうまく行かないぞ?

"入力ファイル.wav"--title "楽曲のタイトル"のように各パラメータをダブルクオーテーションで囲ってやるといいかもしれない。

最後に

C#で実装したやつを投稿したい(願望)。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?