Chuyển đến nội dung chính

Phân Tích Phổ Âm Thanh miễn phí

Trực quan hóa tần số âm thanh theo thời gian thực dưới dạng cột, dạng sóng hoặc phổ tròn. Hoạt động với tệp âm thanh hoặc đầu vào microphone trực tiếp — chạy trên trình duyệt.

Hoạt động ngoại tuyến sau khi tải

Thả tệp vào đây hoặc nhấp để chọn

MP3, WAV, OGG, M4A, FLAC, AAC, OPUS · được xử lý trên thiết bị của bạn

hoặc nhấn Ctrl+V để dán từ bảng nhớ tạm

Duyệt tệp

Tệp của bạn không bao giờ rời khỏi thiết bị. Toàn bộ xử lý diễn ra cục bộ trong trình duyệt của bạn.

—
Tần số chủ yếu
—
Nốt gần nhất
—
Mức đỉnh
—
Mức RMS
Cài đặt
Thang tần số

Tần số lấy mẫu: 44,1 kHz · Độ phân giải: 5,4 Hz/bin · FFT 8192

Tất cả phân tích chạy trong trình duyệt của bạn sử dụng Web Audio API — âm thanh của bạn không bao giờ được tải lên.

Công dụng phổ biến

  • Phân Tích Âm Thanh PodcastKiểm tra ghi âm podcast cho tiếng ồn phòng, tính sibilance và sibilant bằng phổ.

Cách hoạt động

Bộ phân tích phổ âm thanh chạy hoàn toàn trong trình duyệt bằng AnalyserNode của Web Audio API, thứ tính FFT (biến đổi Fourier nhanh) theo thời gian thực trên dữ liệu âm thanh từ tệp hoặc micro. Mỗi khung hình được vẽ bằng mã Canvas 2D tự viết — không dùng thư viện trực quan hóa nào, và không có âm thanh nào rời khỏi thiết bị.

  1. 1
    Âm thanh được giải mã và định tuyến
    Khi bạn mở tệp, Web Audio API giải mã nó thành AudioBuffer và định tuyến qua MediaElementAudioSourceNode vào AnalyserNode. Với đầu vào micro, getUserMedia() thu luồng và đưa qua MediaStreamAudioSourceNode — với khử tiếng vọng, khử tạp âm và tự động điều chỉnh gain đều bị tắt để bạn thấy tín hiệu thô.
  2. 2
    AnalyserNode chạy FFT mỗi khung hình
    Ở mỗi khung hình hoạt ảnh (qua requestAnimationFrame), mã gọi getFloatFrequencyData() để đọc phổ biên độ FFT hiện tại theo dBFS, và getFloatTimeDomainData() cho các mẫu dạng sóng thô. Kích thước FFT có thể cấu hình từ 2048 đến 16384 bin, cho độ phân giải tần số mịn đến khoảng 2,7 Hz/bin ở 44,1 kHz.
  3. 3
    Canvas 2D vẽ chế độ xem đã chọn
    Chế độ Phân tích ánh xạ các bin FFT lên trục X tần số logarit (20 Hz–20 kHz) và trục Y dBFS, vẽ phổ như đường tô đầy, và phủ lên một vệt giữ đỉnh giảm dần. Tần số chủ đạo được xác định chính xác bằng nội suy parabol quanh bin đỉnh, rồi chuyển sang nốt nhạc bình quân gần nhất (A4=440 Hz) với độ lệch cent hiển thị trong phần đọc số. Chế độ Phổ đồ cuộn canvas sang trái một pixel mỗi khung hình và vẽ cột mới bằng dải màu kiểu inferno. Chế độ Nghệ thuật dùng dữ liệu tần số hoặc miền thời gian độ phân giải byte cho các chế độ trang trí dạng cột, dạng sóng hoặc hình tròn.
  4. 4
    Xuất qua Canvas và MediaRecorder
    Lưu PNG gọi canvas.toBlob() để mã hóa khung hình hiện tại. Quay video dùng canvas.captureStream(30) kết hợp với nhánh âm thanh từ MediaStreamAudioDestinationNode, đưa vào MediaRecorder tạo ra WebM hoặc MP4. Xuất WAV tự mã hóa tệp RIFF PCM 16-bit từ AudioBuffer bằng DataView — không dùng bộ mã hóa bên ngoài.

Tệp âm thanh của bạn được giải mã trong trình duyệt bằng Web Audio API và không bao giờ được tải lên — dữ liệu tệp luôn nằm trên thiết bị trong suốt quá trình phân tích và xuất.

Công cụ liên quan

Câu hỏi thường gặp