Trong phần này sẽ nói tiếp về Server RC4W. Như đã nói thì về Server sẽ phức tạp hơn, tuy nhiên nếu bạn quản lý tốt server thì client sẽ dễ chịu hơn rất nhiều.
Phần này sẽ nói cơ sở dữ liệu. Nếu nắm được sơ sơ về phần này, bạn có thể khiến cho việc tìm kiếm bài hát ở client dễ chịu hơn rất nhiều. Tuy nhiên đây là phần nâng cao, nếu bạn không có kinh nghiệm về cơ sở dữ liệu, làm việc với nó sẽ không đơn giản.
GHI CHÚ: việc chỉnh sửa cơ sở dữ liệu có thể khiến chương trình hoạt động không như mong muốn nữa. Bạn nên có kiến thức cơ bản về access, cũng như cần đọc kĩ các mô tả về cơ sở dữ liệu trong bài viết này trước khi định làm gì.
Nơi chứa cơ sở dữ liệu
Phần mềm Server RC4W chứa cơ sở dữ liệu về các bài hát, tác giả, lời nhạc, ... trong file db.mdb ở trong thư mục file chạy. Khi bạn mới tải phần mềm về thì file này trắng, chỉ có một bảng trắng. Tuy nhiên bạn cũng có thể tải sẵn một file db.mdb có chứa danh sách karaoke của dvd midi california vol 18 nếu muốn.File này không có mật khẩu và bạn có thể mở bằng Microsoft Access.
Nội dung file db.mdb
Chỉ có một bảng duy nhất trong file db.mdb: SonglistDữ liệu lưu trữ thông tin chỉ đến các file nhạc trong máy tính của bạn, các thông tin bài hát như tên bài, tên tác giả, ca sĩ, những lời đầu bài hát và các thông tin hỗ trợ tìm kiếm khác.
Cấu trúc bảng như sau:
- SID: Song id: số hiệu bài hát. Giá trị số duy nhất trong bảng. Hiện nay SID được quy định 3 dải số như sau:
- 1-1000: dành cho server RC4W sử dụng quản lý danh sách bài hát
- 1001-999999 (một triệu trừ một): dành cho Walaoke
- Lớn hơn 1000000 (một triệu) : dành cho bạn điền số của mình vào. Không quan trọng số bao nhiêu, chỉ cần lớn hơn 1000000 và duy nhất.
- Title: tên bài hát
- Pathfile: đường dẫn đến file nhạc. Đường dẫn khuyến khích dùng đường dẫn tuyệt đối (dạng C:\abc\xyz\song.mp3). Đường dẫn tương đối (dạng ..\..\abc\xyz.mp3) có thể dùng được nhưng không khuyến khích.
- Pathfile_lyric: đường dẫn đến file lời bài hát (để dành, chưa sử dụng)
- Singer: tên ca sĩ
- Author: tên nhạc sĩ
- Type: thể loại nhạc
- Abbreviation: để dành
- Lyric: vài từ đầu của lời bài hát
- Title2, Singer2, Author2, Lyric2: "dạng 2" sử dụng cho mục đích tìm kiếm. Ví dụ như để viết tiếng việt không dấu, cho bạn tìm tiếng việt không dấu. Hoặc với tiếng Trung có thể tìm pinyin.
- RemoteURL, RemoteURL_lyric: để dành, chưa sử dụng
- ContentType: loại nội dung
- DVDMIDI: bắt buộc viết chính xác là DVDMIDI nếu bài hát lấy từ dvd-karaoke midi; với loại này SID đặt đúng số như trong list nhạc (5 số hoặc 6 số)
- MP3, MIDI, KAR, AVI, WMV, VOB, MKV, ... đuôi file nhạc.
Thứ tự ưu tiên khi tìm kiếm dữ liệu
Khi client gửi lệnh tìm kiếm, server sẽ tìm kiếm như sau với thứ tự ưu tiên như sau:- SID: mã số bài hát trước. Thông thường bạn không cần tìm mã số bài hát, nhưng để tương thích ngược lại DVD MIDI thì việc tìm kiếm này được thêm vào.
- Title, Title2: tên bài, tên bài dạng 2
- Author, Author2: tác giả, tác giả dạng 2
- Singer, Singer2: ca sĩ, ca sĩ dạng 2
- Lyric, Lyric2: lời bài hát và lời bài hát dạng 2
Các file thông tin bổ sung
Trong bài chi tiết phần 1 có nói qua về các file thông tin bổ sung, cách chúng được sử dụng khi chương trình quét dữ liệu trong các thư mục. Phần này sẽ nói chi tiết hơn về những file này.Ghi chú: không nhất thiết phải quan tâm đến phần này nếu bạn thấy tìm kiếm theo tên bài hát (tên file karaoke) là đủ
Importinfo.txt
Importinfo.txt là file riêng của chương trình để nhận biết các thông tin bổ sung cho file bài hát karaoke. Nội dung file này thực tế là bản copy của bảng Songlist trong cơ sở dữ liệu:- Dòng đầu tiên: tên các trường, cách nhau dấu TAB
- Các dòng tiếp theo: dữ liệu của các trường đó
- Encoding: UTF8 hoặc Unicode 16
Tình huống ban đầu: Cơ sở dữ liệu trắng, bạn cho chương trình quét bài hát vào database, khi đó chỉ có mỗi tên bài hát, các trường khác bị trống, và bạn muốn bổ sung. Khi đó hãy dùng Microsoft access mở file ra và sửa ở trong bảng Songlist. Nên sao lưu file db.mdb trước khi làm việc này.
Tình huống đã dùng lâu: bạn đã có dữ liệu đầy đủ (có thể là sau khi ngồi tỉ mẩn nhập dữ liệu), muốn chia sẻ file karaoke + thông tin bổ sung (importinfo.txt) này, copy sang cho máy tính khác:
- Mở cửa sổ Database Manager lên
- Vào tab database utils
- Ấn Get song-info for a folder. Chọn thư mục có file karaoke. Bảng phía dưới sẽ được điền đầy thông tin về các file karaoke trong thư mục bạn chọn (sẽ không có của thư mục con).
- Ấn vào Export table as importinfo.txt. Chương trình sẽ xuất bảng trên vào file importinfo.txt nằm ở thư mục bạn đã chọn.
- Như vậy bạn đã có file importinfo.txt cho thư mục karaoke của mình, thư mục này giờ đây có thể share, người khác khác có thể import và có dữ liệu bổ sung ngay lập tức.
Lyric files
Có một loại định dạng karaoke là MP3+LRC. Nghĩa là MP3 là file nhạc, LRC là file lời bài hát. File LRC chứa thông tin sau:- Tên bài
- Tác giả
- Lời nhạc + thời gian
Với RC4W, bạn chỉ cần biết là chương trình có đọc các file LRC cùng tên với MP3 trong thư mục, lấy đó làm thông tin bổ sung cho MP3 đó.
INF+MP3+XML
Đây là nhóm file dùng trong star.zing.vn. Nói cấu trúc file này thì không cần thiết, chỉ cần biết rằng nếu bạn dùng ZKOP hoặc ZingToWalaoke thì chương trình này có thể nhập được thư mục bài hát karaoke của 2 ứng dụng trên.Cửa sổ Database manager - tab Database Utils
Tab Folders Management quản lý thư mục nhạc đã được nói ở phần chi tiết 1 nên ở đây không nói lại mà sẽ nói về Database Utils. Thực ra thì không có gì nhiều để nói, đây chỉ vài tool nhỏ hỗ trợ:- Check if missing files: Dùng để kiểm tra xem liệu có file nhạc nào có dữ liệu trong database nhưng thực tế trên đĩa cứng không còn tồn tại hay không. Nếu có danh sách sẽ hiện ra ở bảng bên dưới.
- Delete items: xóa dữ liệu trong cơ sở dữ liệu tương ứng với bảng bên dưới
- Get songs-info for a folder: Dùng lấy ra một danh sách file nhạc kèm thông tin bổ sung (tên ca sĩ, nhạc sĩ, lời nhạc, ...) cho một thư mục xác định trên ổ cứng. Chức năng này dùng khi bạn muốn chia sẻ một thư mục nhạc karaoke cho bạn bè. Bạn xuất ra thành file importinfo.txt ở trong thư mục đó, người khác sẽ đơn giản import vào sẽ có đầy đủ thông tin cho từng file nhạc trong thư mục. Khi thực hiện chức năng này, bạn sẽ được yêu cầu chọn một thư mục. Chương trình sẽ tìm các file trong thư mục đó cùng với thông tin bổ sung có trong database và điền vào bảng phía dưới.
- Export table as (importinfo.txt): xuất toàn bộ bảng phía dưới thành file importinfo.txt vào thư mục đã chọn khi thực hiện chức năng Get songs-info for a folder.
- Export database: Xuất danh sách nhạc cho cả database
- Clean database: Xóa toàn bộ dữ liệu
- Test Search: thử chức năng tìm kiếm cơ sở dữ liệu. Kiểm tra thử để xem database đã đúng chưa. Cái này sẽ ảnh hưởng đến chất lượng tìm kiếm ở client
No comments :
Post a Comment