Skip to content
Mì AI Mì AI Mì AI

Học AI theo cách Mì ăn liền!

Mì AI Mì AI Mì AI

Học AI theo cách Mì ăn liền!

  • Trang chủ
  • Kênh Youtube
  • Facebook Group
  • Nói về chủ tiệm Mì
  • Trang chủ
  • Kênh Youtube
  • Facebook Group
  • Nói về chủ tiệm Mì
Close

Search

  • Trang chủ
  • Kênh Youtube
  • Facebook Group
  • Nói về chủ tiệm Mì
Mì AI Mì AI Mì AI

Học AI theo cách Mì ăn liền!

Mì AI Mì AI Mì AI

Học AI theo cách Mì ăn liền!

  • Trang chủ
  • Kênh Youtube
  • Facebook Group
  • Nói về chủ tiệm Mì
  • Trang chủ
  • Kênh Youtube
  • Facebook Group
  • Nói về chủ tiệm Mì
Close

Search

  • Trang chủ
  • Kênh Youtube
  • Facebook Group
  • Nói về chủ tiệm Mì
Computer Vision

Máy tính cũng biết nghe và cảm nhận âm nhạc với AI

By Chủ tiệm Mì
December 12, 2019 3 Min Read
8

Chào cả nhà thích ăn Mì AI, hôm nay chúng ta sẽ cùng nhau build một model để giúp cho máy tính có thể nghe nhạc và cảm nhận được âm nhạc nhé. Chúng ta sẽ cho máy tính nghe một đoạn nhạc và nó sẽ nói cho chúng ta biết đây là thể loại nhạc nào nhá 😀

Nguồn: playbuzz.com

Phần 1 – Chuẩn bị nguyên vật liệu

Để nấu được Mì thì tất nhiên phải có nguyên vật liệu và bát mì rồi. Đầu tiên tạo một folder MiAI_Music_Classify để lưu nguyên vật liệu nào. Sau đó gõ lệnh git để lấy source về:

git clone https://github.com/thangnch/MiAI_Music_Classify .

Tiếp theo, để chạy được bài này chúng ta sẽ phải cài vài thư viện như: thử viện xử lý âm thanh, thư viện keras để làm việc với mode… Các bạn chạy lệnh:

pip install -r setup.txt

Sau đó ngồi đợi cho các thư viện tự động cài đặt là xong!

Bây giờ đến dữ liệu. Chúng ta dạy máy tính nghe nhạc thì tất nhiên phải có dữ liệu là âm nhạc rồi. Các bạn có thể tự collect và tự chuẩn bị dữ liệu cho mình. Tuy nhiên ở đây để tiết kiệm thời gian thì mình đã có bộ dữ liệu sẵn tại đây. Bộ dữ liệu gồm hơn 1000 bài hát chia thành 10 thể loại nhạc khác nhau là : [‘blues’, ‘classical’, ‘country’, ‘disco’, ‘hiphop’, ‘jazz’, ‘metal’, ‘pop’, ‘reggae’, ‘rock’].

Tải xong dữ liệu các bạn giải nén sẽ có thư mục genres, các bạn copy nguyên cả thư mục này và để vào thư mục data nhé! Vậy là xong, sang bước tiếp theo!

Phần 2 – Các bước thực hiện bài toán

Với bài này chúng ta làm theo các bước như sau:

  • Bước 1: Chúng ta sẽ load dữ liệu là các file audio và trích xuất đặc trưng bằng MFCC. Muốn biết MFCC là gì các bạn đọc link này nhé.
  • Bước 2: Chúng ta sẽ sử dụng các MFCC trích xuất được làm X_train và category của file nhạc làm y_train để train model. Và như vậy chúng ta quay về bài toán classify thông thường.
  • Bước 3: Thiết lập model đơn giản bằng các lớp Fully Connect.
  • Bước 4: Train model và tiến hành eval trên tập test.
Nguồn: laptrinhx.com

Phần 3 – Mã nguồn chương trình

Bây giờ sau khi đã nắm được tư tưởng bài toán, các bạn mở file song_classify.py ra xem nhé. Mình đã comment từng dòng lệnh, từng thủ tục một cách đầy đủ nhé. File song_classify.py sẽ thực hiện train model, save ra file h5 và sau đó predict thử vài bài hát.

Phần 4 – Train và predict thử model cảm nhận âm nhạc

Bây giờ các bạn thực hiện gõ lệnh sau để chạy file nhé:

python song_classify.py

Sau khi gõ lệnh, máy sẽ lần lượt xử lý từng folder âm nhạc, trích xuất MFCC từng file nhạc làm đặc trưng trước khi train

cảm nhận âm nhạc

Mình hiện đang để train 10 epochs để demo, các bạn có thể train thêm nhé.

Okie như vậy các bạn đã biết cách dạy cho máy tính cảm nhận âm nhạc. Bài này các bạn có thể thay bằng 1 mạng CNN để trích xuất đặc trưng nhé, bài trước Sound Classify mình đã làm cách đó rồi nên bài này mình sẽ làm khác tý nhé để các bạn nắm nhiều cách triển khai khác nhau.

Máy có thể nghe và phân biệt được thể loại của bài hát rồi. Mình xin dừng bài viết tại đây. Hẹn gặp lại các bạn trong các bài tiếp theo nhé!

Hãy join cùng cộng đồng Mì AI nhé!

Fanpage: http://facebook.com/miaiblog
Group trao đổi, chia sẻ: https://www.facebook.com/groups/miaigroup
Website: https://miai.vn/
Youtube: http://bit.ly/miaiyoutube

Nguồn tham khảo: https://github.com/PacktPublishing/

Tags:

ANNcomputer listenDenseDNNgenreslibrosasongsound classifiersound classifywav
Author

Chủ tiệm Mì

Follow Me
Other Articles
Previous

[Nhận diện biển số xe] Chương 5 – Nhận diện biển số xe bằng WPOD và SVM

Next

Xây dựng model phân biệt và tránh xa ảnh “mát mẻ”

8 Comments
  1. sonnn says:
    December 12, 2019 at 6:40 am

    Em không tìm thấy bộ dữ liệu mẫu của anh ạ.

    Reply
    1. Nguyễn Chiến Thắng says:
      December 12, 2019 at 6:47 am

      Thanks bạn, mình đã thêm link trong bài rồi nhé!

      #MìAI
      Fanpage: http://facebook.com/miaiblog
      Group trao đổi, chia sẻ: https://facebook.com/groups/miaigroup
      Website: https://miai.vn
      Youtube: http://bit.ly/miaiyoutube

      Reply
  2. Van-Hau Nguyen says:
    December 25, 2019 at 8:52 am

    Hay lắm! Thắng tiếp tục nhé.

    Reply
    1. Nguyễn Chiến Thắng says:
      December 30, 2019 at 10:08 am

      Thanks anh động viên ah!

      #MìAI
      Fanpage: http://facebook.com/miaiblog
      Group trao đổi, chia sẻ: https://facebook.com/groups/miaigroup
      Website: https://miai.vn
      Youtube: http://bit.ly/miaiyoutube

      Reply
  3. Nguyễn Hưng says:
    October 15, 2020 at 1:26 pm

    Anh cho em hỏi: bây giờ em muốn train mô hình xác định ngưỡng nghe của người thì sẽ cần xác định các bước làm như thế nào ạ? em cảm ơn.

    Reply
    1. Nguyễn Chiến Thắng says:
      October 15, 2020 at 1:31 pm

      Em post lên Group trao đổi, chia sẻ: https://facebook.com/groups/miaigroup làm rõ ý tưởng nhé. Anh chưa rõ mô hình em nhận input là gì, output là gì?

      Reply
  4. khuong nguyen says:
    October 11, 2024 at 4:24 pm

    Link file train hết hạn rồi AD

    Reply
    1. Nguyễn Chiến Thắng says:
      October 15, 2024 at 10:17 am

      Yeah chắc lâu quá rồi. Bạn post lên Group trao đổi, chia sẻ: https://facebook.com/groups/miaigroup trao đổi cho tiện nhé!

      Reply
Show Comments

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Recent Posts

  • Tìm hiểu và cài đặt OpenClaw – trợ lý ảo 24/7 thông minh đa chức năng – Mì Ai
  • Dùng thử Pika – robot học Tiếng Anh cho trẻ cực đỉnh – Mì AI
  • TopView.AI 4.0 – nền tảng tạo AI video cộng tác bá đạo – Mì AI
  • Storm MCP – giải pháp nhanh gọn nhẹ để có MCP Server trong 5 phút – Mì AI
  • VoxCPM thử voice cloning với checkpoint finetune Tiếng Việt – Mì AI

Recent Comments

  1. Chủ tiệm Mì on Thử xây dựng hệ thống Agentic AI với LangGraph – Mì AI
  2. Nguyễn Chiến Thắng on [Nhận diện biển số xe] Chương 3 – Phát hiện biển số bằng OpenCV thuần
  3. Trần Sơn Dương on [Nhận diện biển số xe] Chương 3 – Phát hiện biển số bằng OpenCV thuần
  4. Salomon on [CV] Thử làm model cảnh báo ngủ gật cho tài xế oto bằng Dlib và Resnet
  5. khang on Xây dựng hệ thống nhận diện thủ ngữ – ngôn ngữ ký hiệu tay – để giao tiếp với người khuyết tật

Categories

  • Basic
  • Computer Vision
  • Data Science – Data Analysis
  • Generative AI
  • MÌ ÚP
  • Natural Language Processing
  • RNN-LSTM-GRU
  • Share Data

Là người đi trước, hãy biết đưa tay lại phía sau.

Nguyễn Chiến Thắng
Cảm ơn các bạn đã ủng hộ Mì AI!