Nhận Diện Key
Tải file nhạc lên để phát hiện tone, key và cao độ tự động — kèm hiển thị phím đàn. Tiện cho nhạc sĩ, producer, DJ. Miễn phí.
Giới thiệu Nhận Diện Key & Cao Độ
Công cụ Nhận Diện Key & Cao Độ này phân tích file audio và báo cáo key nhạc khả dĩ nhất (ví dụ Đô trưởng, La thứ, Pha thăng thứ), nốt chủ âm, mode (trưởng hay thứ), tempo theo BPM, ký hiệu Camelot wheel cho mix DJ, và danh sách các key tương thích hài hòa. Một chế độ thời gian thực riêng nghe micro của bạn và hiển thị nốt hiện tại cùng độ lệch cents so với cao độ điều luật bằng 12-tone gần nhất, hữu ích như một tuner nhanh trong trình duyệt. Tất cả chạy cục bộ trong trình duyệt qua Web Audio API và thư viện trích đặc trưng Meyda — không upload, không server, không log.
Nhận diện key là tác vụ Music Information Retrieval (MIR) có lịch sử học thuật dài. Thuật toán ở đây dùng chromagram — vector 12 phần tử tổng hợp năng lượng có trong mỗi pitch class (Đô, Đô#, Rê, ..., Si) trên toàn bộ track — và khớp nó với 24 profile key Krumhansl-Schmuckler (12 trưởng + 12 thứ) bằng độ tương đồng cosine. Profile Krumhansl-Schmuckler được suy ra từ thí nghiệm cảm nhận con người những năm 1980 và vẫn là baseline mạnh; hệ thống MIR hiện đại (Mauch & Dixon 2010, Korzeniowski & Widmer 2017) chồng mạng nơ-ron tích chập lên trên, nhưng cho loại tài liệu rõ ràng tonal mà hầu hết người dùng phân tích ở đây, cách tiếp cận cổ điển nhanh, minh bạch và chính xác.
Ngoài key chính, công cụ báo cáo vị trí Camelot wheel (1A, 1B, 2A, ... 12A, 12B), ký hiệu được phổ biến bởi phần mềm Mixed In Key và được DJ chuyên nghiệp dùng để tìm track tương thích hài hòa: bài cùng số mix dễ dàng, và ±1 trên wheel cũng tự nhiên về âm nhạc. Key tương thích (relative trưởng/thứ, dominant, subdominant) và key thay thế (ứng viên khả dĩ nhất tiếp theo từ điểm khớp) được hiển thị để bạn kiểm tra tính hợp lý của kết quả. BPM được phát hiện bằng phương pháp onset dựa trên autocorrelation.
Tuner thời gian thực dùng thuật toán phát hiện cao độ YIN (de Cheveigné & Kawahara, 2002), là chuẩn de-facto cho theo dõi cao độ đơn âm trong tuner phần mềm và plugin chỉnh cao độ. YIN bền vững với hài âm và chạy thời gian thực ở 44,1 kHz trên phần cứng phổ thông. Chúng tôi hiển thị pitch class phát hiện được, độ lệch so với nốt điều luật bằng gần nhất theo cents, và đồng hồ trực quan tâm tại 0. Nhạc sĩ tập có thể dùng để chỉnh dây nhạc cụ nhanh; ca sĩ có thể dùng để kiểm tra độ chính xác cao độ trên các nốt giữ lâu.
Ứng dụng hữu ích bao gồm: DJ chuẩn bị mix hài hòa (khớp Camelot wheel), producer tìm bài hát sample-pack hợp dự án, nhạc sĩ sáng tác xác định key của giai điệu họ bắt được bằng tai, học sinh nhạc transcribe hoặc phân tích tiết mục, trưởng dàn hợp xướng và ban nhạc kiểm tra hát hay chơi đúng key, và đặc biệt nhạc sĩ Bolero, V-pop ballad, nhạc trữ tình Việt Nam thường làm việc với tài liệu modal hay có hương vị modal nơi xác nhận trung tâm tonal nhanh tiết kiệm thời gian tập luyện. Quyền riêng tư là theo thiết kế: file audio được giải mã cục bộ, phân tích chạy trong JavaScript, và không gì được upload.
Cách phát hiện hoạt động
Bước 1 là giải mã. Web Audio API giải mã file của bạn (MP3, WAV, FLAC, OGG, M4A, OPUS, video container — bất cứ gì trình duyệt hỗ trợ) thành buffer PCM float 32-bit ở sample rate gốc của file. Chúng tôi cộng stereo thành mono cho phân tích, vì key là thuộc tính toàn cục không hưởng lợi từ xử lý theo kênh.
Bước 2 là chromagram. Chúng tôi tính Short-Time Fourier Transform (thường fftSize 4096, hop size 1024 ở 44,1 kHz, cho cửa sổ ~93 ms với chồng ~75 %). Mỗi spectrum biên độ được map về 12 pitch class bằng cách cộng năng lượng trên mọi octave của mỗi nốt (đỉnh phổ tại La2 = 110 Hz, La3 = 220 Hz, La4 = 440 Hz, La5 = 880 Hz đều đóng góp vào bin 'La'). Chúng tôi cân nặng theo tầm quan trọng cảm nhận — pitch dải giữa (nơi hầu hết giai điệu nằm, ~200–2000 Hz) được cân nặng hơn các partial rất thấp hay rất cao. Chromagram từ mỗi frame được trung bình trên toàn bộ track, cho một vector 12 phần tử duy nhất tổng hợp profile tonal của bài hát.
Bước 3 là khớp key dùng thuật toán Krumhansl-Schmuckler (Krumhansl & Schmuckler, 1990). Mỗi trong 24 key ứng viên (12 trưởng + 12 thứ) có profile 12 phần tử lưu trữ đại diện cho tần suất thống kê của mỗi bậc thang âm trong nhạc tonal ở key đó. Profile trưởng đỉnh ở chủ âm, dominant (5) và mediant (3); profile thứ đỉnh ở chủ âm, dominant và minor third. Chúng tôi tính tương quan Pearson giữa chromagram bài hát và mỗi profile key ứng viên. Key có tương quan cao nhất thắng. Độ tin cậy là điểm tương quan tối đa biểu diễn dưới dạng phần trăm; giá trị trên ~80 % chỉ ra nhạc rõ ràng tonal, 60–80 % độ tin cậy vừa, dưới 60 % tài liệu atonal hoặc đang chuyển điệu nơi kết quả không đáng tin.
Bước 4 là phát hiện BPM. Chúng tôi tính envelope onset bằng cách theo dõi spectral flux — tổng các chênh lệch dương giữa các spectrum biên độ liên tiếp — và chạy autocorrelation trên envelope để tìm chu kỳ mạnh nhất trong dải tempo điển hình (60–200 BPM). Đỉnh autocorrelation cho chu kỳ beat; chúng tôi chuyển sang BPM và giới hạn về cùng dải. Đây là cách tiếp cận Tempogram đơn giản (Grosche & Müller, 2009); hoạt động tốt cho bài có pulse rõ và kém hơn cho rubato, tự do về thời gian, hay tài liệu polyrhythm.
Bước 5 là phát hiện cao độ đơn âm thời gian thực. Khi người dùng bắt đầu chế độ tuner, chúng tôi mở stream micro 44,1 kHz qua MediaStreamSource và đưa buffer 2048 mẫu vào thuật toán YIN (de Cheveigné & Kawahara, 2002). YIN tính hàm chênh lệch rồi chênh lệch chuẩn hóa trung bình tích lũy, tìm vùng lõm đầu tiên dưới ngưỡng (thường 0,1), và nội suy parabol chu kỳ đến độ chính xác phân-mẫu. Chu kỳ chuyển sang tần số, tần số sang số nốt MIDI, và độ lệch cents là 1200 × log2(freq_phát_hiện / freq_nốt_gần_nhất). Đồng hồ trực quan nhỏ hiển thị độ lệch theo thời gian thực.
Độ chính xác và khi kết quả đáng tin
Cách tiếp cận Krumhansl-Schmuckler đạt khoảng 75–85 % độ chính xác phát hiện key trên các tập test MIREX (Music Information Retrieval Evaluation eXchange) tiêu chuẩn của nhạc tonal phương Tây, gồm classical, rock, pop và jazz được chọn có một key duy nhất rõ ràng. Hệ thống học sâu hiện đại đẩy con số này trên 90 %. Trong thực tế, trên các bản thu pop và rock rõ ràng tonal, thuật toán ở đây đủ tin cậy để DJ và producer dùng công cụ chromagram-based (Mixed In Key, key tag của Beatport) cho công việc trực tiếp. Độ tin cậy dưới ~70 % nghĩa là coi kết quả là giả thuyết, không phải sự thật.
Nơi nó thất bại hoặc gặp khó: nhạc atonal (free jazz, nhiều tiết mục classical thế kỷ 20, ambient drone, noise music), track chuyển điệu nặng (bài đổi key 3-4 lần — thuật toán trung bình và có thể báo cáo cái gì đó nửa chừng), nhạc modal thiếu kéo dominant-tonic mạnh của tonality common-practice (một số dân ca, modal jazz, K-pop ngũ cung, một số nhạc truyền thống Việt Nam và Indonesia), autotune nặng hay hiệu ứng giai điệu vocal (làm méo chromagram), clip rất ngắn (< 30 s — không đủ tài liệu để ước lượng chromagram trung bình), và nhạc nơi bass và harmony không khớp (ví dụ riff synth-bass ở Đô trong khi tiến trình hợp âm nói Sol).
Nhầm lẫn relative-major / relative-minor là chế độ thất bại cổ điển: Đô trưởng và La thứ chia sẻ cùng các nốt nhưng có chủ âm khác. Nếu bài dành nhiều thời gian trên chủ âm của relative key, vector Krumhansl-Schmuckler trông tương tự và detector có thể chọn sai. Danh sách 'key thay thế' luôn bao gồm relative; nếu tai bạn nói thứ nhưng công cụ nói trưởng, đổi sang relative minor và nghe lại. Tương tự, nhầm lẫn dominant-tonic (Sol trưởng trong key thực ra là Đô trưởng) xuất hiện thỉnh thoảng; danh sách key thay thế giúp phát hiện.
- Tốt nhất trên nhạc tonal phương Tây (pop, rock, classical, jazz có harmony chức năng rõ); độ chính xác kiểu MIREX 75–85 %.
- Atonal, free jazz, ambient drone và nhạc modal ghi điểm thấp hơn rõ rệt; coi mọi kết quả trên những cái này với hoài nghi.
- Autotune nặng, vocoder, hay synth lead chỉnh cao độ làm méo chromagram và có thể lật key phát hiện được.
- Track chuyển điệu (nhiều key) được báo cáo là một key best-fit duy nhất — trung bình — có thể không có ý nghĩa âm nhạc.
- Clip rất ngắn (dưới 30 giây) thiếu đủ trung bình chromagram để đáng tin.
- Nhầm lẫn relative-major / relative-minor là phổ biến; luôn kiểm tra danh sách key thay thế trước khi cam kết với kết quả.
- Phát hiện BPM hoạt động tốt nhất trên bài có pulse rõ ràng, ổn định; nhạc rubato, tự do, polyrhythm ghi điểm kém.
- Tuner thời gian thực đơn âm kỳ vọng một nốt một lúc; hợp âm hay nhạc cụ đa âm làm rối YIN.
- Đọc cents phụ thuộc tham chiếu La4 = 440 Hz; thực hành biểu diễn lịch sử (ví dụ baroque La=415 Hz) cần xử lý riêng.
Thuật ngữ
- Chromagram (pitch class profile)
- Vector 12 phần tử tổng hợp năng lượng có trong mỗi pitch class (Đô, Đô#, Rê, Rê#, Mi, Pha, Pha#, Sol, Sol#, La, La#, Si) của tín hiệu audio, cộng qua các octave. Nền tảng của hầu hết thuật toán phát hiện hợp âm và key.
- Tonic (chủ âm)
- Nốt mà key tâm vào — tone 'nhà' mà nhạc có xu hướng quay về. Đô là tonic của Đô trưởng; La là tonic của La thứ.
- Mode (điệu thức)
- Mẫu khoảng cách định nghĩa thang âm. Mode trưởng có mẫu W-W-H-W-W-W-H (whole và half step); thứ tự nhiên là W-H-W-W-H-W-W. Có năm 'church mode' cổ điển khác (Dorian, Phrygian, Lydian, Mixolydian, Locrian) và nhiều mode nhạc thế giới.
- Vòng quãng năm (circle of fifths)
- Cách sắp xếp 12 key quanh vòng tròn sao cho các vị trí kề nhau khác nhau quãng năm, làm cho key liên quan hài hòa (dominant, subdominant) kề nhau về thị giác. Camelot wheel là cách đặt nhãn lại thân thiện với DJ.
- Camelot wheel
- Ký hiệu định hướng DJ phổ biến bởi Mixed In Key. Mỗi key được đánh nhãn bằng số (1–12) và chữ cái (A = thứ, B = trưởng). Track cùng số, hoặc ±1, là tương thích hài hòa. Đô trưởng = 8B, La thứ = 8A; hai cái này chia sẻ cùng số vì chia sẻ cùng các nốt.
- Thứ hài hòa / thứ giai điệu
- Biến thể của thang thứ tự nhiên: thứ hài hòa nâng bậc 7 để cung cấp kéo dominant–tonic mạnh hơn; thứ giai điệu nâng cả bậc 6 và 7 khi đi lên và về lại khi đi xuống.
- Modulation (chuyển điệu)
- Thay đổi key trong một bài. Bài bắt đầu ở Đô trưởng và chuyển sang Sol trưởng dành thời gian trên profile Đô và profile Sol, có thể làm rối detector key trung bình chromagram.
- Profile key Krumhansl-Schmuckler
- Template 12 phần tử mỗi key, suy ra từ thí nghiệm cảm nhận của Carol Krumhansl những năm 1980, định lượng mỗi bậc thang âm điển hình xuất hiện bao nhiêu trong nhạc tonal trưởng và thứ. Tương quan cosine với chromagram của bài để ước lượng key khả dĩ nhất.
- Phát hiện cao độ YIN
- Thuật toán ước lượng tần số cơ bản đơn âm (de Cheveigné & Kawahara, 2002). Tính hàm chênh lệch chuẩn hóa trên cửa sổ trượt và tìm vùng lõm chu kỳ đầu tiên. Tiêu chuẩn cho tuner phần mềm và chỉnh cao độ.
- Cents
- Đơn vị logarit của khoảng cách cao độ. 100 cents = một bán cung; 1200 cents = một octave. ±5 cents thường không nghe được và coi là đúng tone; ±20 cents lệch tone rõ rệt.
Câu Hỏi Thường Gặp
AI phát hiện key nhạc như thế nào?
Tính chromagram (12 năng lượng pitch-class cộng trên toàn track) và khớp với 24 profile key Krumhansl-Schmuckler (12 trưởng + 12 thứ) bằng tương quan cosine. Profile khớp nhất thắng. Điểm tin cậy được báo cáo — giá trị trên ~80 % đáng tin, dưới 60 % kết quả không chắc chắn. Cả pipeline chạy trong trình duyệt qua Web Audio API và Meyda.
Hỗ trợ định dạng audio nào?
Bất cứ gì trình duyệt giải mã được: MP3, WAV, OGG, AAC, M4A, FLAC, OPUS, cộng video container (MP4, MKV, MOV, WebM) sẽ được trích xuất audio tự động. Web Audio API xử lý giải mã hoàn toàn trên thiết bị bạn.
Key nhạc chính xác là gì?
Key là trung tâm tonal cộng mode. Đô trưởng nghĩa là nhạc hấp dẫn về nốt Đô và dùng mẫu khoảng cách thang âm trưởng (Đô, Rê, Mi, Pha, Sol, La, Si). La thứ dùng cùng các nốt nhưng coi La là nhà. Biết key cho phép nhạc sĩ chuyển điệu, hòa âm, ngẫu hứng solo phù hợp, và giải thích vì sao một số hợp âm nghe 'đúng' với nhau.
Camelot wheel là gì và dùng thế nào?
Camelot là cách đánh số 24 key quanh vòng tròn thân thiện với DJ. Mỗi key có số (1–12) và chữ cái (A cho thứ, B cho trưởng). Quy tắc: track chia sẻ mã Camelot mix hoàn hảo; ±1 quanh wheel mix tốt; nhảy +7 (quãng năm hoàn hảo) cũng được. Đô trưởng = 8B, Sol trưởng = 9B, Pha trưởng = 7B, La thứ = 8A. Mixed In Key, RekordBox và Beatport đều gắn nhãn track theo cách này.
Phát hiện key chính xác đến đâu?
Trên nhạc tonal phương Tây rõ ràng (pop, rock, classical, jazz có harmony chức năng), cách tiếp cận Krumhansl-Schmuckler đạt 75–85 % độ chính xác trên các tập test MIREX tiêu chuẩn — cạnh tranh với công cụ thương mại dùng chromagram. Track atonal, modal, rất ngắn, hay chuyển điệu nặng ghi điểm thấp hơn; phần trăm tin cậy nói cho bạn biết tin cậy bao nhiêu.
Sao công cụ cho key khác với cái tôi nghĩ?
Lý do thường gặp: (1) nhầm lẫn relative-major / relative-minor — Đô trưởng và La thứ chia sẻ cùng các nốt, xem danh sách key thay thế; (2) bài thực sự chuyển điệu, và cái bạn nghe là key thứ hai; (3) autotune nặng hay hiệu ứng cao độ làm méo chromagram; (4) bản thu ở tuning phi tiêu chuẩn (ví dụ 432 Hz hay baroque 415 Hz thay vì La=440 Hz). Kiểm tra danh sách key thay thế — thường câu trả lời đúng là thứ hai trên đó.
Lệch cents nghĩa là gì?
Nó nói cao độ phát hiện được lệch xa nốt bán cung điều luật bằng gần nhất bao nhiêu. 0 cents = đúng tone hoàn hảo. +5 cents = hơi cao (5 % bán cung trên nốt gần nhất). −20 cents = thấp rõ rệt. Hầu hết người nghe có thể phát hiện độ lệch lớn hơn khoảng ±10 cents trên các tone giữ; ±5 cents thường được coi là 'đúng tone'.
Có dùng làm tuner guitar thời gian thực được không?
Có. Chế độ thời gian thực mở micro qua MediaStreamSource, chạy phát hiện cao độ YIN trên tín hiệu trực tiếp, và hiển thị nốt phát hiện và lệch cents ở 30+ cập nhật mỗi giây. Hoạt động trên bất kỳ nhạc cụ đơn âm: guitar, bass, violin, sáo, giọng. Không hoạt động trên hợp âm hay nhạc cụ đa âm — YIN kỳ vọng một fundamental một lúc.
Phát hiện BPM dựa trên gì?
Chúng tôi tính spectral flux (tốc độ thay đổi của spectrum biên độ, tăng vọt ở onset nốt) trên toàn track và chạy autocorrelation trên envelope onset thu được. Đỉnh autocorrelation trong dải 60–200 BPM cho tempo trội. Đây là cách tiếp cận Tempogram tiêu chuẩn. Chính xác trên bài có pulse rõ ràng, kém hơn trên rubato, jazz có tempo nổi, hay tài liệu tự do.
Có hoạt động trên Bolero, V-pop, salsa, samba, chanson, hay thể loại khu vực khác không?
Có cho bất kỳ tài liệu tonal — hầu hết nhạc Việt Nam, Latin, Pháp, Brazil phổ biến nằm thoải mái trong key trưởng hoặc thứ và phát hiện đáng tin. Thể loại modal (morna Cape Verde, một số palo flamenco Andalusian, modal jazz) có thể tạo ra trưởng hoặc thứ 'best fit' xấp xỉ mode nhưng không hoàn toàn đúng. Độ tin cậy dưới 70 % là tín hiệu cho bạn rằng thể loại hoặc mix đang chống lại thuật toán.
Audio của tôi có an toàn và riêng tư không?
Có. Giải mã, tính chromagram, khớp key và phát hiện BPM đều xảy ra trong trình duyệt qua Web Audio API và Meyda. File audio không bao giờ được upload. Tuning thời gian thực dùng micro của bạn cục bộ và không bao giờ stream audio đi đâu. Chúng tôi không lưu, log hay chia sẻ bất cứ gì bạn phân tích.
Nếu phát hiện key không chắc chắn (tin cậy thấp) thì sao?
Công cụ báo cáo phần trăm tin cậy. Nếu dưới ~70 %, kết quả nên được coi là phỏng đoán. Thử (1) phân tích phần khác của bài rõ về hài hòa hơn, (2) dùng đoạn audio dài hơn, (3) kiểm tra danh sách key thay thế, hay (4) nghe bài so với key tham chiếu đã biết trong DAW hay app tuning của bạn.
Tài liệu tham khảo & nguồn học thuật
- Krumhansl, C. L.. (1990). Cognitive Foundations of Musical Pitch (thuật toán tìm key Krumhansl-Schmuckler) Oxford University Press.
- de Cheveigné, A., & Kawahara, H.. (2002). YIN, a fundamental frequency estimator for speech and music Journal of the Acoustical Society of America 111(4).
- Mauch, M., & Dixon, S.. (2010). Approximate Note Transcription for the Improved Identification of Difficult Chords (NNLS Chroma) ISMIR Proceedings.
- Temperley, D.. (2007). Music Theory of Tonal Pitch Space (mở rộng Temperley của Krumhansl-Schmuckler) MIT Press.
- Ban tổ chức MIREX. (2024). Music Information Retrieval Evaluation eXchange (MIREX) — Tác vụ phát hiện key ISMIR / IMIRSEL, University of Illinois.
- Korzeniowski, F., & Widmer, G.. (2017). End-to-end Musical Key Estimation Using a Convolutional Neural Network EUSIPCO.
Last reviewed: · Reviewed by Đội Kỹ Thuật Audio WuTools
