8 กันยายน 2559

Published กันยายน 08, 2559 by with 0 comment

อ่านและเขียนข้อมูลเพลงจาก ID3 ด้วย Python

สวัสดีผู้อ่านทุกท่านครับ ไฟล์เสียงส่วนใหญ่ไม่ว่าจะเป็น MP3 , WAV และอื่น ๆ มักจะมีรายละเอียด metadata ข้อมูลเพลง เสียง อยู่ในไฟล์นั้นด้วย โดย metadata ที่เป็นที่นิยมใช้งานกันคือ ID3

ID3 เป็น metadata ของไฟล์เสียงที่เป็นนิยมกัน ส่วนใหญ่ใช้งานในไฟล์ MP3 ถูกร่างขึ้นโดย Apple โดย ID3 บรรจุข้อมูลทั่วไปของเสียง ไม่ว่าจะเป็นชื่อเพลง ชื่อนักร้อง ปีของเพลง อัลบั้ม เป็นต้น

เราสามารถใช้ประโยชน์จาก ID3 มาใช้ในการจัดหมวดหมู่เพลง และอัลบั้มได้ ซึ่งโปรแกรมจัดการเพลงส่วนใหญ่ใช้วิธีนี้กัน ในภาษา Python มีโมดูลสำหรับอ่านและเขียนข้อมูลเพลงจาก ID3 คือ โมดูล Stagger

โมดูล Stagger เป็นโมดูลสำหรับอ่านและเขียน ID3v1/ID3v2 กับไฟล์ รองรับเฉพาะ Python 3 ใช้ BSD License และเป็น pure Python 3

สามารถติดตั้งได้ด้วยคำสั่ง
pip3 install https://github.com/lorentey/stagger/archive/master.zip

เมื่อติดตั้งเสร็จแล้ว เรามาลองดึงข้อมูล ID3 จากไฟล์เพลงกันครับ
เพลงที่ใช้
เพลง We'll Light The Sky - Lyonn

สามารถโหลดได้จาก https://www.jamendo.com/track/1215788/we-ll-light-the-sky

[python]
import stagger
tag = stagger.read_tag("Lyonn_-_We_ll_Light_The_Sky.mp3") #ที่ตั้งไฟล์เพลง
print(tag.artist)
print(tag.title)
[/python]

ผลลัพธ์
Lyonn
We'll Light The Sky

หากต้องการดูว่าสามารถดึงข้อมูลอะไรออกมาได้บ้างใช้คำสั่ง

[python]print(dir(tag))[/python]

แล้วปรับแต่งให้ตรงกับความต้องการครับ

สามารถอ่านเอกสารและวิธีการเขียนข้อมูล ID3 ลงไฟล์เสียงได้ที่ https://github.com/lorentey/stagger

ติดตามบทความต่อไปนะครับ
ขอบคุณครับ

0 ความคิดเห็น:

แสดงความคิดเห็น

แสดงความคิดเห็นได้ครับ :)