Sunday, May 26, 2013

Tin tức - News

8/12/2013: Server version 1.4.1 build 2: fix bugs
30/11/2013: Server version 1.4.1 build 1: fix bugs
23/11/2013: Server updated version 1.4.1. Click here for details
19/11/2013: Client and server updated version 1.4.0: Click here for details

Thursday, May 23, 2013

Server RC4W - other files

In earlier post you knew about the database, now this post will tell you about all file in this Server RC4W software:
  • Configuration file: Remote Controller For Walaoke.exe.config
  • Conversion helper file: Information about converting name from 1st form to 2nd form: convert.cfg. 1st form is original, 2nd form is for searching purpose.
  • File log.txt và scanlog.log

Configuration file

There is only item in this configuration file is used: path to db.mdb, file extentions that can be scanned. Changing other items has no meaning because this settings can only be set in setting windows when program run.

Path to db.mdb: 

You can change this to make program use other mdb file (at the bold text)
        <add name="RemoteControllerForWalaoke.Properties.Settings.dbConnectionString"
            connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\db.mdb"
            providerName="System.Data.OleDb" />

File extentions that can be scanned

You can add or remove file type that you want program to scan and import to database here. Remember to write each of them in UPPER CASE, separated by ";"
            <setting name="ImportExts" serializeAs="String">                <value>KAR;MIDI;MID;MP3;WAV;SWF;MKV;VOB;DAT;AVI;MPG;FLV;WMV;MP4;MOV;WEBM;</value>

File convert.cfg

File convert.cfg is used to change 1st form to 2nd form. Its structure as following:
Each line of this file has the following format: <Original character><TAB><Destination string>
<Original character> is Vietnamese, Chinese, or Japanese, ... characters
<TAB> is tab character (\t)
<Destination string> is string that will replace the <original character>
In Vietnamese this string is only one character. But in Chinese or Japanese, this string usually has more than one character.

File log.txt và scanlog.log

log.txt log the activities of program that shown in Log Window (in Main Window, click button "Status Window")
File scanlog.log log the activities when scanning and importing data about karaoke files to the database.


Normally, you don't need to know about this information. You will need this information only if you have to set up something more advanced, such as:
  • You want to sing chinese and search by pinyin.
  • You run a karaoke bar, you can use 1 server computer that keeps all music and database. Other sub-server installed Server RC4W will refer to shared folders and database in this server computer. Like this, everytime you update database, other sub-servers automatically get update.
  • ...

Hỏi & đáp

Đây là các câu hỏi thường xuyên, bây giờ có lẽ chưa nhiều lắm nhưng sẽ điền đầy dần dần. Bạn có thể comment ở đây nếu gặp vướng mắc hoặc đề xuất gì cho chương trình

1. Bị lỗi hiển thị tiếng Việt, làm thế nào?

Vào phần cài đặt của Walaoke, đặt như hình dưới.

2. DVD Midi cài đặt thế nào

Vào phần Cài đặt MIDI DVD, chọn đường dẫn đến ổ đĩa DVD

3. Chỉ tìm kiếm được 3 kí tự trở lên

Vì chương trình tìm kiếm 1 xâu kí tự ở bất kì vị trí nào trong tất cả các trường (tên bài, lời, nhạc sĩ, ca sĩ) nên nếu tìm kiếm 1 hoặc 2 kí tự sẽ ra quá nhiều kết quả. Do đó, chương trình hạn chế tìm kiếm ở 3 kí tự trở lên. Ghi chú: mình đang suy nghĩ cho tìm kiếm 1 hoặc 2 kí tự, nhưng chỉ tìm những cái BẮT ĐẦU bằng 1 hoặc 2 kí tự này.

Wednesday, May 22, 2013

More details Server RC4W: database

If you missed the post More details about Server RC4W, you (really) should have a look. That post talks about program's task, windows, settings window, database manager window, and about which steps are taken when scanning folders for songs and importing data to database.

This post will be more about Server RC4W. As said earlier, server is much more complicated than client, but if you do it right, searching song on client will be much more comfortable.

WARNING: wrong modification database can make program to work unexpectedly. You should have a little knowledge about access database, and should also carefully read the description in this post before doing anything.

Database file location

Server RC4W keeps information of songs title, authors, lyrics, ... in the db.mdb file, that located in the same folder of exe file. In zip-file, this file is blank. However you can download a database file that already contained list of songs of dvd midi california vol 18.

This file can be open with Microsoft Access and doesn't have password-protected.

Content of db.mdb

There is only one table: Songlist

This is the structure of this table:

  1. SID: Song id: This is the only numberic field in this table. For now, SID is defined as following:
    • 1-1000: for server RC4W to manage playing song and songs in queue.
    • 1001-999999 (million minus one): for Walaoke
    • Bigger than 1000000 (million, 7 digits) : for you to fill your number. It can be any as long as it is bigger than 10000000 and unique.
  2. Title: Song title
  3. Pathfile: Path to karaoke file. You can use absolute path (recommend) or relate path (not recommend).
  4. Pathfile_lyric: Path to lyric file (reserved, not used).
  5. Singer: Artist name
  6. Author: Author name
  7. Type: Genres
  8. Abbreviation: Reserved
  9. Lyric: A few words in the beginning of song.
  10. Title2, Singer2, Author2, Lyric2: "form 2" are used for searching purpose. For example: can search Vietnamese without diacritics or Chinese pinyin or Japanese romanji.
  11. RemoteURL, RemoteURL_lyric: reserved, not used
  12. ContentType: content type or file type
  • DVDMIDI: this means this song from DVD MIDI, and it must be correctly written as DVDMIDI. And SID must be set correctly as number in provided songs list.
  • MP3, MIDI, KAR, AVI, WMV, VOB, MKV, ... extentions of media files.
Knowing about this file content can help you check if data was correctly imported or not. Or you can by yourself modify data (with the condition that you knew what you are doing).

Priority order when searching data

When client sends commands "search", server will search with priority order as follow:
  1. SID: Song id first. Normally, you don't have to search songid (this was the purpose when I made this program), but this order is added for back compability with DVDMIDI.
  2. Title, Title2: Song title, and 2nd form of song title
  3. Author, Author2: author, and 2nd form of author name
  4. Singer, Singer2: artist, and 2nd form of artist name
  5. Lyric, Lyric2: lyric and 2nd form of lyric
Searching results in client are also sorted by this order.

Additional information files

In the post More details about Server RC4W additional information files were mentioned, about how program uses them when scanning folders. This post will tell more about this files.
NOTE: You don't have to read this part if you feel that searching by song name (karaoke-file name) is enough.


Importinfo.txt is a specific file of this program to get additional information. This file content is actually a copy of table Songlist in db.mdb:
  • First line: Fields name of table, separated by TAB character.
  • Next lines: data of these fields.
  • Encoding: UTF8 or Unicode 16.
When program scans for media files, if it doesn't find the importinfo.txt file, it will import data to database normally, using file name as song title. The other information will be blank. This means that in client you can only search by song name

Beginning: Database is blank, you use program to scan and import data of songs to database. Then open database with Microsoft Access and fill data by manually. By saying manually, I mean you can copy from excel, text file or actually input manually. Keep in mind that you should backup database before beginning.
You have rich database and want to share: Maybe after a long time manually inputing data, you have a big database and want to share it along with karaoke files for your friends.You should create a importinfo.txt file in your karaoke folders, so that your friend can import files along with additional data.
  1. Open Database Manage
  2. Go to tab database utils
  3. Click "Get song-info for a folder". Select the folder containing karaoke files. The below table will be filled with information about karaoke files in the selected folder (subfolders are not included).
  4. Click "Export table as importinfo.txt". Program will create "importinfo.txt" file in the selected folder, and export this table into it.
  5. Now you have "importinfo.txt" for your karaoke folder. This folder now can be copied to other computer and your friend can import it and get additional data immediately, thank to you.

Lyric files

One of popular karaoke format is MP3+LRC. MP3 is music file, LRC is lyric file. LRC file contains the following information:
  • Song name
  • Author/artist
  • Lyric and timing
You can read more about this format at
With RC4W, you only need to know that this program can use the LRC files having the same name as MP3 file as additional information for this MP3.


This is bunch of files used in It is unnecessory to talk about this file structure. Just know that if you use ZKOP or ZingToWalaoke, this file can import karaoke folders of these two applications.

Database manager - tab Database Utils

Tab Folders Management was told in post More details about Server RC4W, so it will not be told again here. This tab "Database Utils" contains some small tweak, utils for your database:
  • Check if missing files:  Use this to check if there are certain files that actually don't exist on harddisk any more. This missing files will be shown in the below table.
  • Delete items: delete all items shown in the table (delete in database of course)
  • Get songs-info for a folder; Export table as (importinfo.txt):  see above in "Importinfo.txt" section.
  • Export database: Export all database as a text file.
  • Clean database: Delete all items in datababse.
  • Test Search: test the search function (as in client)

Sunday, May 19, 2013

Chi tiết hơn về Server RC4W - Các file khác

Phần trước đã trình bày chi tiết về Database, phần này sẽ nói về danh sách các file trong chương trình Server RC4W:
  • File cấu hình ban đầu:Remote Controller For Walaoke.exe.config
  • File chuyển đổi từ dạng 1 sang dạng 2: convert.cfg. "dạng 2" là dạng tên bài, ca sĩ, nhạc sĩ, lời bài hát, ở dạng tiếng Việt không dấu, hoặc pinyin, hoặc romanji; dạng 2 nhằm phục vụ mục đích tìm kiếm.
  • File log.txt và scanlog.log

File cấu hình ban đầu

Đây là file cấu hình ban đầu, do đó nếu đã chạy thì một số hạng mục sẽ lưu ở chỗ khác (tùy theo user sử dụng). Những hạng mục lưu ở chỗ khác này đều thay đổi được trong settings của chương trình. Còn lại, những hạng mục thuộc về Application thì chỉ có thể thay đổi ở file này. Các hạng mục thuộc về Application là:

Đường dẫn đến file db.mdb: 

Bạn có thể đổi để dùng file mdb khác. Đổi ở chỗ chữ màu đậm.
        <add name="RemoteControllerForWalaoke.Properties.Settings.dbConnectionString"
            connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\db.mdb"
            providerName="System.Data.OleDb" />

Các loại đuôi file sẽ được chương trình quét

Bạn có thể thêm bớt file mà bạn muốn quét vào cơ sở dữ liệu ở đây. Nhớ viết chữ hoa và các đuôi này cách nhau bởi dấu chấm phảy (;)
            <setting name="ImportExts" serializeAs="String">                <value>KAR;MIDI;MID;MP3;WAV;SWF;MKV;VOB;DAT;AVI;MPG;FLV;WMV;MP4;MOV;WEBM;</value>

File convert.cfg

File convert.cfg dùng để đổi dạng 1 sang dạng 2. Nó có cấu trúc như sau:
Mỗi dòng của file có dạng sau: <Kí tự gốc><TAB><Xâu kí tự đích>
<Kí tự gốc> là kí tự tiếng Việt, Trung, Nhật, ... nói chung là gốc.
<TAB> là kí tự tab
<Xâu kí tự đích> xâu kí tự tương ứng với kí tự gốc.
Ở tiếng Việt thì xâu kí tự đích chỉ là một kí tự. Ở tiếng Trung có thể là xâu kí tự pinyin dài hơn, tiếng Nhật cũng tương tự.

File log.txt và scanlog.log

 File log.txt ghi lại các hoạt động của chương trình tương ứng với cửa sổ Log Window (khi bấm nút Status Window ở cửa sổ chính)
File scanlog.log ghi lại hoạt động quét và nhập thông tin file nhạc vào database của chương trình.

Kết luận:

Nói chung người dùng thông thường không cần quan tâm những thông tin này. Nếu bạn cần cài đặt sâu xa hơn thì bạn tham khảo những thông tin này. Ví dụ về việc tùy chỉnh:
  • Bạn muốn hát tiếng Trung và tìm kiếm theo pinyin thì cài đặt file config.cfg
  • Nếu bạn làm một quán karaoke, bạn có thể làm 1 máy chủ chứa tất cả nhạc + database tập trung. Các máy con cài đặt Server RC4W sẽ trỏ tới file database được share từ máy chủ. Như thế chỉ cần cập nhật database một lần ở máy chủ sẽ đảm bảo cập nhật hết cho các máy con.
  • ...

Saturday, May 18, 2013

Chi tiết hơn về Server RC4W - cơ sở dữ liệu

Nếu bạn bỏ sót phần chi tiết 1 thì bạn nên xem lại. Phần đó nói về: nhiệm vụ và các cửa sổ, cửa sổ settings, cửa sổ database manager (quản lý cơ sở dữ liệu) và các bước thực hiện khi tiếp hành quét bài hát và nhập vào cơ sở dữ liệu.

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: Songlist
Dữ 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:

  1. 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.
  2. Title: tên bài hát 
  3. 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. 
  4. Pathfile_lyric: đường dẫn đến file lời bài hát (để dành, chưa sử dụng)
  5. Singer: tên ca sĩ 
  6. Author: tên nhạc sĩ
  7. Type: thể loại nhạc 
  8. Abbreviation: để dành 
  9. Lyric: vài từ đầu của lời bài hát 
  10. 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. 
  11. RemoteURL, RemoteURL_lyric: để dành, chưa sử dụng 
  12. 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.
Việc biết về nội dung file để bạn có thể kiểm tra việc chương trình đã import dữ liệu đúng hay chưa, hoặc bạn có thể tự mình thêm dữ liệu bằng tay nếu muốn (với điều kiện là bạn phải hiểu về cấu trúc file rồi)

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:
  1. 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.
  2. Title, Title2: tên bài, tên bài dạng 2
  3. Author, Author2: tác giả, tác giả dạng 2
  4. Singer, Singer2: ca sĩ, ca sĩ dạng 2
  5. Lyric, Lyric2: lời bài hát và lời bài hát dạng 2
Cũng theo thứ tự này, kết quả tìm kiếm sẽ xếp theo thứ tự trên ở client.

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 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
Khi chương trình quét file nhạc, nếu không tìm thấy file importinfo.txt, nó sẽ nhập dữ liệu vào như bình thường, sử dụng tên file làm tiêu đề bài hát, còn các dữ liệu khác (tác giả, tên bài, lời nhạc) để trống. Có nghĩa là khi tìm kiếm ở client, bạn chỉ có thể tìm theo tên bài hát. Với đại đa số có lẽ thế là đủ, tuy nhiên để tiện lợi hơn, bạn nên tạo file importinfo.txt mà có kèm thông tin khác (tác giả, ca sĩ, lời nhạc). Khi đó bạn có thể tìm kiếm theo tên tác giả, lời bài hát nữa. Có thể khách hàng của bạn sẽ thấy dễ chịu hơn.

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:
  1. Mở cửa sổ Database Manager lên
  2. Vào tab database utils
  3. Ấ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).
  4. Ấ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.
  5. 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 
Để hiểu hơn về định dạng này, có thể tìm ở
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 đó.


Đây là nhóm file dùng trong 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

Friday, May 17, 2013

Karaoke songs source - Nguồn file karaoke

For english: scroll down.

Bạn có thể tìm  nguồn nhạc karaoke:
  • MIDI DVD. Cách sử dụng xem ở hướng dẫn Walaoke
  • MP3+LRC: file mp3 và file lrc (lyric, định dạng cải tiến). Mình không biết có nguồn nào không, nhưng có vẻ nó không dễ tìm. Bạn vào google, tìm dạng "filetype:lrc <tên bài>" có thể tìm được.
  • MP3+XML: file mp3 và file xml (loại lấy từ star zing). Để lấy được loại file này bạn vào google tìm "Zing Karaoke Offline Player" và "Zing to Walaoke" sẽ tìm được các công cụ phù hợp.
  • KAR, MIDI: có thể tìm thấy ở nhiều trang chia sẻ, tuy nhiên nhạc nước ngoài nhiều hơn và chất lượng âm thanh thì bình bình (MIDI DVD nói ở trên chính là một bó các file MIDI/KAR này).
  • Video karaoke: FLV (có thể lấy từ youtube, đây là danh sách khoảng 1000 bài từ youtube), MP4, MKV (từ các nguồn HD nào đó, youtube cũng có), SWF (dạng flash - bản Walaoke pro mới chơi được; có thể lấy 

You can find source of karaoke files:
  • MIDI DVD California.
  • MP3+LRC: file mp3 and lrc (lyric, enhanced format). I really don't know where can download this type. You can try search by google: "filetype:lrc <songname>" 
  • MP3+XML: it is a format that used in a vietnamese karaoke website. If you are not vietnamese, this is maybe not what you want.
  • Video karaoke: FLV (can get from youtube), MP4, MKV (from other HD sources, youtube is also a good source), SWF (flash, can get from (a Vietnamese site)). Other: collection of nearly 10 000 links of karaoke video from sunflykaraoke.

Wednesday, May 15, 2013

More details about Server RC4W

(Link download for Server RC4W: here )

Server always is more complicated than Client. I tried to make the first start as simple as possible (quick start), but it still lacks of information, so if error occurs and users may give up, or even uninstall software.

This post will talk more about Server RC4W, maybe it will help you to fix errors.

  • Interface with client: Server through protocol TCP/IP through LAN/WLAN talks with client, retrieves command (play/next/search songs/...) from client.
  • Control Walaoke: Send hotkey to Walaoke to request play/next/stop/volume/... . Beside, Server can read list of songs that currently are playing.
  • Database Management: Search for song in database: search by title, artist, author or lyric. It may find original title or title without diacritics (vietnamese), pinyin (chinese), .....
MainWindow: window that observes server activities. This window can be opened by double-clicking the notify-icon in traybar or from context menu..
  • Local listening: ip of server, and port that server are listenings to.
  • Connected clients: list of all connected clients
  • Button "Disconnect" is to force a client to disconnect.
  • Status Window (maybe i put wrong name) shows log window
  • Settings - settings window.
  • Database manager - database manager window.
  • Shutdown server
  • Closing or minimizing this window only makes it to minimize to traybar (not to close). You should click shutdown server or exit in context menu to quit program.

Cửa sổ Settings
  • Walaoke execute: path to execution file of walaoke.
  • Pro version checkbox: program will check it after you select above field. You can change it (but not recommend). It tells Server RC4W which version of Walaoke to send hotkey correctly.
  • Network interface: Network ip of your computer. It maybe IPv4, IPv6, wlan or lan, but it must be the same network with your android phone.
  • Port: port that server will be listening to.
  • Show status window when program starts.
Cửa sổ Folder Management
Database manager: In order to search for songs quickly, by many critirials (title, artist, author, lyric), data is organized in db.mdb (Access database). This window is consisted of 2 tabs: Tab Folder management let you folders that contains karaoke media files and scan for them. Tab Database Utils allows you to tweak database. But in this post, i don't talk about this because it is not simple.
Tab Folder Management:
  • Add:
  • Remove:
  • Apply change: save the list of folders and scan
  • Discard change:
When button Apply change is clicked, program will scan all the folders and subfolders in the list. It will do all these steps:
  1. Search for all file MP3, KAR, MIDI, VOB, MKV, AVI, SWF, in short all formats which Walaoke can play (many).
  2. Beside, program will try to find additional information from files LRC (lyric); INF và XML (zing star); file importinfo.txt (specific format file of this program); to get artist, author name and lyric.
  3. Convert all additional information into "2nd form" (vietnamese without diacritics, pinyin, romanji) to serve searching purpose afterwards (file convert.cfg will be used for this operation).
  4. Check for duplications and import to database.
Details about format of additional information files; "2nd form" and convert.cfg; tab Database Utils will be described in other post.

Note that if there is no additional files, program will still import normally, using file names as title of songs.


QR to Google play

Server: Zip

Client: At google play

Older version:

Database: DB with list song of Vol 18 DVD California

KARAOKE SONGS: Karaoke sources


Sunday, May 12, 2013

Hướng dẫn về Walaoke

Phần này hướng dẫn đơn giản cách dùng Walaoke. Tuy nhiên vì liên quan đến RC4W (remote controller for walaoke - điều khiển từ xa Walaoke) nên hầu hết các thao tác với Walaoke bạn sẽ làm ở client và không có nhiều cái phải làm với Walaoke nữa. Những hướng dẫn ở đây sẽ không nói về cách dùng giao diện mà thiên về cấu hình, nguồn nhạc, và blah blah khác.

Làm thế nào để dùng DVD Midi California?
Walaoke chơi được DVD Midi California, nhưng KHÔNG chơi được đĩa của Arirang.
Để chơi DVD Midi california:
  1. Mua đĩa california (Có thể download iso, nhưng vấn đề bản quyền bạn nên cân nhắc). 
  2. Cho vào ổ DVD của máy tính. 
  3. Vào settings của Walaoke, đặt ở tab
  4.  Bạn đã có thể chọn bài để hát. Ấn vào cửa sổ video và chọn số; ví dụ 828888 (828xxx - bài hát Việt Nam)
    Vào Settings

    Đặt đường dẫn tới ổ DVD
Nếu như bạn đã có thể chọn bài hát như trên, sử dụng RC4W như sau: download list bài hát cho vol 18 ở đây; copy đè lên file db.mdb ở trong thư mục cài RC4W của bạn. Như thế, bạn đã có thể tìm và chọn bài hát trong dvd midi vol 18 từ xa qua điện thoại.

Nếu lỗi khi hiển thị tiếng Việt?
Thay đổi giống như ở đây:

Walaoke chơi được các loại nào? Lấy nhạc từ đâu?
  • MIDI DVD như đã nói ở trên
  • MP3+LRC: file mp3 và file lrc (lyric, định dạng cải tiến).
  • MP3+XML: file mp3 và file xml (loại lấy từ star zing). Để lấy được loại file này bạn vào google tìm "Zing Karaoke Offline Player" và "Zing to Walaoke" sẽ tìm được các công cụ phù hợp (có thể là vi phạm bản quyền, hãy sử dụng một cách khôn ngoan).
  • KAR, MIDI: có thể tìm thấy ở nhiều trang chia sẻ, tuy nhiên nhạc nước ngoài nhiều hơn và chất lượng âm thanh thì bình bình (MIDI DVD nói ở trên chính là một bó các file MIDI/KAR này)
  • Video karaoke: FLV (có thể lấy từ youtube), MP4, MKV (từ các nguồn HD nào đó, youtube cũng có), SWF (dạng flash - bản Walaoke pro mới chơi được; có thể lấy

Có thể tìm hiểu thêm về Walaoke ở đâu?
  1. Trang chủ
  2. Tìm kiếm từ khóa walaoke trên google ra rất nhiều
  3. Hỏi ở blog này

Chi tiết hơn về Server RC4W

Phần Server thường bao giờ cũng phức tạp hơn Client. Mình đã cố làm để khi chạy lần đầu tiên nó đơn giản nhất có thể (phần bắt đầu nhanh) , tuy nhiên nó sẽ thiếu thông tin nên khi mắc phải lỗi gì người dùng có thể nản. Với ai mà thích mày mò tìm hiểu một chút thì không sao, nhưng người khác sẽ uninstall chương trình luôn mất.

Bài này sẽ nói kỹ hơn về Server RC4W này. Link download: here

  • Giao tiếp với client: Server thông qua giao thức TCP/IP qua LAN/WLAN để giao tiếp với client, nhận lệnh điều khiển play/next/tìm kiếm bài hát/... từ client
  • Điều khiển Walaoke: Gửi hotkey đến cho Walaoke để ra lệnh play/next/stop/volume/... cho Walaoke. Ngoài ra chương trình còn có khả năng đọc được danh sách bài hát đang được chơi.
  • Quản lý database: Tìm kiếm bài hát trong database: cho phép tìm theo tên bài, tác giả, lời bài hát. Tìm kiếm với tên nguyên gốc và tên dạng không dấu (với tiếng Việt), phiên âm (với ngôn ngữ khác).
MainWindow: cửa sổ chính theo dõi hoạt động của server. Cửa sổ này có thể mở ra bằng cách nháy đúp vào biểu tượng ở traybar hoặc từ menu tắt.
  • Local listening: ip và port mà server đang nghe
  • Connected clients: danh sách các client đang cùng kết nối vào server
  • Nút disconnect để ép buộc ngắt kết nối
  • Nút Status Window (mình để nhầm tên - nhưng đại khái là thế) để hiện  ra log window
  • Nút Settings để hiện ra cửa sổ settings
  • Nút Database manager để ra cửa sổ quản lý database
  • Shutdown server để thoát hẳn server
  • Đóng và thu nhỏ cửa sổ này sẽ làm nó thu nhỏ xuống traybar (chứ không thoát ra). Bạn phải dùng nút shutdown server hoặc Exit ở menu tắt ở traybar.

Cửa sổ Settings
  • Walaoke execute: đường dẫn đến file chạy walaoke. Có thể là WalaOkePro.exe hoặc walaoke.exe (tùy theo bản pro hay bản free)
  • Tùy chọn Pro version: chương trình sẽ tự đánh dấu. Bạn có thể thay đổi nếu muốn (không khuyến khích). Đánh dấu để server RC4W biết phiên bản walaoke nào đang được chạy để gửi hotkey thích hợp.
  • Network interface: chọn địa chỉ mạng của máy mà bạn đang dùng. Vì một máy tính hiện nay có nhiều card mạng, chương trình không biết bạn dùng card nào để nối chung LAN với điện thoại nên bạn phải tự chọn. Địa chỉ này sẽ gần giống với địa chỉ IP mà điện thoại của bạn có. Có thể sẽ có dạng như là 192.168.0.x.
  • Port: trên PC mà server sẽ nghe tín hiệu từ client điện thoại.
  • Show status window when program starts: Hiện cửa sổ status window khi chương trình khởi động
Cửa sổ Folder Management
Database manager: Quản lý database. Để có thể tìm kiếm bài hát nhanh chóng chính xác, theo nhiều tiêu chí (tên bài, tác giả, lời bài hát, tiếng Việt có dấu lẫn không dấu), dữ liệu được tổ chức vào file db.mdb (Database của access).
Cửa sổ này có 2 tab: Tab Folder management cho phép thêm các thư mục file bài hát karaoke vào, sau đó quét để tìm kiếm. Tab Database Utils cho phép vài thao tác liên quan đến database, tuy nhiên trong bài này không nói đến vì nó dành ở mức độ sử dụng cao hơn.
Tab Folder Management:
  • Add: thêm thư mục vào danh sách bên trái
  • Remove: loại bỏ thư mục ở danh sách bên trái
  • Apply change: ghi lại danh sách thư mục và thực hiện quét thư mục
  • Discard change: không ghi những thay đổi
Khi ấn nút Apply change, chương trình sẽ quét các thư mục trong danh sách thư mục. Nó làm các bước sau khi quét:
  1. Tìm tất cả các file MP3, KAR, MIDI, VOB, MKV, AVI, SWF, nói chung là tất cả các định dạng mà Walaoke có thể chơi được (khá nhiều).
  2. Ngoài ra chương trình còn cố tìm các thông tin bổ sung từ các file LRC (lyric); INF và XML (dạng của zing star); file importinfo.txt (dạng riêng của chương trình); để lấy ra tên ca sĩ, tên bài hát, lời bài hát.
  3. Chuyển đổi các thông tin trên (ca sĩ, lời nhạc, tên bài hát) thành "dạng 2" (là tiếng việt không dấu, pinyin, romanji) để phục vụ tìm kiếm (sử dụng file convert.cfg để làm cơ sở chuyển đổi).
  4. Kiểm tra trùng lặp và nhập vào database.
Chi tiết hơn về định dạng các file thông tin bổ sung; "dạng 2" và convert.cfg; tab Database Utils sẽ nói ở bài khác.

Ở đây nếu không có các file bổ sung kia thì chương trình vẫn import bình thường không vấn đề gì.

Thursday, May 09, 2013

Bắt đầu nhanh

Phần này gọi là phần bắt đầu nhanh. Ở đây coi như là bạn đã quen thuộc với phần mềm Walaoke, và bạn biết phải download Walaoke ở đâu.



Bạn có thể dùng file msi để cài đặt phần mềm. Nó sẽ tạo ra một shortcut trên desktop. Chạy nó.
Nếu là lần chạy đầu tiên, bạn sẽ được yêu cầu cài đặt database. Dễ thôi:

  • Ấn add và chọn thư mục mà bạn giữ các file karaoke, video. 
  • Sau đó, ấn Apply change, chương trình sẽ quét file có đuôi kiểu như MP3, KAR, MIDI, VOB, MKV, .... và đưa tên vào database.
  • Ghi chú: chương trình có thể tự quét được MP3+LRC hoặc MP3+XML (định dạng lấy từ để bổ sung thông tin vào database (thông tin này là tác giả, ca sĩ, lời bài hát)

Sau khi cài đặt database, chương trình sẽ hỏi cài đặt cấu hình
  • Đầu tiên là chỉ cho chương trình đường dẫn tới Walaoke.
  • Tiếp theo là chọn mạng (Network interface),  bạn chọn mạng mà chung với điện thoại bạn sẽ dùng để điều khiển. Cổng thì cứ để mặc định
  • Then ok.

SERVER sẽ chạy và tạo biểu tượng ở traybar. Ấn phải chuột vào nó sẽ lên menu tắt cho phép làm nhiều thư hơn, tuy nhiên vấn đề này không được trình bày ở đây.

Nếu bạn chưa có phần mềm client, vào google play và cài. Có thể vào google play từ điện thoại và tìm chuỗi "Walaoke" sẽ ra. Nếu bạn không có android phone, mua lấy một cái.

Sau khi cài phần mềm client và chạy nó. Đầu tiên là màn hình login (connect). Phiên bản mới 1.1.0 cho phép tìm và ấn vào server để kết nối. Nếu không tìm thấy bạn có thể dùng đăng nhập bằng tay. Nhập địa chỉ server và cổng (8888-mặc định) mà bạn đã chọn ở trên, sau đó nhấn "Connect".

Bình thường thì nó sẽ kết nối vào server. Nếu như vì lý do nào đó nó không kết nối được, bạn thử kiểm tra IP, wifi có bật không, PC có tường lửa không, server trên PC đã chạy chưa.

Sau khi kết nối, thử tìm vài bài hát xem thế nào. Kết quả tìm kiếm phụ thuộc vào việc bạn cài đặt database trên Server như thế nào. Nếu kết quả trả về không có gì, thử tìm cái khác hoặc kiểm tra lại database.

Khi có kết quả trả về, ấn vào bài bạn muốn, nó sẽ nhảy lên menu cho phép chọn là thêm bài hát vào đầu hay cuối danh sách. Ngay khi chọn thêm vào Walaoke sẽ có thể chơi nhạc. Chú ý là Walaoke phải đang ở trên màn hình (không ở trạng thái thu nhỏ) thì mới chơi nhạc được

Vuốt màn hình qua lại để chọn giữa trang tìm kiếm (Search) và trang danh sách đợi (In queue)
Bài hát đang chơi sẽ xuất hiện ở phía dưới.

Giới thiệu

Remote controller for Walaoke là bộ gồm client và server, dùng để điều khiển Walaoke (một phần mềm chơi nhạc, cho hát karaoke trên Windows)

Walaoke là phần mềm chơi karaoke, có thể tìm thấy ở Nó có thể chơi: kar, midi, mp3+lrc, mp3+xml, video karaoke (mkv, vob, avi, wmv, ...) and flash (swf). Nhưng phần mềm hiện nay không có một cơ sở dữ liệu tốt và khả năng điều khiển từ xa thuận lợi, và nó không được cập nhật gì mới từ năm 2011. Tuy nhiên đây vẫn là phần mềm tốt.

Mình viết chương trình này để cho người sử dụng Walaoke có trải nghiệm karaoke tốt hơn. Chương trình muốn quá trình lựa chọn bài hát trở nên dễ dàng tiện lợi hơn. Trước đây bạn tìm bài hát trong sách nhạc và chọn theo mã số, giờ đây bạn có thể tìm theo tên, tác giả, lời nhạc, ...

+ Tìm bài hát theo tên, tác giả, lời nhạc
+ Điều khiển chức năng
+ Xem playlist trên điện thoại
+ Nhiều máy cùng điều khiển một lúc

Chương trình vẫn đang trong giai đoạn phát triển, mình dự định sẽ đưa thêm nhiều tính năng nữa vào cho chương trình (nếu có thời gian)

Nếu bạn thích hát karaoke, đây là chương trình cho bạn. Nếu bạn có quán karaoke, việc sử dụng phần mềm này và một máy tính bảng hoặc điện thoại android để điều khiển chọn bài thay vì người làm sẽ mang lại một cảm giác chuyên nghiệp hơn cho quán của bạn

+ Walaoke (pro or free):
+ Server: OS Windows, .NET framework 2.0
+ Client: Android phone 2.2 up
+ Wifi




Wednesday, May 08, 2013

Quick start

This is a quick start. Assuming you already are familliar with Walaoke, and you know where to download Walaoke

Video: quickstart


You can use setup msi file to install this software. It will create a shortcut on desktop. Run it.
For first time, you will be prompted to setup database. It is easy:
  • Just Add and select the folder you keep your karaoke file, video (this assuming that you familiar with Walaoke already). 
  • After that click Apply change. Program will scan files with extension like MP3, KAR, MIDI, VOB, MKV, .... and put their name in database. 

After database, it will prompt you to configure settings.
  • First Walaoke execute file: browse to point to the execute-file (pro or non-pro, all accepted).
  • Select the network interface. This may sounds difficult to someone, but it is easy. Just select the one with IP the most similar to ip of your phone (or your wifi network). Leaves the port default (8888)
  • Then ok.

Now SERVER will run and have an icon in traybar (by default). Right click on it to popup a context menu for more options. 

 If you don't have the client software, just go to google play and install it. If you don't have an android phone? Then buy one. 

Assuming you already install software (name RC4W client)
Connect screen: From version 1.1.0 let you search for server and click without entering IP and Port.
If you can not find server then you can manually input IP and port: Input IP of the server, which you selected above; and the port (by default 8888). Press connect.
Normally it should connect to server. For some reason it didn't connect, then check your IP, your wifi is on or not, your PC have firewall or not.

Assumming you connected. Then try search some song. The result of searching depends on how you setup your database. If you don't find what you are looking for, then first check the database (at context menu in traybar).

If your search returns results, click on the song you want, it will pop-up a quickaction menu for you to add song to the beginning or the end of the playing list.

Select and you can sing.
Swipe screen to select between search and inqueue list.
The playing song will be shown at the bottom, above control button.

Tuesday, May 07, 2013


Remote controller for Walaoke is a set of client and server, intent to control Walaoke (a karaoke-player running on Windows)

Walaoke is a karaoke-player that can be found at
Walaoke is a very good karaoke-player running on Windows. It can plays: kar, midi, mp3+lrc, mp3+xml, video karaoke (mkv, vob, avi, wmv, ...) and flash (swf). But it doesn't have a good database manager and remote controller, and doesn't have update since 2011. But it is still good.

I wrote this program so that Walaoke user can have better karaoke experience. This aim to make song-selection-process easier. Before, you need find your song in song book and select it by entering the Song Number using remote control. Now with this, you can search song by name, artist, author, and by lyric (a few words at begining of the song).

+ Search song by name, by artist, by author, by lyric
+ Control play, next song
+ See playing list

This program is still under development. I intent to add more features in the future.

If you love singing karaoke, this is the program for you.
If you own a karaoke bar, using this program may give your client a professional feeling about your bar.

+ Walaoke (pro or free):
+ Server: OS Windows, .NET framework 2.0
+ Client: Android phone 2.2 up




Sunday, May 05, 2013


For english, scroll down

[Tiếng Việt]

Chào mừng đến blog "Remote controller for Walaoke" (RC4W)
Ở đây bạn có thể đọc được thông báo, hướng dẫn sử dụng của chương trình này.

Nếu đây là lần đầu bạn vào blog này thì hãy đọc hết bài này trước.

Nếu bạn không biết phần mềm này để làm gì, vào phần Giới thiệu để đọc qua. Phần Download để tải chương trình và các thông tin về các lỗi đã sửa.
Nếu lần đầu dùng Walaoke hoặc chưa am hiểu lắm về phần mềm này, bạn nên xem hướng dẫn sử dụng Walaoke.
Phần bắt đầu nhanh sẽ giúp bạn tìm hiểu cách cài đặt Server RC4W và chạy nó như thế nào.

Phần client trên android sẽ hướng dẫn cách sử dụng client.

Phần Chi tiết hơn về Server RC4W sẽ nói kỹ hơn về các cửa sổ chính của Server RC4W. Nếu bạn thấy muốn tìm hiểu sâu hơn về cơ sở dữ liêu của chương trình thì vào Chi tiết hơn về Server RC4W - cơ sở dữ liệu.Ngoài ra bạn có thể tham khảo thông tin về các file khác trong bộ Server RC4W để cài đặt tốt hơn cho Server RC4W.

Nếu thiếu bài hát, bạn có thể vào nguồn nhạc Karaoke có thể tìm ra nguồn nhạc tốt.

Nếu có gặp khó khăn hay lỗi gì, hãy xem phần hỏi và đáp.


Welcome to blog "Remote controller for Walaoke" (RC4W)!
Here you can find announcements, tutorial, manual of program Remote controller for Walaoke. 
If this is the first time you are here, please read this post first.

If you don't know what it is about, go to Introduction. Go to Download section to download program and see the history of bugfixes.
Quick start will help you how to begin setup program and run.
More details about server RC4W will tell you more about server RC4W. If you want to know more about database, read post More about database. You can see post Server RC4W - other files to know about other files.

If you need karaoke songs, you can see Karaoke songs sources. Maybe you'll find what you are looking for.