Tìm bài hát ở Sóc Bay¶
- Tìm bài hát ở Sóc Bay
- Giới thiệu
- Tải về
- Cách dùng
- Cài đặt
- Tìm bài hát
- Dùng với mplayer
- Ghi chú
- Cảm ơn
- Linh tinh
Giới thiệu¶
Sóc Bay cung cấp dịch vụ tìm kiếm bài hát. Để lấy danh sách các tập tin mp3 được đệm (cached) bởi dịch vụ Sóc Bay, có thể dùng kịch bản socbay_lookup.sh do Kỳ Anh viết.
Tải về¶
Tải về hai tập tin đầu tiên trong danh sách sau đây (những liên kết gạch ngang ứng với phiên bản cũ).
- urlencode.sh
- socbay_lookup.sh - 1.2.6
socbay_lookup.sh - 1.2.5socbay_lookup.sh - 1.2.4socbay_lookup.sh - 1.2.3socbay_lookup.sh - 1.1.0socbay_lookup.sh - 1.0.1
Cách dùng¶
Cài đặt¶
Các tập tin .sh tải về cần được thiết lập ở chế độ thi hành được bằng cách dùng lệnh chmod +x urlencode.sh,... Hai tập tin này ở cùng trong thư mục hoặc ở trong thư mục nào đó được liệt kê trong biến môi trường của bạn.
Tìm bài hát¶
Để tìm bài hát "Mơ hoa" (Hoàng Giác), gọi lệnh
$ socbay_lookup.sh mơ hoa
Kết quả sẽ tương tự như sau (mặc định, chỉ 46 kết quả đầu tiên được hiển thị)
http://www.socbay.com/mp3/download/674721 http://www.socbay.com/mp3/download/674734 http://www.socbay.com/mp3/download/694410 http://www.socbay.com/mp3/download/694413 ...
Dùng với mplayer¶
Nếu dùng mplayer trên hệ thống .nix, bạn có thể trình diễn những tập tin .mp3 là kết quả xuất của kịch bản.
Ví dụ, tìm những tập tin .mp3 cho bài hát "Chiều" (Trọng Nguyễn, thơ Hồ Dzếnh) và nghe với mplayer
$ socbay_lookup.sh chiều | sort -u | mplayer -playlist -
Cũng có thể tạo playlist như sau:
$ socbay_lookup.sh chiều > chieu.txt $ mplayer -playlist chieu.txt
Khi dùng mplayer với playlist lấy từ stdout, ta không thể sử dụng các phím control để chọn bài hát kế tiếp,... Kịch bản sau đây là cách dùng nâng cao của hai ví dụ ở trên. Nếu lưu kịch bản sau với tên xplay.sh thì có thể dùng xplay.sh -loop stuff (nghe mãi không thôi) hoặc xplay.sh stuff. Chú rằng, kịch bản sẽ cần tới quyền ghi vào thư mục tạm /tmp/, và nó sẽ dùng biến thời gian để xác định tập tin tạm thời.
#!/bin/sh
sfile="/tmp/xplay.sh.`/bin/date +%s`.txt"
loop=""
if [ "x$1" = "x-loop" ]; then
loop="-loop 0"
shift
fi
socbay_lookup.sh $* > $sfile
grep -q mp3 $sfile
if [ $? -eq 0 ]; then
cat $sfile
mplayer -quiet $loop -playlist $sfile
else
echo "sorry. no song found"
fi
Ghi chú¶
Do đặc điểm của Sóc Bay, việc tìm tiếng Việt có dấu ra kết quả chính xác trong khi tìm với tiếng Việt không dấu có thể không ra kết quả
$ socbay_lookup.sh đàm vĩnh hưng # ra kết quả $ socbay_lookup.sh dam vinh hung # có thể không ra kết quả gì
Cảm ơn¶
Tác giả Kỳ Anh cảm ơn đội phát triển của Sóc Bay đã cung cấp dịch vụ tìm kiếm bài hát và cung cấp các URL để tìm kiếm ở dạng rất đơn giản, nhờ đó, kịch bản socbay_looupkup.sh có thể hoàn thành công việc. Tác giả cũng cảm ơn Heiner Steven là người viết nên kịch bản rất tuyệt vời là urlencode.sh.
Linh tinh¶
Các thông báo và góp ý về kịch bản tại VnOSS.org: http://forum.vnoss.org/topic6536.html
Dưới đây là câu chuyện bắt nguồn cho kịch bản (sorry for my poor English)
# I usually listen to music from http://music.socbay.com/. This search # engine is quite good and I almost remove all my local music files :) # The best stuff is that Sóc Bay provides various artists who perform # a same song! Koolz :P # # Because my box isnot always available online I should download some # mp3 files. I gonna download many songs as fast as possible. # Mouse isnot the best one. # # I first want to use curl. Looking into the source code of a random # query I just find a very intersing script: # http://music.socbay.com/music/javascripts/ajax.js # Ajax script shows me its wife :) It is quite hard to learn how this # script works. Suddenly I see that everything is queried from # http://music.socbay.com/music/xmlmp3.aspx # So my script was born :) # # Thanks to Sóc Bay Team and Hồ Minh Đức who wrote portions in ./ajax.js. # Without their very best service I cannot write this fun script.