ฉันจะล้างข้อมูลเมตาของ MP3 ทั้งหมดได้อย่างไร


22

ฉันใช้ "beets" เพื่อจัดระเบียบ mp3 ของฉัน อัลบั้มหนึ่งที่ฉันซื้อจาก Amazon เนื่องจากมีการทำเครื่องหมาย mp3 อย่างไม่ถูกต้องว่าเป็นการรวบรวมเมื่อจริง ๆ แล้วเป็นการรวบรวม ฉันจัดระเบียบไฟล์ต่างกันโดยขึ้นอยู่กับว่าอัลบั้มรวบรวมหรือไม่ ไม่ว่าฉันจะพยายามทำอะไรกับ mp3 เหล่านี้การเปลี่ยนแปลงที่ฉันใช้กับแท็ก ID3 ไม่ได้เกิดขึ้น

ตัวอย่างเช่น:

mp3info -d ../amazon_album/*  # This WIPES the tags
mp3info ../amazon_album/01-01 - Track 1.mp3 
../amazon_album/01-01 - Track 1.mp3 does not have an ID3 1.x tag.

แต่เมื่อฉันเปิดไฟล์ในเครื่องเล่นสื่อข้อมูลทั้งหมดยังคงอยู่ที่นั่น!

ดังนั้นฉันจึงลอง:

mp3info -a "LOL" ../amazon_album/*
mp3info  ../amazon_album/01-01 - Track 1.mp3
File: ../amazon_album/01-01 - Track 1.mp3
Title:                                  Track: 
Artist:  LOL
Album:                                  Year:  
Comment:                                Genre:  [255]

แต่ในเครื่องเล่นสื่อใด ๆ มันยังคงเก็บข้อมูลดั้งเดิมทั้งหมดไว้ ด้วยเหตุนี้ฉันจึงไม่สามารถเปลี่ยนอัลบั้มเป็น "รวบรวม" ซึ่งหมายความว่าฉันไม่สามารถจัดระเบียบใน Beets ตามที่ฉันต้องการได้

ฉันยืนยันว่าไม่ใช่ปัญหาการอนุญาตไฟล์ ฉันกำลังทำอะไรผิดหรือเปล่า? มีวิธีอื่นในการทำสิ่งนี้ใน Linux หรือไม่? หรือมีวิธีที่ฉันสามารถ "หลอก" บีทรูทในการรักษามันเป็นการรวบรวม (เพื่อที่จะใช้เส้นทางการรวบรวมของฉัน)?

คำตอบ:


9

mp3infoแก้ไขแท็กID3v1เท่านั้นคุณต้องใช้โปรแกรมเช่นeyeD3หรือid3v2ที่รองรับ ID3v2

สะดวกสบายยิ่งขึ้นคือการใช้MusicBrainz Picardเพื่อแท็กไฟล์ MP3 ของคุณ (ใช้ไลบรารี mutagen ที่อยู่ด้านล่าง)

เนื่องจาก mp3info รองรับ ID3v1 เท่านั้นจึงไม่สามารถลบ / ล้างข้อมูล ID3v2 ที่ฝังอยู่ในสตรีม MP3


ทั้ง beets และ Picard ใช้ไลบรารี mutagen เพื่อติดแท็กไฟล์และข้อมูลจากเว็บไซต์ MusicBrainz.org ดังนั้นการเปลี่ยนจาก beets เป็น Picard จะไม่ช่วยอะไรมากมาย ส่วนเกี่ยวกับ ID3v1 นั้นถูกต้องแน่นอน
Wieland

เลือกตัวเลือก -> ตัวเลือกจากนั้นแท็กใน Picard และคุณสามารถเลือกที่จะเขียนแท็ก ID3v1 (ไม่แน่ใจว่าเป็นค่าเริ่มต้น) นั่นจะเป็นการกำจัดข้อมูล ID3v1 เก่าอย่างแน่นอน
Zelda

มีการตั้งค่าสถานะในหัวบีตซึ่งช่วยให้คุณปิดใช้งานการติดแท็กอัตโนมัติเพื่อนำเข้า ในอีกกรณีของปัญหาเดียวกันที่ฉันอธิบายฉันสามารถแก้ไขได้โดยเปลี่ยนแท็ก ID3v1 จากนั้นนำเข้าอีกครั้งโดยปิดใช้งานการติดแท็กอัตโนมัติจาก MusicBrainz สิ่งนี้รักษาการเปลี่ยนแปลงของฉันไว้และอนุญาตให้ฉันนำเข้าอัลบั้มตามที่ฉันต้องการ ฉันเดาความแตกต่างระหว่างเคสนั้นกับเคสนี้คือ ID3v2 (ซึ่งฉันไม่รู้เกี่ยวกับจนกระทั่งโพสต์นี้) ตอนนี้ฉันจะลองใช้ eyeD3 และ id3v2 เพื่อกำจัดแท็กเหล่านั้นในอัลบั้ม Amazon นี้
CptSupermrkt

11

ที่จะตัดแท็ก ID3 จากไฟล์ MP3 id3convertคุณสามารถใช้เครื่องมือ มันมีสวิทช์ที่เรียกว่า "แถบ" หรือ-s--strip

-s - แถบแถบแท็กแทนการแสดงผล (ค่าเริ่มต้น = ปิด)

ตัวอย่าง

หมายเหตุ:รวมทั้งแท็ก id3v1 และ id3v2

ก่อน

$ id3info a.mp3 

*** Tag information for a.mp3
=== TIT2 (Title/songname/content description): Feist - I Feel It All
=== COMM (Comments): (ID3v1 Comment)[XXX]: Music video by Feist performin
*** mp3 info
MPEG2/layer III
Bitrate: 8KBps
Frequency: 22KHz

เพิก

$ id3convert -s a.mp3 
Converting a.mp3: attempting v1 and v2, stripped v1

หลังจาก

$ id3info a.mp3 

*** Tag information for a.mp3
*** mp3 info
MPEG2/layer III
Bitrate: 8KBps
Frequency: 22KHz

อ้างอิง


9

eyeD3เครื่องมือที่มีความได้เปรียบที่มีอยู่ในที่เก็บอูบุนตูเป็นอีก นี่คือคำสั่ง:

eyeD3 --remove-all music.mp3


0

คำตอบของ Zelda ให้คำตอบที่ถูกต้องสำหรับคำถามของฉัน กลายเป็นว่าฉันกำลังถามคำถามผิดดังนั้นฉันคิดว่าฉันจะเพิ่มคำตอบนี้สำหรับอนาคตของ Google ที่สะดุดกับเรื่องนี้

แม้ว่าฉันจะเช็ดทำความสะอาดแท็ก (ทั้ง ID3v1 และ ID3v2) จากนั้นป้อนแท็กทั้งหมดด้วยตนเองอีกครั้ง --- beets เพียง แต่จะไม่นำเข้าเป็นการรวบรวม

มุ่งมั่นฉันทำผิดซอร์สโค้ด beets และพบปัญหาของฉัน --- ปรากฏว่าหากชื่อหนึ่งปรากฏขึ้นจำนวน X ครั้งในฐานะศิลปินเพลงมันใช้ตัวเองเพื่อประกาศว่ามันไม่ได้รวบรวม อย่างน้อยนั่นคือสิ่งที่ฉันรวบรวมจากข้อมูลโค้ดนี้ในimporter.py:

if task.choice_flag == action.ASIS:
    # Taking metadata "as-is". Guess whether this album is VA.
    plur_artist, freq = util.plurality([i.artist for i in task.items])
    if freq == len(task.items) or (freq > 1 and
            float(freq) / len(task.items) >= SINGLE_ARTIST_THRESH):
        # Single-artist album.
        changes['albumartist'] = plur_artist
        changes['comp'] = False
    else:
        # VA.
        changes['albumartist'] = VARIOUS_ARTISTS
        changes['comp'] = True

ฉันอ่านรหัสไม่เพียงพอเพื่อค้นหารายละเอียดอีกต่อไปเพราะทันทีที่ฉันอ่านส่วนนั้นฉันได้ลองลบชื่อของศิลปินที่โด่งดังและ voila! หัวผักกาดนำเข้ามันเป็นการรวบรวม

นี่ไม่ใช่ทางออกที่ดีสำหรับฉันเพราะฉันคิดว่าเป็นการรวบรวมอัลบั้มส่วนตัวแม้ว่าจะมีศิลปินคนอื่น ๆ ในแผ่นดิสก์ (และไม่ใช่ "เนื้อเรื่อง") สิ่งที่ฉันทำได้คือกำจัดชื่อของศิลปินที่มีอยู่เดิมนำเข้าแล้วแก้ไขศิลปินของไฟล์เหล่านั้นด้วยตนเองเพื่อกู้คืนศิลปินที่ถูกต้อง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.