Bansheeのプレイリストからすべてのmp3をエクスポートするにはどうすればよいですか?


13

私の音楽はすべて/ home / blah / Music /に分類されていません。ランダムなフォルダーにありますが、Bansheeがすべてを処理するので、私にとっては重要ではありません。私は自分の音楽の2/3を含む大きなプレイリストを持っています。プレイリストにリストされているすべてのmp3ファイルを新しいフォルダーにコピーするにはどうすればよいですか?

注:プレイリストをエクスポートしようとはしていませんが、プレイリストにリストされているmp3をコピーします。

回答:


13

私はこれをrhythmboxで行い、デスクトップ上のフォルダーに名前を付けます。音楽リストが曲の1つをクリックし、Ctrlキーを押しながらホールリストをハイライト表示したら、好きなプレイリストを見つけて、デスクトップのフォルダーにドラッグアンドドロップします。これにより、音楽のコピーが作成されます。クレメンタインミュージックプレーヤーを試すこともできます。これには、エクスポートに役立つツールがいくつかあります。

http://www.clementine-player.org/


4
+1これはBansheeでも機能します。
サバコン

1
それはより直感的にならないだろうと思います。Bansheeでは、スマートプレイリストを作成できます。これにより、必要なものを正確にコピーできます。
ネガティブシェイプ

おかげで、うまく動作し、スクリプトを使用するのが最善です(多くを検索しました)。あなたは私のヒーローです
IndacocheaWachín

15

ソリューションを見つけ、あらゆるメディアプレーヤーで動作します。

  1. プレイリストをm3uファイルにエクスポートします。プレイリストと呼びました。m3u

  2. ファイルを保存したフォルダーでターミナルを開きます。

  3. これをコピーして貼り付けます:

    sed "s/#.*//g" < playlist.m3u | sed "/^$/d" | while read line; do cp "${line}" '/path/to/output/folder/'; done
    

目的の出力フォルダーへのパスを忘れずに変更してください。

注:ターミナルは、ファイルがコピーされている間は何も出力しません。ただ我慢してください;)


1
驚くばかり!何千回も+1できたらいいのに。
プラティーシュ

プレイヤーBansheeの場合、これが最も簡単な方法です。ありがとう!
-nitins

4

良い質問です。これは非常に必要な機能です。メディアプレーヤーがほとんどないのは奇妙です。

ここに試すことができる方法があります。特にプレイリストが非常に大きい場合は制限があり、プレイリストのファイルを使用してデータCDをディスクに書き込み、結果の.isoイメージを必要な場所に保存してから抽出します。

手順は次のとおりです。

  • 左側でプレイリストを選択します。右上のペインですべてのアーティストが選択されていることを確認してください。

  • 右下のペインでプレイリストのすべてのトラックを選択します。

  • 右クリックして、[CDに書き込む]をクリックします。

Braseroは、すべてのトラックをCDに書き込む準備ができた状態で開始する必要があります。デフォルトでは、オーディオCDを書き込みたいと思うでしょう。 braseroプロジェクト。

  • braseroでプロジェクトメニューをクリックし、フライアウトメニューで[新しいデータプロジェクト]を選択します。

「ファイルの選択を破棄するか、新しいプロジェクトに追加しますか?」と尋ねられます。

  • [ファイル選択を保持]ボタンをクリックします。

Braseroは、プレイリストのすべてのファイルを含むIsoイメージを任意の場所に書き込む準備ができました。

  • 右下の書き込みボタンをクリックして、場所を選択し、isoイメージに名前を付けます。トランスコーディングまたは正規化が行われないため、書き込みプロセスはかなり高速になります。

  • .isoイメージを右クリックして展開すると、ファイルを含むフォルダーが作成されます。

希望する場合は、バックアップとしてCdを焼くか、誰かにコピーを渡す必要がある場合に進みます。

スクリーンショットを見る:

メインバンシーウィンドウ

Banshee書き込みCDメニュー

Banshee書き込みCDメニュー

BraseroオーディオCDプロジェクトウィンドウ

Brasero Audio CDプロジェクト、これをデータプロジェクトに変更

Braseroプロジェクトの選択

プロジェクトタイプの変更方法を示すBraseroメニュー

BraseroデータCDプロジェクト

かなりの量のmp3を処理できるデータプロジェクト


3

この素晴らしいソリューションをありがとう、ネガティブシェイプ!プレイリスト内の位置に応じてファイルの名前が変更されるように変更しました。

sed "s/#.*//g" < playlist.m3u | sed "/^$/d" | while read line; do (( COUNTER++ )); filename="${line##*/}"; cp "${line}" "/path/to/output/folder/$COUNTER - $filename"; done

2

また、スクリプトは誰かの役に立つかもしれないので、そのままにします。 https://gist.github.com/CRImier/9777606

import os
import shutil

directory_name = "playlist/"
playlist_name = "playlist.m3u"

f = open(playlist_name, "r")
files = []
for line in f:
    line = line.strip().strip("\n").strip("\r")
    if line and not line.startswith("#"):
        files.append(line)
dir_contents = os.listdir(directory_name)
for file in files:
    try:
        filename = os.path.basename(file)
        if filename not in dir_contents:
            shutil.copy(file, "playlist/")
            print filename
        else:
            print ".", #File already there
    except Exception as e:
        print str(e)

これは純粋なPythonであり、複数回実行しても曲を2回コピーしません。これが誰かを助けることを願っています=)


0

ここで私はからファイルをコピーするために使用するスクリプトです/home/user/playlist.m3uのにファイル/ホーム/ユーザー/エクスポート/長いあなたの実際のファイルがそうであるようにとフォルダは、中/ホーム/ユーザー/音楽/だけで変更しない場合スクリプトの1行。

#!/bin/bash
m3u=$(sed /#.*/d "/home/user/playlist.m3u"|sed 's/\.\.\/\.\./\/home\/user/g');

echo "$m3u" | while read line; do
    newFile=$(echo $line| sed 's/\/home\/user\/Music\//\/home\/user\/export\//');
    newPath=$(echo "$newFile" | grep -o .*\\/);

    mkdir -p "$newPath";
    cp "$line" "$newFile";  
done;
exit 0;

bansheeエントリをフォルダにドラッグすることとの違いは、このスクリプトが/artists/albums/track.mp3の階層または作成したm3uプレイリストを正確に反映する必要がある階層を保持することです。したがって、この方法では複製は不可能であり、すべてのトラックは以前の場所にあります。

私の携帯電話にはMTPしかなく、Ubuntuでは少しかすんでいるので、これを作りました。さらに、バンシーは私のアンドロイドを非常に無秩序に同期します。だから私はほとんどこれを使用してエクスポートフォルダを無線LANで転送する必要があります。


0

ユーザーが指定したpythonスクリプト「АрсенийПичугин」を改善して、ファイルを新しい場所にコピーするときにディレクトリ構造が保持されるようにしました。これにより、.m3uファイルと対象の音楽ファイルを新しいデバイスにコピーできます。リンクが破損することはないため、mp3プレーヤーや電話のようにプレイリストは実際に再生されます。スクリプトは、音楽ファイルが見つかり、.m3uファイルが存在する最上位フォルダーにあると想定しています。

import os
import shutil

#here, add the name of the dir where the playlist files will be copied
directory_name = "/home/username/Desktop/Music/"
playlist_name = "Test_Favorites.m3u"

f = open(playlist_name, "r")
files = []
for line in f:
    line = line.strip().strip("\n").strip("\r")
    if line and not line.startswith("#"):
        files.append(line)
dir_contents = os.listdir(directory_name)
#print dir_contents
for file in files:
    try:
        filename = os.path.basename(file)
        filepath = os.path.dirname(file)
        newpath = directory_name + "" + filepath
        newname = newpath + "/" + filename
        if os.path.exists(newname):
          print filename + " already existed, not copied."
        else:
          if not os.path.exists(newpath):
            os.makedirs(newpath)
          shutil.copy(file,newpath)
          print newname
    except Exception as e:
        print str(e)

楽しい!

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.