- Beets เป็นเครื่องมือจัดการเพลงโอเพนซอร์สที่ช่วย จัดระเบียบและแก้ไขเมตาดาต้าของคอลเลกชันเพลงโดยอัตโนมัติ
- ใช้ฐานข้อมูล MusicBrainz เพื่อเติมข้อมูลอัลบั้ม รายละเอียดเพลง และข้อมูลอื่น ๆ โดยอัตโนมัติ พร้อมมี เครื่องมือสำหรับจัดการและค้นหา ที่หลากหลาย
- ด้วยโครงสร้างแบบปลั๊กอิน จึงสามารถดึงหรือคำนวณเมตาดาต้าได้หลากหลาย เช่น ภาพปกอัลบั้ม, เนื้อเพลง, แนวเพลง, เทมโป, ReplayGain, ลายนิ้วมือเสียง
- รองรับฟีเจอร์อย่าง ตรวจจับแทร็กซ้ำ, ตรวจสอบแทร็กที่หายไป, แปลงฟอร์แมตเสียง, และ เล่นผ่านเว็บเบราว์เซอร์
- สามารถ พัฒนาปลั๊กอินเองได้ง่ายด้วย Python จึงให้สภาพแวดล้อมการจัดการเพลงที่ขยายต่อและปรับแต่งได้สูง
ภาพรวมของ Beets
- Beets เป็น เครื่องมืออัตโนมัติสำหรับจัดการเพลง ที่ออกแบบมาเพื่อจัดระเบียบคอลเลกชันเพลงในคราวเดียว
- จัดทำแคตตาล็อกให้คอลเลกชัน และใช้ฐานข้อมูล MusicBrainz เพื่อ ปรับปรุงเมตาดาต้าโดยอัตโนมัติ
- จากนั้นยังมี ชุดเครื่องมือ ที่หลากหลายสำหรับจัดการและเข้าถึงเพลง
ความสามารถหลัก
- ด้วย โครงสร้างการขยายแบบปลั๊กอิน จึงทำงานจัดการเพลงได้แทบทุกอย่าง
- ดึงหรือคำนวณ เมตาดาต้าทั้งหมดที่ต้องการ (ภาพปกอัลบั้ม, เนื้อเพลง, แนวเพลง, เทมโป, ReplayGain, ลายนิ้วมือเสียง) ได้
- ดึงเมตาดาต้าจาก MusicBrainz, Discogs, Beatport หรือประเมินจากชื่อไฟล์และลายนิ้วมือเสียง
- แปลงเป็นฟอร์แมตที่ต้องการผ่าน การทรานส์โค้ดเสียง
- มีฟังก์ชัน ตรวจจับแทร็กซ้ำและแทร็กที่หายไป
- สามารถ เรียกดูและเล่นผ่านกราฟิกอินเทอร์เฟซ บนเว็บเบราว์เซอร์ที่รองรับ HTML5 Audio
การขยายความสามารถและการพัฒนา
- หาก Beets ยังไม่รองรับฟังก์ชันที่ต้องการ ก็สามารถ เขียนปลั๊กอินเพิ่มได้อย่างง่ายดายด้วย Python
- เพิ่มความสามารถใหม่ได้ด้วยความรู้ Python ขั้นพื้นฐานเท่านั้น
การติดตั้งและเริ่มต้นใช้งาน
- คำสั่งติดตั้ง:
pip install beets
- หลังติดตั้งสามารถตั้งค่าเริ่มต้นได้โดยดู Getting Started guide
- สามารถติดตามอัปเดตได้ผ่าน บัญชี @beets บน Fosstodon
สรุป
- Beets เป็นเครื่องมือจัดการเพลงที่มีทั้ง การจัดระเบียบเมตาดาต้าอัตโนมัติ, ความยืดหยุ่นผ่านปลั๊กอิน, และ การเข้าถึงผ่านเว็บ
- ด้วยการทำงานร่วมกับระบบนิเวศของ Python จึงรองรับ การปรับแต่งที่เป็นมิตรกับนักพัฒนา และเป็นโซลูชันที่มีประโยชน์ทั้งสำหรับคนรักดนตรีและผู้ใช้สายเทคนิค
1 ความคิดเห็น
ความเห็นจาก Hacker News
สำหรับคนที่บอกว่ามีบางส่วนในคอลเลกชันที่ไม่มีอยู่ใน DB ไหนเลย ทางออกที่ดีที่สุดคือเพิ่มเข้าไปใน Musicbrainz ด้วยตัวเอง
ที่จริงแล้วการเพิ่มรายการเข้า Musicbrainz เป็นงานที่ง่ายและสนุกพอตัว
สำหรับสตรีมมิงรีลีสหรือบน Bandcamp แค่ใส่ URL ลงใน Harmony ก็จัดการให้โดยอัตโนมัติได้เกือบหมด
Musicbrainz สามารถแสดงข้อมูลเกี่ยวกับดนตรีได้แทบทุกแบบ และทั้งหมดเผยแพร่ภายใต้สัญญาอนุญาตเสรี การแก้ไขส่วนใหญ่มีผลอัตโนมัติ และมีเพียงบางส่วนเท่านั้นที่ต้องผ่านขั้นตอนโหวต 7 วัน
ในคอลเลกชันของผมมีทั้งแทร็กไฮบริดที่ตัดต่อเอง, บันทึกการแสดงของเพื่อน, ซาวด์แคปเจอร์จากเกม และของส่วนตัวอีกมาก
ของแบบนี้ควรจัดการด้วยระบบจัดหมวดหมู่ของตัวเองมากกว่า เหมือนกับการเอาสมุดสเก็ตช์ที่ไม่มี ISBN เข้าไปไว้ในห้องสมุดไม่ได้
ผมลำบากพอสมควรกับการนำไลบรารีเพลงเข้า beets
อัลบั้มเชิงพาณิชย์ไม่มีปัญหา แต่พอเป็นรีลีสที่ไม่ใช่เชิงพาณิชย์หรือแฟนเร็กคอร์ดดิง โมเดลข้อมูลจะไม่ค่อยตรง ทำให้เสียเวลาเยอะ
ถึงอย่างนั้น beets ก็เป็นเครื่องมือที่ยอดเยี่ยม เพียงแต่ยิ่งห่างจากรีลีสเชิงพาณิชย์มากเท่าไร ความยากก็ยิ่งเพิ่มขึ้น
ถ้าใช้สตรีมมิงเซิร์ฟเวอร์อย่าง Navidrome ขอแนะนำ beets-alternatives
มันสามารถซิงก์และแปลงบางส่วนของไลบรารีให้เป็นโครงสร้างแบบอื่นได้ เช่น เก็บอัลบั้มหลายแผ่นแยกเป็นโฟลเดอร์รายแผ่นไว้เหมือนเดิม แต่ก็ยังทำให้ตรงตามความต้องการของสตรีมมิงเซิร์ฟเวอร์ได้
มันตั้งค่าไปป์ไลน์นำเข้าอัตโนมัติผ่านเว็บ UI ได้ และจัดการขั้นตอนแบบแมนนวลได้ง่ายด้วย
ผมเกลียดแท็กgenre มันลดทอนรายละเอียดเกินไปและกำกวม
แม้แต่จะจัดวงอย่าง R.E.M. ว่าเป็นอะไรยังไม่ชัดเลย ผมรู้สึกว่ามีแค่พวก “ไลฟ์” หรือ “ซาวด์แทร็ก” ที่พอมีความหมาย
คำว่า ‘alternative’ แค่มีความหมายเปลี่ยนไปตามยุคเท่านั้นเอง
หลังจากใช้เวลาหลายวันปรับแต่งค่า beets ตอนนี้ผมพอใจมาก
เวิร์กโฟลว์ของผมคือซื้ออัลบั้มจาก Bandcamp → ดาวน์โหลด zip → รัน
beet importจากนั้น beets ก็จะช่วยแตกไฟล์อัตโนมัติ, จับคู่กับ Musicbrainz, อัปเดตเมทาดาทา และจัดโครงสร้างไฟล์ให้เรียบร้อย
ผมเคยลองใช้ beets เพราะว่ามันเข้ากับ Navidrome ได้ดี แต่สุดท้ายก็เลิกใช้เพราะสำหรับงานของผมแล้วผลลัพธ์ไม่คุ้มกับความพยายาม
ตอนนี้แทบไม่แท็กอะไรเลย และกำลังมองหาทางเลือกที่สามารถสร้างเพลย์ลิสต์เฉพาะกิจจากโฟลเดอร์ได้แบบ KDE Elisa
มีใครรู้วิธีทำให้การริป CD เป็นอัตโนมัติในเวิร์กโฟลว์ของ beets ไหม?
ผมชอบ beets แต่ไม่อยากให้ genre ละเอียดเกินไป อยากเก็บไว้แค่หมวดกว้าง ๆ
แต่การแท็กอัตโนมัติกลับสร้าง genre ย่อยออกมาเป็นร้อยแบบ
เพลงอย่างคลาสสิกที่มีหลายเวอร์ชันยิ่งยาก เพราะโครงสร้างการแท็กมันออกแบบโดยยึดเพลงป๊อปเป็นหลัก
ผมลองดู beets แล้วรู้สึกว่ามันเน้นงานอัตโนมัติ เลยอาจไม่เหมาะกับอัลบั้มออกใหม่เท่าไร
ตอนนี้ผมใช้ MusicBee แท็กด้วยมือแล้วคัดลอกไปไว้บนเซิร์ฟเวอร์ Navidrome
เลยสงสัยว่า beets จะเข้ากับเวิร์กโฟลว์ของผมหรือเปล่า
เพราะเคยเจอประสบการณ์แท็กเละ ๆ สมัย CDDB เลยต้องมาคัสตอมเอง
ผมเคยคิดจะเปลี่ยนเป็น FLAC แต่การจับคู่กับเมทาดาทา MP3 เดิมมันซับซ้อนเกินไป สุดท้ายเลยลงเอยกับข้อสรุปว่า “320k ก็พอแล้ว”
ผมชอบความสามารถของ beets แต่เวลา import จำนวนมากมันยังขาดทั้งตัวแสดงความคืบหน้าและความเสถียร
ถ้าเกิดชนหรือพังขึ้นมาแล้วสถานะความคืบหน้าหายไปนี่น่าเสียดายมาก
อยากได้ worker ที่คอยตรวจเจอเพลงใหม่แล้วประมวลผลให้อัตโนมัติแบบเบื้องหลัง
เมื่อก่อน betanin เคยทำหน้าที่นี้ แต่ตอนนี้ดูเหมือนถูกแทนที่ด้วย wrtag แล้ว
ถึงอย่างนั้น หลังผ่านขั้นตอน import ไปแล้ว วิธีของ beets ก็ยังทำงานได้ดีทีเดียว