ทำให้ชื่อเพลงไทย mp3 อ่านออกบน linux
Ubuntu Tips มกราคม 11th, 2008

ใครที่ใช้งาน linux คงเจอปัญหาเดียวกันหมด นั้นก็คือเวลาฟังmp3 เพลงไทย ตัวโปรแกรมมันอ่านไทยไม่ออก (โง่มากอยู่เมืองไทยอ่านไทยไม่ได้) ตามรูปบน ซึ่งแรกๆผมก็ไม่ได้อะไรกับมันมาก หลังๆเริ่มรำคาญ ซึ่งปัญหาตรงนี้ผมก็ยังไม่ค่อยเข้าใจว่าอะไรยังไงทำไมถึงอ่านไทยไม่ได้ มันเกี่ยวกับ ID3 tag อะไรเนี้ยเละ เดียวว่างๆค่อยไปหาข้อมูล แต่ก็พอเข้าใจว่า เพลง mp3 ในปัจจบันจะใช้รหัสภาษา Unicode ทำให้ตัวโปรแกรมเล่นไฟล์ media เช่น amarok , totem ไม่สามารถอ่านได้ เลยไปถามจารย์ใหญ่(Google) ได้ความตามนี้
วิธีทำ (Thank : คุณสมเจตน์ แห่ง ubuntuclub)
1.โหลดไฟล์ mp3unicode-1.0.1.tar.bz2 จากนั้นทำการแตกไฟล์ออกมาจะได้ Folder ชื่อว่า mp3unicode-1.0.1
2.เข้าไปใน Folder mp3unicode-1.0.1 แล้วหาไฟล์ที่ชื่อว่า mp3unicode.cpp
แล้วใช้โปรแกรมพวก text editor ไปแก้ไข โดยการแทรกข้อความ(สีแดง)เพิ่มเข้าไปจากนั้น เซพ แล้วออกมา
- $ cd ~/Desktop/mp3unicode-1.0.1
- $ gedit mp3unicode.cpp
….
….
int main(int argc, char **argv) { cmdParser parser(”mp3unicode”, “1.0.1″); QStringList bit8encodings;
bit8encodings.append(”cp1251″);
bit8encodings.append(”koi8-r”);
bit8encodings.append(”cp874″);
….
….
3.จากนั้นเข้าไปแก้ไขไฟล์ Makefile (กรณีนี้ใช้กับลินุกส์เบสออน Ubuntu)
- $ gedit Makefile
4.แก้ไขคำว่า -I${QTDIR}/include -L${QTDIR}/lib ไปเป็น
-I /usr/include/qt3 -L /usr/lib/qt3 จากนั้นเซพแล้วออกมา
5.ติดตั้ง packet ต่างๆที่จำเป็นในการคอมไพล์งานครั้งนี้ (base on ubuntu)
- $ sudo apt-get install build-essential libtag1-dev libqt3-mt-dev
6.ทำการคอมไพล์ด้วยคำสั่ง make
- $ make : ขั้นตอนนี้เรายังอยู่ใน folder mp3unicode-1.0.1
7.หลังจากคอมไพล์โดยปราศจาก Error จะได้แฟ้ม mp3unicode ให้ทำการคัดลอกแฟ้มดังกล่าวไปยังตำแหน่งที่เหมาะสมกับการเรียกใช้งาน
- $ sudo cp -f mp3unicode /usr/local/bin
ตอนนี้เราก็จะได้ตัวโปรแกรมแปลง ID3 Tag แล้วแต่เป็นแบบไฟล์ต่อไฟล์ ก็คือสามารถแปลงได้แค่ไฟล์เดียวเท่านั้นเอง โดยใช้คำสั่ง
mp3unicode –source-encoding cp874 –id3v1-encoding none –id3v2-encoding unicode [file.mp3]
ซึ่งถ้าเกิดเรามี mp3 เยอะๆล่ะ ไม่ต้องมานั่งแปลงจนเบื่อไปเลยหรอไงเนี้ย - - อย่ากระนั้นเลยไปทำให้มันสามารถแปลงได้ทั้ง folder ที่มีเพลงของเราเลยดีกว่า… อ้าวสู้ต่อไปทาเคชิ!!!
วิธีทำ (Thank : คุณสมเจตน์ แห่ง ubuntuclub)
1.ทำการสร้างสคริป
- $ sudo touch /usr/local/bin/tag2utf
- $ sudo chmod 755 /usr/local/bin/tag2utf
- $ sudo nano /usr/local/bin/tag2utf
2.เขียนคำสั่งเชลล์สคริปดังตัวอย่าง
#!/bin/bash
# FROM Master phong_th (ARTICLE AT:)
# AND Master Widdaya (ADVANCED MODIFIED:)SKEL=”*mp3 *MP3 *Mp3″
processfile() {
local i
for i in $SKEL; do
if [ -f "$i" ]; then
chmod +w “$i”
echo “Encoding: $i”
mp3unicode –source-encoding cp874 –id3v1-encoding none –id3v2-encoding unicode “$i”
fi
done
for i in *; do
if [ -d "$i" ]; then
echo “enter directory $i”
pushd “$i”
processfile
echo “exit directory $i”
popd
fi
done
}
processfile
3.จากนั้นก็จัดการเซพแล้วออกมา แล้วถ้าจะใช้งานก็ให้สั่งผ่าน terminal โดยให้ไปอยู่ ณ. ตำแหน่งของ folder ที่จะทำการแปลง แล้วจากนั้นใช้คำสั่ง tag2utf แค่นี้ตัวโปรแกรมเล่นไฟล์ media ก็จะสามารถอ่านไฟล์เพลงภาษาไทยออกแล้ว เย้ๆ ในที่สุดมันก็เป็นคนไทย หึหึ เดียวไปทำบัตรประชาชนให้ด้วยเลยดีกว่า
แหล่งอ้างอิง : http://linuxtip.blogspot.com/2007/02/id3-tag-part-ii.html
เป็นอันเสร็จเรียบร้อยโรงเรียน Anfield




พฤษภาคม 8th, 2008 at 9:12 pm
มีอีกวิธีนึงครับ คือใช้โปรแกรม EasyTag แก้เอา โดยต้องเซ็ตโปรแกรมตามรูป
http://img.thzhost.com/i/ko/easytag.png
มิถุนายน 2nd, 2008 at 12:45 am
ขอบคุณมากนะครับ ผมได้ความรู้จากพี่เยอะมากเลยครับ