Chuyển đến nội dung chính
Hướng dẫn AI

Chuyển bản thu âm thành bản tổng phổ ban nhạc năm phần có thể trình diễn

Tìm hiểu cách thiết lập Audio to Band Score, phân tích bản thu âm đã hòa âm bằng Demucs, hướng dẫn một tác nhân tạo bản phối thực tế cho đội hình năm người, kiểm tra tệp MuseScore và xuất các tệp MIDI, PDF và MSCZ sẵn sàng cho buổi tập.

Chuyển bản thu âm thành bản tổng phổ ban nhạc năm phần có thể trình diễn

Audio to Band Score là gì?

Audio to Band Score là một kỹ năng dành cho tác tử, biến bản thu âm bài hát hoàn chỉnh thành bản phối thực tế cho một ban nhạc học sinh gồm năm thành viên. Thay vì chỉ cung cấp các stem thô hoặc xem việc nhận dạng MIDI tự động là bản chép nhạc hoàn chỉnh, kỹ năng này hướng dẫn tác tử thực hiện tách nguồn âm thanh, phân tích âm nhạc, phân bổ nhạc cụ, soạn ký âm, kiểm tra chất lượng và xuất sang MuseScore.

Quy trình tiêu chuẩn tạo ra ba tệp sẵn sàng cho việc tập luyện: tệp MIDI để phát lại hoặc kiểm tra trong DAW, bản tổng phổ PDF có thể in và tệp MuseScore MSCZ gốc có thể chỉnh sửa.

Quan trọng: Đây là một kỹ năng dành cho tác tử, không phải ứng dụng máy tính độc lập. Bạn phải cung cấp kho mã cho một môi trường chạy tác tử tương thích, đồng thời cung cấp các công cụ âm thanh và ký âm cục bộ cần thiết.

Quy trình phối khí hoạt động như thế nào

Kỹ năng này tuân theo một quy trình theo từng giai đoạn:

Bản thu âm đã trộn
    → tách nguồn âm thanh đồng bộ theo thời gian
    → phân tích nhịp, cấu trúc, hòa âm và ứng viên cao độ
    → phân bổ nhạc cụ và chỉnh sửa để đảm bảo khả năng chơi
    → ký âm bằng MuseScore
    → kiểm tra cấu trúc và kiểm tra trực quan/tệp
    → MIDI + PDF + MSCZ có thể chỉnh sửa

Nguyên tắc định hướng là độ trung thực có thể trình diễn. Mục tiêu là giữ lại cấu trúc, chuyển động hòa âm, tiết tấu, các riff dễ nhận biết và những đoạn chuyển quan trọng của bản thu, đồng thời đơn giản hóa hoặc phân bổ lại các chi tiết không thực tế đối với những nhạc công được yêu cầu.

Đoạn tổng phổ từ bản phối Beyond của 海阔天空

Tính năng chính

  • Tách bản thu đã trộn thành các stem phân tích đồng bộ theo thời gian bằng Demucs.
  • Có thể so sánh kết quả tách nguồn bốn kênh và sáu kênh.
  • Phân tích các phần bài hát, ứng viên nhịp độ, nhịp chỉ, hòa âm, chuyển động bass, riff, đoạn fill và các điểm vào của nhạc cụ.
  • Phân bổ chất liệu cho guitar lead, guitar rhythm, bass, keyboard và trống.
  • Hỗ trợ các mục tiêu độ khó: người mới bắt đầu, trung cấp nghiệp dư trường học và nâng cao.
  • Tạo ký âm MuseScore có cấu trúc và có thể chỉnh sửa thay vì chỉ cung cấp kết quả nhận dạng chưa biên tập.
  • Kiểm tra cấu trúc tổng phổ, mối quan hệ cao độ và dây trong TAB được chọn, độ an toàn khi xuất tệp và tính nhất quán của tệp.
  • Mặc định sử dụng các công cụ cục bộ và miễn phí thay vì tải âm thanh lên API bên ngoài có tính phí.

Phối khí năm phần mặc định

Tổng phổ mặc định là phần đệm cho ca sĩ, dù dòng vocal không được đưa vào tổng phổ nhạc cụ trừ khi yêu cầu thay đổi hành vi này. Thay vào đó, track vocal được dùng để xác định cấu trúc bài hát, khoảng lấy hơi và các điểm vào của nhạc cụ.

  • Guitar lead: TAB sáu dây theo nhịp cho các riff đặc trưng, hook, đoạn fill và chủ đề nhạc cụ.
  • Guitar rhythm: TAB sáu dây theo nhịp cho hợp âm, tiết tấu quạt, rải hợp âm và hỗ trợ groove.
  • Bass: TAB bốn dây theo nhịp cho chuyển động nốt gốc, các đoạn chuyển và chuyển động âm vực thấp.
  • Keyboard: Ký âm khuông kép cho hòa âm, lớp đệm, các dòng đối đáp và motif đặc trưng của keyboard.
  • Trống: Ký âm trống năm dòng tiêu chuẩn cho groove, accent, đoạn chuyển và fill.

Nhạc cụ, cách lên dây, giọng, độ khó, thời lượng và các ràng buộc phối khí được yêu cầu sẽ được ưu tiên hơn các mặc định này.

Cài đặt và thiết lập cục bộ

1. Sao chép kho mã

git clone https://github.com/kiri603/To-Sheet-Music-Skill.git
cd To-Sheet-Music-Skill

2. Tạo môi trường Python

Python 3.11 là phiên bản nền tảng tương thích được khuyến nghị. Hãy tạo một môi trường ảo riêng để Demucs và các gói hỗ trợ không gây ảnh hưởng đến những dự án Python khác.

python3.11 -m venv work/audio-env
source work/audio-env/bin/activate
python -m pip install demucs numpy soundfile imageio-ffmpeg

Trên Windows, hãy sử dụng các tệp thực thi Python và kích hoạt trong work/audio-env/Scripts/. Trước khi cài đặt, hãy xác minh rằng các gói tương thích với trình thông dịch Python được cài trên máy tính của bạn.

3. Cài đặt các yêu cầu bên ngoài

  • FFmpeg: Cần thiết để giải mã âm thanh. Có thể cài đặt qua hệ điều hành, đường dẫn --ffmpeg được cung cấp rõ ràng hoặc imageio-ffmpeg.
  • MuseScore Studio: Cần thiết để mở phần ký âm và xuất tệp MIDI và PDF.
  • Công cụ phân tích tùy chọn: Tùy thuộc vào tác vụ, bạn có thể sử dụng librosa, basic-pitch, pretty_midi, mido, music21, pypdf hoặc Poppler.
  • CUDA: Tùy chọn. Quy trình tách nguồn có thể chạy trên CPU nếu không có GPU tương thích.

Kho mã không tự động cài đặt phần mềm hoặc đóng gói trọng số mô hình. Môi trường cục bộ sẽ tải các trọng số mô hình cần thiết khi có yêu cầu.

4. Cung cấp kỹ năng cho tác tử

Kỹ năng được tổ chức xoay quanh SKILL.md và agents/openai.yaml. Hãy thêm hoặc cung cấp kho mã cho môi trường chạy tác tử theo quy trình tải kỹ năng của môi trường đó. Vì các môi trường chạy khác nhau, kho mã không định nghĩa một lệnh cài đặt chung cho bước này.

Cách sử dụng cơ bản: Yêu cầu phối khí

Sau khi kỹ năng đã khả dụng, hãy cung cấp cho tác tử bản thu nguồn và yêu cầu phối khí rõ ràng. Ví dụ:

Use $audio-to-band-score to arrange "song.wav" for lead guitar, rhythm guitar,
bass, keyboard, and drums at the default school-amateur intermediate level.
Preserve the original song structure and recognizable riffs, then deliver MIDI,
PDF, and editable MSCZ files.

Một yêu cầu hữu ích nên nêu rõ tệp đầu vào, thiết bị nhạc cụ, trình độ người chơi và những đặc điểm âm nhạc quan trọng nhất. Nếu cần, hãy chỉ định thêm giọng mong muốn, cách lên dây guitar hoặc bass, độ dài bản phối, các đoạn cắt, phần lặp lại hoặc những giới hạn biểu diễn khác.

Đoạn bản nhạc từ bản phối 声 của Koe

Chạy tách nguồn trực tiếp

Có thể chạy riêng công cụ hỗ trợ tách nguồn khi bạn muốn kiểm tra hoặc chuẩn bị các stem để phân tích trước khi hoàn thiện bản phối:

python scripts/separate_audio.py \
  --input "path/to/song.wav" \
  --out-dir "work/separation-v1" \
  --profile high \
  --device auto

Cấu hình high chạy cả phân tích Demucs bốn nguồn và sáu nguồn để có thể so sánh các dữ liệu thu được. Cấu hình balanced chỉ chạy phân tích sáu nguồn và phù hợp cho các thử nghiệm nội bộ hoặc hệ thống hạn chế tài nguyên.

Thư mục đầu ra phải là thư mục mới. Công cụ hỗ trợ cố ý từ chối ghi đè thư mục hiện có để bảo vệ các stem và dữ liệu phân tích trước đó. Hãy chọn đường dẫn có phiên bản như work/separation-v1 hoặc work/separation-v2 cho mỗi lần chạy.

Kiểm tra tệp MuseScore đã hoàn tất

Sau khi tác nhân tạo work/final.mscz, hãy chạy công cụ kiểm tra trước khi xuất các tệp bàn giao:

python scripts/score_tools.py audit \
  --score "work/final.mscz" \
  --report "work/audit.json"

Quá trình kiểm tra thực hiện các kiểm tra cấu trúc và một số kiểm tra TAB, bao gồm mối quan hệ giữa cao độ, dây và phím đàn. Công cụ có thể phát hiện những điểm không nhất quán về kỹ thuật, nhưng không chứng minh được rằng mọi nốt, phách, dấu diễn cảm hoặc đoạn nhạc kết hợp giữa các nhạc cụ đều chính xác về mặt âm nhạc.

Xuất MIDI, PDF và MSCZ

Hãy xuất tất cả định dạng từ cùng một tệp MuseScore gốc để các phiên bản dùng để in, phát và chỉnh sửa luôn nhất quán:

python scripts/score_tools.py export \
  --score "work/final.mscz" \
  --out-dir "work/export-v1" \
  --name "song_band" \
  --musescore "/path/to/MuseScore"

Công cụ xuất không ghi đè thư mục đầu ra hiện có. Công cụ chỉ công bố thư mục mới sau khi cả ba định dạng được yêu cầu đã tạo thành công.

  • song_band.mid cung cấp khả năng phát và kiểm tra trong DAW hoặc MIDI.
  • song_band.pdf cung cấp bản nhạc diễn tập có thể in.
  • song_band.mscz cung cấp dự án MuseScore gốc có thể chỉnh sửa.

Các thư mục làm việc cũng có thể chứa manifest.json, các stem WAV đã tách, ghi chú phân tích, các ứng viên MIDI, MusicXML, báo cáo kiểm tra và các trang PDF đã kết xuất. Những tệp này là bằng chứng và tư liệu đảm bảo chất lượng, trừ khi người dùng yêu cầu chúng là tệp bàn giao.

Đoạn bản nhạc từ bản phối 春日影 của Haruhikage

Mẹo nâng cao để có kết quả tốt hơn

Viết yêu cầu bản phối chính xác

Đừng chỉ dựa vào một yêu cầu chung chung về việc chép lại một bài hát. Hãy nêu rõ ai sẽ biểu diễn và họ có thể chơi những gì. Ví dụ, phân biệt bản nhạc dành cho người mới bắt đầu với bản nâng cao, chỉ định cách lên dây không tiêu chuẩn và xác định những riff hoặc đoạn chuyển tiếp phải giữ được tính dễ nhận biết.

Coi các stem đã tách là dữ liệu tham khảo

Các đầu ra sáu nguồn có nhãn guitar hoặc piano chỉ là ứng viên, không đảm bảo là các nhạc cụ đã được tách riêng hoàn toàn. Không nên tự động hiểu stem guitar là một phần guitar hoàn chỉnh, và stem đó cũng không chứng minh rằng có hai phần guitar độc lập. Hãy đối chiếu các ứng viên với bản phối gốc, những phần lặp lại, ngữ cảnh hòa âm, tiết tấu và các giới hạn riêng của từng nhạc cụ.

Duy trì tính nhất quán của dòng thời gian

Quy trình giữ các stem trên cùng một dòng thời gian và kiểm tra tần số lấy mẫu, bố cục kênh cũng như số lượng khung của chúng. Tránh tự cắt hoặc dịch chuyển từng stem, trừ khi bạn vẫn duy trì được sự đồng bộ của chúng với bản thu nguồn.

Sử dụng thư mục làm việc có phiên bản

Vì các công cụ tách và xuất từ chối ghi đè thư mục hiện có, hãy sử dụng những tên như separation-v1, separation-v2, export-v1 và export-v2. Cách này cũng giúp so sánh các thiết lập cấu hình và lưu giữ dữ liệu từ những lần thử trước.

Đánh giá bản nhạc về mặt âm nhạc sau các kiểm tra tự động

Kiểm tra thành công chỉ xác minh một số thuộc tính về cấu trúc và ký âm, không đảm bảo bản nhạc hoàn hảo về mặt âm nhạc. Hãy nghe MIDI, kiểm tra PDF, mở tệp MSCZ trong MuseScore và xác nhận rằng các đoạn vào, đoạn chuyển tiếp, phần lặp, thế bấm guitar, kết cấu keyboard, chuyển động của bass và các đoạn fill trống đều phù hợp với ban nhạc.

Duy trì một nguồn bản nhạc chính thức

Thực hiện các chỉnh sửa cuối cùng trong bản nhạc MSCZ gốc, sau đó tạo lại MIDI và PDF từ chính tệp đó. Việc chỉnh sửa độc lập các định dạng đã xuất có thể khiến ba tệp bàn giao không khớp nhau.

Chạy bộ kiểm thử

Chạy các bài kiểm thử đi kèm từ thư mục gốc của kho mã:

python -m unittest discover -s scripts -p "test_*.py" -v

Các bài kiểm thử bao quát những trường hợp đặc biệt khi tách nguồn, số lần thử lại tải mô hình có giới hạn, việc xác thực dòng thời gian, kiểm tra cao độ và dây TAB, kiểm tra cấu trúc bản nhạc và các biện pháp bảo vệ khi xuất. Việc vượt qua các bài kiểm thử xác nhận rằng quy trình công cụ hỗ trợ hoạt động như dự kiến; điều đó không đo lường độ chính xác của việc chép nhạc hay chất lượng bản phối.

Giới hạn và sử dụng có trách nhiệm

  • Dự án không tuyên bố rằng bản chép lại không có lỗi hoặc giữ được đầy đủ độ trung thực của âm thanh.
  • Các bước kiểm tra tự động không thể thay thế việc nghe nhạc và rà soát bản ký âm.
  • Quy trình này không cung cấp tính năng chuyển giọng nói thành văn bản, dịch lời bài hát hoặc tải xuống bản nhạc.
  • Các trọng số mô hình không được bao gồm trong kho lưu trữ và có thể được tải xuống theo yêu cầu.
  • Hiện tại, kho lưu trữ không có tệp giấy phép cấp dự án, vì vậy không được mặc định rằng mã nguồn hoặc tài sản trong đó có thể được phân phối lại.
  • Các công cụ, mô hình, tập dữ liệu và bản ghi âm của bên thứ ba vẫn tuân theo giấy phép và điều khoản sử dụng riêng của chúng.

Chỉ xử lý những bản ghi âm và tài liệu tham khảo mà bạn có quyền sử dụng. Không đưa bản ghi âm riêng tư, thông tin xác thực, bộ nhớ đệm của mô hình, bộ nhớ đệm Python được tạo tự động hoặc các tệp tạm thời lớn vào kho lưu trữ.

Kết luận

Audio to Band Score cung cấp một quy trình có kỷ luật để chuyển từ bản ghi âm hỗn hợp sang bản phối năm phần có thể chỉnh sửa, phù hợp cho việc tập luyện. Giá trị chính của công cụ không nằm ở khả năng chép nhạc hoàn toàn tự động, mà ở sự kết hợp giữa bằng chứng tách nguồn, các quyết định âm nhạc rõ ràng, cách phối tập trung vào khả năng trình diễn, các bước kiểm tra cấu trúc và việc xuất bản nhạc MuseScore nhất quán. Để đạt kết quả đáng tin cậy, hãy cung cấp cho tác nhân một yêu cầu chính xác, lưu giữ bằng chứng phân tích, chạy kiểm tra rà soát và các bài kiểm thử, sau đó hoàn tất bằng bước đánh giá âm nhạc của con người.