ミュージック.appのプレイリストをAndroidスマートフォンに転送する方法

[主題]
macOSのミュージック.appで作成したプレイリストをAndroidスマートフォンで利用する手順を説明したい。

[背景]
筆者はMacユーザーではあるが、スマートフォンはAndroidである。iPhoneでない理由は簡単で、金がないの一言に尽きる。iPhoneならば簡単にできる事がAndroid – Mac間では、できない。その最たるものの1つが、音楽の利用である。
Macとスマートフォンの間で音楽ファイルを同期する事すら出来ない。ロハで利用できるのは、Android File Transferぐらいしかない。それも手動コピーだ。
それはさておき、つまり、手動コピーは受け入れて、同じ音楽ファイルのライブラリをMacとスマートフォンの間で持ったとして、今度は、Geniusシャッフルの問題がある。当然の事だが、これも、簡単にはできない。
だが、金がないならば、頭を使えば良い。Geniusシャッフルも、再生した後ならば、スマートプレイリストを使ってプレイリストにする事はできるのだ。後はプレイリストをAndroidスマートフォンに転送できれば、話はつく。

なお、本稿はiTunesのプレイリストをXperiaに転送する方法 – しろかい!の、ほぼパクリ記事である。

[環境]
参考までに、筆者の環境を記載しておく
MacBook Pro 2018 15.4inch(インテルMac)
macOS 13.2.1 Ventura
MacBook Pro 2016 13inch(インテルMac)
mmacOS 12.6.3 Monterey

[前提条件]
以下を前提条件とする。

  1. 音楽ファイルのディレクトリ構造
    Mac側のMedia.localized配下のMusicディレクトリ構造と、AndroidスマートフォンのMusicディレクトリ構造が一致している事。

  2. プレイリストの保存先
    作成したプレイリストは、AndroidスマートフォンのMusicディレクトリに置く事

[手順]

  1. ミュージック.appからのプレイリストの書き出し
    下図を参照して作業する。

    プレイリストの書き出し


    書き出しフォーマット設定

    1. 書き出し対象のプレイリストを選択した状態(①)で
    2. ミュージック.appのファイルメニュー(②) > ライブラリ(③) > プレイリストを書き出し…(④)と選択する。
    3. 表示されるダイアログで、フォーマットでM3Uを選び(⑤)、保存する(⑥)。
  2. プレイリスト変換用シェルスクリプトの作成
    次のシェルスクリプトを作成する。

    vim convert_to_android_m3u.sh

    記述する内容

    #!/bin/sh
    #
    # ミュージック.appのプレイリストをAndroid用に変換するシェルスクリプト
    #
    # 引数$1に変換するファイルのパスを入力
    #
    # Based on:
    # iTunesのプレイリストをXperiaに転送する方法 - しろかい!
    # https://shirokai.hatenablog.com/entry/itunes-playlist-xperia
    #
    # Modified by 桃源老師 on 2023.03.03
    
    # 前提条件:
    # 1.Mac側のMedia.localized配下のMusicディレクトリ構造と、Androidの
    # Musicディレクトリ構造が一致している事
    # 2.作成したm3uプレイリストは、AndroidのMusicディレクトリに置く事
    
    # パスの置換
    # 1番目の式でMac上の音楽ファイルパスの一部(Media.localizedまで)
    # を、AndroidのMusicディレクトリに置換
    # 2番目の式でスラッシュをバックスラッシュに置換
    # 3番目の式で改行コードをCRからLFに置換
    #  参考:https://qiita.com/Pon2929/items/6c944e274c45b5a86857
    cat $1 | sed \
    -e 's%'$HOME'/Music/ミュージック/Media.localized/%.\\%g' \
    -e 's%\/%\\%g' \
    -e 's/\r/\n/g' > $1.txt
    
    # 濁点、半濁点分離対策(NFD → NFC 変換)
    # 参考:https://qiita.com/meriy100/items/8cca05370d3fad2c1e86
    ruby -rnkf -i -pe '$_  =  NKF.nkf(" -w --ic=UTF8-MAC", $_)' $1.txt
    cat $1.txt > $1
    
    # 一時ファイルの削除
    rm $1.txt

    スクリプトの内容
    スクリプト内のコメントにもあるが、大まかに言って、2つの要素で構成されている。

    • パスの置換
      音楽ファイルのパスを、Mac用から、Android用スマートフォン用に変換している。(18行目〜27行目)

    • 濁点、半濁点分離対策
      音楽ファイル名に、日本語の濁点、半濁点が含まれる(いきものがかり、プレゼントなど)場合、「が」が「か」と濁点に分離される問題を対策している。(29行目〜32行目)

    スクリプト実行件の付与

    chmod +x convert_to_android_m3u.sh
  3. プレイリストの変換
    ミュージック.appから書き出したプレイリストを、作成したシェルスクリプトでAndroidスマートフォン用に変換する。

    ./convert_to_android_m3u.sh お気に入り(邦楽).m3u
  4. 変換したプレイリストの転送
    変換されたプレイリストを、Androidスマートフォンに転送する。転送先は音楽ファイルがあるMusicディレクトリである。
    転送手段は、Android File Transferでも、macOS搭載のBluetooth ファイル交換でも、どちらでも良い。

参考サイト

以上。

この投稿へのコメント

コメントはありません。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

この投稿へのトラックバック

トラックバックはありません。

トラックバック URL