Nghe nhạc một cách khoa học

Bạn sẽ nghe nhạc như thế nào với một thư viện hơn 14 ngàn bài hát? Dù với một máy iPod 80GB (đủ sức chứa 20 ngàn bài), nhiều khả năng là bạn sẽ không bao giờ nghe hết những bài mình có. Để nghe hết 14 ngàn bài là một chuyện, làm thế nào để mình luôn nghe được thứ mình muốn tùy vào hoàn cảnh lại càng khó hơn. Buổi sáng đi học "bất ngờ" được nghe những bài mình thích khiến cho mình có cảm giác "khí thế" hơn hẳn, và sẽ rất chán nếu mới mở lên đã gặp phải những bài "đinh tai nhức óc". Điều đó phụ thuộc vào khả năng "khám phá" và sắp xếp thư viện nhạc của bạn một cách khoa học. Và đó cũng là vấn đề của tớ hiện tại…
Hiện tại tớ có một thư viện nhạc với khoảng 14 ngàn bài (Anh, Pháp, Trung, Nhật, Hàn, Việt lẫn lộn). Là dân máy tính,tớ muốn mọi thứ được sắp xếp theo trật tự và cấu trúc rõ ràng (chỉ là trong lập trình và sắp xếp dữ liệu, còn phòng học thì như một bãi rác thành phố) và vì vậy tất cả các bài hát đều có thông tin ID3 về ca sĩ, album,… rất rõ ràng.
Đặt vấn đề
Cái vấn đề mà lâu nay tớ vẫn đang phải đau đầu chính là:
- Làm thế nào để "tìm" hết được những bài hát hay có trong thư viện của mình. Vừa rồi thống kê lại (sử dụng tính năng của iTunes) mới thấy được "sự thật": trong gần 1 năm vừa rồi, tớ chỉ mới nghe 4000 bài hát trong tổng số 14 ngàn bài. Tớ sưu tầm nhạc thường theo ca sĩ - nghe một vài bài hát của một ca sĩ thấy hay thì thường "sưu tầm" luôn càng nhiều nhạc của ca sĩ đó càng tốt (đó là lý do tại sao thư viện lên đến 14 ngàn bài). Nhiều khả năng là trong số 10 ngàn bài còn lại tớ sưu tầm về mà chưa từng nghe sẽ vẫn còn nhiều bài tớ thích. Đây là lý do tại sao lâu lâu tớ lại khám phá ra một bài hay để giới thiệu đến các bạn trên nguoitapviet.
- Tìm một cách để dễ dàng "xếp hạng" những bài hát mình nghe một cách dễ dàng nhất. Tớ xếp hạng bài hát theo kiểu từ 1-5, trong đó 5 là những bài rất thích - dù nghe trong tình huống nào cũng vẫn thấy hay, 4 là những bài nghe hay nhưng tùy vào hoàn cảnh,… Phần mềm nghe nhạc hiện tại của tớ là iTunes có tính năng "rating" (xếp hạng) giống như nhiều phần mềm khác - nhưng để "chấm điểm" từng bài một thì quả là không thể.
Đi tìm giải pháp
Giải pháp cho vấn đề thứ nhất thì không có cách nào khác là bạn sẽ phải nghe hết tất cả những bài trong thư viện của mình. Có một số phần mềm như SoundFlavor sẽ trợ giúp bạn bằng cách phân tích những bài hát trong thư viện nhạc của bạn và cố gắng giới thiệu cho bạn những bài mà "nó" (phần mềm) nghĩ rằng bạn sẽ thích dựa trên thống kê về những gì bạn đã nghe. Tuy nhiên, từ những gì tớ cảm nhận thì phần lớn những phần mềm này không làm được điều mà nó hứa hẹn, bởi đối với phần mềm phân tích sử dụng cơ sở dữ liệu có sẵn thì phần lớn các bài nhạc Việt/Trung/Hàn đều không có trong cơ sở dữ liệu của họ, trong khi những phần mềm phân tích dựa trên thông tin về âm thanh của mỗi bài lại tốn quá nhiều thời gian để phân tích hơn 14 ngàn bài có sẵn.
Vấn đề thứ hai thì khó hơn và có lẽ sẽ cần một phần mềm hỗ trợ. Ý tưởng của tớ là một phần mềm dạng này sẽ có khả năng tự động cập nhật thay đổi "điểm" cho từng bài dựa trên thông số về lượt nghe của người dùng. Ví dụ:
- Ban đầu, tất cả các bài hát sẽ đều được cho điểm "3" - tức là trung bình. Mọi bài hát sẽ đều có cơ hội như nhau (và "cơ hội" được chọn nghe của mỗi bài là như nhau nếu bạn chọn chế độ chơi ngẫu nhiên)
- Mỗi khi một bài hát được nghe trọn vẹn một lần, phần mềm tự động cộng thêm nửa điểm (1/2) cho bài hát đó.
- Nếu một bài hát bị người dùng bỏ qua giữa chừng (nhấn "next" để chuyển qua bài khác) thì phần mềm sẽ tự động trừ đi 1/2 số điểm.
- Nếu một bài hát thỏa mãn một điều kiện nhất định (ví dụ như có số lần được nghe đạt một mức nào đó) thì nó sẽ được gán điểm cố định (không thay đổi). Ví dụ, nếu một bài hát được nghe hơn 10 lần và không bị "bỏ qua" lần nào sẽ được gán điểm tuyệt đối là 5 - tức là những bài bạn thích. Điểm số của bài này sẽ không bao giờ bị thay đổi một khi đã có được điểm tuyệt đối. Tất nhiên, sẽ có điều kiện để bạn tự động ghán điểm "ghét" và sẽ không bao giờ phải nghe những bài đó.
Viết một phần mềm như vậy có lẽ không khó (đã từng thử dùng .NET để viết chương trình tương tác với thư viện của iTunes, Windows Media Player chưa đến mấy dòng mã), nhưng vẫn chưa có thời gian để thử.
Thử làm "ban giám khảo"
Cũng may là vừa qua mới "khám phá" ra một cách sử dụng tính năng "smart playlist" (danh sách thông minh) của iTunes để giải quyết một phần hai vấn đề trên:
Tính năng "smart playlist" của iTunes cho phép bạn tạo ra danh sách động của các bài hát dựa trên một số điều kiện - và danh sách này sẽ thay đổi liên tục mỗi khi có sự thay đổi trong thư viện nhạc. Ví dụ bạn sẽ có thể tạo một danh sách gồm những bài bạn đã nghe trong tuần trước. Dĩ nhiên, danh sách này sẽ thay đổi theo mỗi ngày.
Để tìm những bài nhạc mình chưa nghe, tớ tạo một danh sách động với những điều kiện như sau:

Một cách ngắn gọn, danh sách này sẽ bao gồm những bài tớ chưa nghe trong vòng một tháng vừa trước, trừ những bài nào đã bị tớ "bỏ qua" trước khi nghe hết từ 2 lần trở lên, chưa từng được xếp hạng, và không phải là video hay sách nói.
Bằng cách này, mỗi bài sẽ có 2 cơ hội để được tớ đánh giá (nếu tớ nghe hết cả bài tức là đạt yêu cầu) và tớ sẽ không phải nghe lại lần thứ 3 một bài mà tớ không thích (bị bỏ qua đến 2 lần). Cách này cũng đảm bảo là bất kể tớ nghe hết một bài hoặc bỏ qua nó, tớ sẽ không phải nghe lại nó trong vòng 1 tháng. Điều này sẽ giúp "tăng tốc" quá trình duyệt qua phần thư viện 10 ngàn bài còn lại chưa từng được nghe của tớ.
Kế đó, tớ tạo một loạt các danh sách động trợ giúp quá trình phân loại bài hát. Trước hết là những bài "ứng cử viên" để được xếp hạng:

Danh sách này bao gồm những bài hát chưa từng được xếp hạng mà tớ nghe trọn vẹn trong 1 tháng trở lại đây, có tổng số lần bị bỏ qua phải ít hơn 4.
Vì mỗi lần tớ nghe trọn vẹn một bài thì bài đó được xem như là "nghe được" đối với tớ, và vì vậy tớ nên xem xét để xếp hạng nó. Việc giới hạn lại chỉ gồm những bài hát nghe trong vòng 30 ngày trở lại là nhằm giúp tớ dễ dàng hơn (và đỡ sốt ruột hơn) trong việc duyệt qua và xếp hạng (làm từng ít một).
Một khi đã lọt vào danh sách xếp hạng, một bài hát sẽ tiếp tục được theo dõi để "lên hạng". Danh sách đề cử những bài có thể được xem là "5 sao" (tức là rất thích) được tạo ra với các điều kiện:

Danh sách này sẽ bao gồm những bài mà tớ đã nghe từ 4 lần trở lên mà tớ nghe trong vòng 1 tháng trở lại đây. Ngoài ra, bài hát đó phải nằm trong danh sách xếp hạng (điểm >=1) Bài hát đó phải chưa từng bị "trừ điểm" trong vòng 2 tháng gần nhất.
Bạn có thể thấy điều kiện chủ yếu của tớ để xem một bài mà tớ rất thích là nó phải được nghe từ 4 lần trở lên mà không bị bỏ qua lần nào. Con số 4 lần chỉ là một con số tượng trưng, nhưng tớ cho là đủ để đánh giá một bài hát - bởi trong 4 hoàn cảnh khác nhau bạn đều nghe được hết bài đó thì có lẽ bạn rất thích nó :)
Kết luận
Bạn có thể nhận thấy một vài điểm trong quá trình trên:
- Quá trình "tuyển chọn" rất giống với các cuộc bình chọn âm nhạc: các bài nhạc trước tiên được khán giả nghe thử và mỗi khán giả sẽ gửi một phiếu điểm cho mỗi bài: "hay" (tức bạn nghe hết một bài), hoặc "dở" (bạn bỏ qua giữa chừng trong quá trình nghe). Các phiếu điểm này sẽ được tổng kết lại và các bài hát sẽ được rút lại thành một danh sách ngắn hơn mà sau đó sẽ được tiếp tục tuyển chọn để hình thành nên danh sách những bài "đỉnh" ("Top 10")
- Chính bạn làm "Ban giám khảo" và cũng chính bạn làm "khán giả bình chọn"
Phương pháp trên sử dụng tính năng danh sách động ("Smart playlist") của iTunes - nhưng tất nhiên, bạn cũng có thể áp dụng nó cho các phần mềm khác hỗ trợ tính năng này bao gồm Windows Media Player và cả Winamp. Những bạn có iPod sẽ thấy việc sử dụng iTunes rất thuận tiện trong quá trình này vì thông tin về những gì bạn nghe trên iPod cũng sẽ tự động được chuyển về cho iTunes. Điều đó có nghĩa là bạn không cần phải ngồi trước máy để "tham gia bình chọn".


Viet Nam
Malaysia
United States
Canada
Australia







Đặng Quang Vinh
Viet Nam
đến từ
Quả là một ý tưởng hay, nhưng có một vấn đề đó là: có những bài mà em thích nghe, nhưng do nhiều lý do (thời gian không cho phép chẳng hạn, hay lời 2 nhai lại lời 1) nên ấn next luôn sau khi nghe xong lời 1, thế thì …