2023-04-15

Spotify でローカルファイルが再生できない謎が解明した

Spotify では大量の楽曲が配信されていますが、中には CD 化されているのに配信されていないものもあり、そうした楽曲は CD からリッピングしておくと「ローカルファイル」という機能で再生することができます。

いくつかの CD をローカルファイルとしてたまに聴いていたのですが、ある時から1枚の CD だけ再生できなくなってしまいました。

・同じフォルダーの中にある他の CD は再生できる
・楽曲リストにはアーティスト名、曲名も正しく認識されている
・再生すると「この曲は再生できません」と怒られる
・前は再生できていたのに・・・

という状況です。


結論から言うとリッピングの形式が ALAC のものがダメでした。

以前に iTunes で片っ端から CD をリッピングしたのですが、AAC のものは Spotify で再生でき、ALAC のものは再生できないという状況です。
(前は ALAC も再生できたのに・・・)


ということで、Spotify が対応しているという MP3 形式に変換してみたところ、無事に再生できるようになりました。

あ、環境としては Linux Mint 上の Flatpak 版の Spotify です。 


ALAC から MP3 への変換は Soundconverter という GUI アプリケーションが簡単で良いと思うのですが、今回は FFmpeg のコマンドライン機能に挑戦してみました。

$ ffmpeg -i 1-01\ Rise\ \[Live\].m4a -codec:a libmp3lame -qscale:a 0 1-01.mp3

ffmpeg version 4.4.2-0ubuntu0.22.04.1 Copyright (c) 2000-2021 the FFmpeg developers
  built with gcc 11 (Ubuntu 11.2.0-19ubuntu1)
  configuration: --prefix=/usr --extra-version=0ubuntu0.22.04.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-pocketsphinx --enable-librsvg --enable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
  WARNING: library configuration mismatch
  avcodec     configuration: --prefix=/usr --extra-version=0ubuntu0.22.04.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-pocketsphinx --enable-librsvg --enable-libmfx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared --enable-version3 --disable-doc --disable-programs --enable-libaribb24 --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libtesseract --enable-libvo_amrwbenc --enable-libsmbclient
  libavutil      56. 70.100 / 56. 70.100
  libavcodec     58.134.100 / 58.134.100
  libavformat    58. 76.100 / 58. 76.100
  libavdevice    58. 13.100 / 58. 13.100
  libavfilter     7.110.100 /  7.110.100
  libswscale      5.  9.100 /  5.  9.100
  libswresample   3.  9.100 /  3.  9.100
  libpostproc    55.  9.100 / 55.  9.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '1-01 Rise [Live].m4a':
  Metadata:
    major_brand     : M4A 
    minor_version   : 0
    compatible_brands: M4A mp42isom
    creation_time   : 2016-04-09T14:03:24.000000Z
    title           : Rise [Live]
    artist          : [Alexandros]
    album           : Live at Budokan 2014 [Disc 1]
    genre           : Rock
    track           : 1/14
    disc            : 1/2
    date            : 2014
    compilation     : 0
    gapless_playback: 0
    encoder         : iTunes 12.3.3.17
    Encoding Params : vers
    iTunNORM        :  00002479 000032EC 0000AA90 0000B54F 0005B7AC 0005A2B8 00008000 00008000 000181D9 00014E26
    iTunes_CDDB_IDs : 14++
    UFIDhttp://www.cddb.com/id3/taginfo1.html: 3CD3N34Q451879882U278ACACA6E58D34B173BFB0AC7941158E6BP8
  Duration: 00:06:28.29, start: 0.000000, bitrate: 1061 kb/s
  Stream #0:0(und): Audio: alac (alac / 0x63616C61), 44100 Hz, stereo, s16p, 1060 kb/s (default)
    Metadata:
      creation_time   : 2016-04-09T14:03:24.000000Z
      vendor_id       : [0][0][0][0]
Stream mapping:
  Stream #0:0 -> #0:0 (alac (native) -> mp3 (libmp3lame))
Press [q] to stop, [?] for help
Output #0, mp3, to '1-01.mp3':
  Metadata:
    major_brand     : M4A 
    minor_version   : 0
    compatible_brands: M4A mp42isom
    UFIDhttp://www.cddb.com/id3/taginfo1.html: 3CD3N34Q451879882U278ACACA6E58D34B173BFB0AC7941158E6BP8
    TIT2            : Rise [Live]
    TPE1            : [Alexandros]
    TALB            : Live at Budokan 2014 [Disc 1]
    TCON            : Rock
    TRCK            : 1/14
    TPOS            : 1/2
    TDRC            : 2014
    TCMP            : 0
    gapless_playback: 0
    iTunes_CDDB_IDs : 14++
    Encoding Params : vers
    iTunNORM        :  00002479 000032EC 0000AA90 0000B54F 0005B7AC 0005A2B8 00008000 00008000 000181D9 00014E26
    TSSE            : Lavf58.76.100
  Stream #0:0(und): Audio: mp3, 44100 Hz, stereo, s16p (default)
    Metadata:
      creation_time   : 2016-04-09T14:03:24.000000Z
      vendor_id       : [0][0][0][0]
      encoder         : Lavc58.134.100 libmp3lame
size=   13208kB time=00:06:28.28 bitrate= 278.7kbits/s speed=85.6x    
video:0kB audio:13207kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.006160%

Ubuntu 22.04 に収録されている FFmpeg は 4.4 と古いんですよね。2022年 1月には FFmpeg 5.0 がリリースされていたのに、どうして Ubuntu 22.04 に含まれなかったんでしょうね。

 

 

それはさておき、これでようやく Spotify のローカルファイル機能で聴きたい曲が聴けるようになったのですが、ひとつまたありまして、Linux Mint に標準搭載の Celluloid というメディアプレーヤーがあり、こちらは ALAC のまま再生できてしまうということを発見したのです。

そうするとですよ、リッピングしてローカルディスクに置いてある楽曲は、面倒な Spotify で再生するよりも Celluloid で聴けばいいんじゃないか?というのが今の状況です。

というのも、Spotify で配信される楽曲とローカルファイルで再生する楽曲で音の大きさが違うんですね。(ローカルファイルの方が音が大きい)
なので、ボリュームの調整が必要で、これが若干めんどうなんです。

ALAC を聴く時には Celluloid を使うようにすれば、Spotify のボリュームはいじらなくていいのです。

Celluloid で再生している時の画面


ということで、去年くらいから「なんで再生できないんだろう?」と悩んでいたことは解決できたのですが、今後の運用をちょっと悩んでいる状況です。