PDA

View Full Version : Quản lý nhạc



The Old Man
14-07-2009, 12:02
Có một anh bạn chơi nhạc nhờ mình viết dùm một chương trình quản lý nhạc. Trong đó tất cả các bản nhạc được quản lý trong trong một database với tin tức như tên bản nhạc, do ai sáng tác (nhạc sỉ), âm điệu (ví dụ như Bolero, Tango v.v), và cái tông của người ca, có thề chứa tin tức vài người ca, và tông ca (Game hay Chords ví dụ như La Trưỡng, Đô Thứ v.v) Và hiễn thị lời ca lên để ca theo.

Đượng nhiên là có chức năng tìm thật lẹ và sắp thứ tự theo chữ Việt v.v
Mình không gặp rắc rối gì trong việc viết chuơng trình trên tuy nhiên có một trở ngại là mình có một word DOC chứa tất cả các bài nhạc (khoảng 7000 bài) mà mình download được.
Bây giờ mình muốn tách ra từng bản nhạc thành Unicode TXT file với tựa đề là tên file.txt.
Compiler và linker của mình không có khả năng đọc Word document nên có ý nhờ các bạn có ai biết cách hay có thề viết một CT bằng bất cứ ngôn ngữ nào miển nó có thể vào trong cái DOC mình có và RIP ra 7000 cái bài nHạc thành 7000 file txt riêng rẻ.

Mình hứa sẻ đúc kết lại thành một chương trình Quản Lý nhạc và uload lên cho mọi người với tất cả DATA và source code.

:helpsmiliCó ai có thể giúp được không? Chớ load MS Word rồi copy và paste ra 7000 bản nhạc thì mất quá nhiếu thời gian. :helpsmili

lqkhoi
14-07-2009, 12:50
Học thêm AutoIT hay Perl hay Python đi bác TOM ui, nếu nó có marker giữa 2 songs hay là bất cứ cách nhận biết nào cũng được thì viết cái này dễ ẹt à.

Cháu bận quá hổng giúp bác được. Hay bác hổng cần gấp thì gửi cho cháu cái file DOC 2 3 ngày nữa cháu viết cho.

The Old Man
14-07-2009, 13:08
Cám ơn lqkhoi! cái file DOC lớn quá nên đã tách nó ra làm 5 cái DOC nhỏ và đang upload nó.

Bạn lqkhoi có thể download 5 cái DOC theo link sau:
tom.vanviet.com/Music/LoiTinhK_ac.doc
tom.vanviet.com/Music/LoiTinhK_dh.doc
tom.vanviet.com/Music/LoiTinhK_im.doc
tom.vanviet.com/Music/LoiTinhK_ns.doc
tom.vanviet.com/Music/LoiTinhK_ty.doc

Không cần phải gấp lắm vài ngày hay một vài tuần củng OK.

Thanks

thèm tiền
14-07-2009, 13:26
up hộ cho ai còn cách nào nhanh hơn

lqkhoi
14-07-2009, 16:23
Cháu mở cái file của bác ra thì cháu nhớ lại ngày xưa đã chép cái này rồi. Của ai đó làm bên dactrung.net rất tỉ mỉ và công phu.

Còn về cái file của bác. Cháu nghĩ cách làm như thế này. Convert nó qua HTML từ Word (dùng office save as web filtered).

Sau đó lợi dụng đặc trưng của người làm ra cái file này để extract thông tin là:

1. Tên bài hát được dùng color Đỏ và font size lớn nhất

2. Tên tác giả màu xanh và màu nâu ở font trung bình

3. Phần còn lại là bài hát ở font bình thường và no color.

Với thông số trên dùng python hay perl có thể làm theo yêu cầu của bác TOM. AutoIT thì to quá như vậy chắc là khá chậm. Cháu bận nên có bạn nào hứng chí lập trình thì coi như gợi ý một số ý tưởng. Còn hổng ai làm thì weekend cháu làm chắc chừng 1 2h viết và test.

The Old Man
15-07-2009, 09:29
Không gấp tôi xin chờ. Xin cám ơn trước!!!

CounterStrike
17-07-2009, 09:44
Mình không gặp rắc rối gì trong việc viết chuơng trình trên tuy nhiên có một trở ngại là mình có một word DOC chứa tất cả các bài nhạc (khoảng 7000 bài) mà mình download được.
Bây giờ mình muốn tách ra từng bản nhạc thành Unicode TXT file với tựa đề là tên file.txt.
Compiler và linker của mình không có khả năng đọc Word document nên có ý nhờ các bạn có ai biết cách hay có thề viết một CT bằng bất cứ ngôn ngữ nào miển nó có thể vào trong cái DOC mình có và RIP ra 7000 cái bài nHạc thành 7000 file txt riêng rẻ...
:helpsmiliCó ai có thể giúp được không? Chớ load MS Word rồi copy và paste ra 7000 bản nhạc thì mất quá nhiếu thời gian. :helpsmili
vừa đọc mấy file doc của bác Tom, thấy quest khá hay và sẵn ôn lại VisualBasic, tranh thủ viết 1 đoạn VBA có sẵn trong Word giải đáp yêu cầu của bác đại khái như sau:

1/ Nguyên lý: Vì mỗi bài hát là 1 chương (section) nên ta sẽ copy từng chương ra lưu lại thành 1 file text unicode. Tên file sẽ là tựa-bài-hát_tác-giả.txt để tránh trùng tên.

2/ Cách dùng:
- Mở file .doc, xóa phần mục lục.
- bấm Alt+F11 để mở VBA và dán đoạn code, bấm F5 để chạy đoạn code (nếu rành Word, bác Tom cũng có thể dán đoạn code vào normal.dot cho tiện)

3/ Lưu ý:
- Vì cháu code trên ActiveDocument, chỉ nên mở 1 file doc lúc chạy code. Nếu mở cùng lúc nhiều file, bác Tome phải biết file nào là active (mà với file doc nhiều MB của bác, thao tác 1 file thoai cũng đủ mệt mỏi roài :tongue: ).
- Word ko có chức năng export, nên sẽ xuất hiện thao tác copy - tạo mới - dán - lưu lại - đóng file.
- Word 2003: file txt sẽ lưu cùng thư mục với file .doc gốc.
- Word 2010: (có thể là cả 2007): file txt sẽ lưu trong Default File Location trong Word Options, mặc định là Documents.

cháu đính kèm file mẫu (cắt ngắn từ file của bác) để tham khảo. Đã test OK trên Word 2003 và 2010. Có gì cần thay đổi bác post lên sớm, cháu sẽ ngâm cứu & bổ sung vào Chủ Nhật tới.

http://www.mediafire.com/download.php?hveggzj5xnz

chúc bác Tom sớm hoành thành "project" :)

The Old Man
18-07-2009, 00:21
vừa đọc mấy file doc của bác Tom, thấy quest khá hay và sẵn ôn lại VisualBasic, tranh thủ viết 1 đoạn VBA có sẵn trong Word giải đáp yêu cầu của bác đại khái như sau:

1/ Nguyên lý: Vì mỗi bài hát là 1 chương (section) nên ta sẽ copy từng chương ra lưu lại thành 1 file text unicode. Tên file sẽ là tựa-bài-hát_tác-giả.txt để tránh trùng tên.

2/ Cách dùng:
- Mở file .doc, xóa phần mục lục.
- bấm Alt+F11 để mở VBA và dán đoạn code, bấm F5 để chạy đoạn code (nếu rành Word, bác Tom cũng có thể dán đoạn code vào normal.dot cho tiện)

3/ Lưu ý:
- Vì cháu code trên ActiveDocument, chỉ nên mở 1 file doc lúc chạy code. Nếu mở cùng lúc nhiều file, bác Tome phải biết file nào là active (mà với file doc nhiều MB của bác, thao tác 1 file thoai cũng đủ mệt mỏi roài :tongue: ).
- Word ko có chức năng export, nên sẽ xuất hiện thao tác copy - tạo mới - dán - lưu lại - đóng file.
- Word 2003: file txt sẽ lưu cùng thư mục với file .doc gốc.
- Word 2010: (có thể là cả 2007): file txt sẽ lưu trong Default File Location trong Word Options, mặc định là Documents.

cháu đính kèm file mẫu (cắt ngắn từ file của bác) để tham khảo. Đã test OK trên Word 2003 và 2010. Có gì cần thay đổi bác post lên sớm, cháu sẽ ngâm cứu & bổ sung vào Chủ Nhật tới.

http://www.mediafire.com/download.php?hveggzj5xnz

chúc bác Tom sớm hoành thành "project" :)


Nhớ khi cho tên ra thì loại bớt dấu trong file name.
Ví dụ bài Bài không tên số 1 thì thành ra là bai khong ten so 1.txt


Có thể nào tự động load các file DOC vào và tự động chạy check trong DOC từng bài ca rồi tự cho ra thành TXT file với filename là tựa đề không dấu được không?

CounterStrike
18-07-2009, 12:55
Nhớ khi cho tên ra thì loại bớt dấu trong file name.
Ví dụ bài Bài không tên số 1 thì thành ra là bai khong ten so 1.txt

như vậy sẽ cần 1 hàm chuyển đổi, sẽ mất thêm ít thời gian.
nếu có ai đó giúp phụ cái hàm này thì biết mấy :emlaugh:
ah để cháu hỏi thêm bên VB..



Có thể nào tự động load các file DOC vào và tự động chạy check trong DOC từng bài ca rồi tự cho ra thành TXT file với filename là tựa đề không dấu được không?
đây là gợi ý hay, lẽ ra cháu nên nghĩ ra ngay từ đầu :yes:.. tự động load file khá đơn giản, chỉ cần bác "approve" cái "demo" là chức năng đó sẽ được đưa vào :)

lqkhoi
18-07-2009, 20:43
Cám ơn CounterStrike đã giúp mình hoàn thành lời hứa :D. Đang lui cui dọn nhà nên bận quá chẳng có thời gian :D.

Cuộc đời cứ phải chạy vòng vòng miết.

vtoday
18-07-2009, 20:56
Em có đề nghị thế này.
Dùng autoit cho việt cắt và save file lại.Trước đây emcó viết 1 số ứng dụng nho nhỏ.Tuy nhiên chạy kiểu autoit cướp chuột thế khá mất thời gian.
Ko biết anh TOM có thích không !

The Old Man
19-07-2009, 01:05
Em có đề nghị thế này.
Dùng autoit cho việt cắt và save file lại.Trước đây emcó viết 1 số ứng dụng nho nhỏ.Tuy nhiên chạy kiểu autoit cướp chuột thế khá mất thời gian.
Ko biết anh TOM có thích không !

Không cần biết là phải dùng phương tiện gì, miển là nó tạo ra cho mình file txt của từng bản nhạc là được.

Còn việc dùng cut và paste từng bản thì quá nhiều công.

Bất cứ chương trình gì và nó chạy như thế nào mình không cần biết.
Và chạy chậm lẹ không quan trọng.

Thật sự là mình cần các file txt đó là chánh, còn làm sao mà được thì không phải là chuyện quan trọng.


Xin cám ơn

CounterStrike
20-07-2009, 17:39
chờ lâu quá ko thấy ai post giup cái hàm đổi unicode sang ko dấu, hôm nay not busy tự làm lun, mất hết 1 buổi chiều (do bỏ VBA ~2 năm roài).. :emlaugh:

Llink kèm theo gồm 2 file word: 1 file dùng làm tool extract viết = VBA, 1 file là sample để test. Hi vọng lần này sẽ làm bác Tom hài lòng.

http://www.mediafire.com/download.php?zy2izzdm4hu

test extract file LoiTinhK_ac.doc của bác mất 10 phút (PC Vista chấm 5 điểm). Hết chổ file của bác chắc phải 30-45' :emlaugh:

* vì là VBA nên có thể có cảnh báo khi mở file phải Enable Macro, vì nó hoàn toàn Open Source nên bác Tom và mọi người ko phải lo virus hay malware đâu :D

The Old Man
20-07-2009, 21:53
Cám ơn CounterStrike rất nhiều.

Có cách nào đừng có tên tác giả sau cái filename được không?

CounterStrike
20-07-2009, 22:57
Có cách nào đừng có tên tác giả sau cái filename được không?

- tên tác giả trong filename chỉ để tránh bài hát bị trùng tên.
- đây là bản latest update, ko gồm tên tác giả, có chức năng chọn thư mục export hẳn hoi, bác Tom sẽ thao tác dễ dàng hơn.
- đã test trên Word 2k3 và 2010.
http://www.mediafire.com/download.php?yntmqw3xjzy

[=========> Bổ sung bài viết <=========]


Cám ơn CounterStrike đã giúp mình hoàn thành lời hứa :D. Đang lui cui dọn nhà nên bận quá chẳng có thời gian :D.

Cuộc đời cứ phải chạy vòng vòng miết.

có gì đâu :), nếu có thời gian thì vào test dùm và comment cho cái vba của tui là đc roài. :D

The Old Man
21-07-2009, 11:38
Thanks!
Đang convert.
Cám ơn bạn CounterStrike rất nhiều!!!!! :punk::punk:

[=========> Bổ sung bài viết <=========]

Mọi sự tốt đẹp đúng như ý muốn.

I owe you one!!

http://cards.webshots.com/resources2/6/7226.jpg

[=========> Bổ sung bài viết <=========]

Cầu cứu:

Làm sao bỏ hết các cái footer : Lời Tình K – http://dactrung.net/nhac

Có cách nào remove cái footnotes này trong bản DOC trước khi convert.
Lay hoay hoài mà không delete được cái footnote đó.

The Old Man
27-07-2009, 01:27
Help!
Trong word 2007, làm sao delete tất cả footer hay endnotes

CounterStrike
29-07-2009, 16:58
ko cần phải delete footer hay endnotes nữa bác Tom ơi.
Lần update này sẽ giải quyết triệt để vấn đề của bác :)

http://www.mediafire.com/file/nklyromzigi/Extractor.doc

:D

The Old Man
03-08-2009, 02:14
Chương trình đã xong! Đang debug và tuneup ở giai doạn cuối.

Khi xong sẽ upload lên cho anh em trong diễn đàn thử coi sao.

The Old Man
17-08-2009, 03:39
Sắp hoàn chỉnh và sẻ up lên cho anh em free với cả sourcode.

Hình chụp chương trình VNmusic đang dùng chung với MiniLyrics và Webcam:

http://www.vanviet.com/THOISU/VNmusic.jpg