cycfi/q
C++ Library for Audio Digital Signal Processing
Thành tựu nổi bật
Những danh hiệu mới nhất của dự án
#1 Repository Của Tuần
#1 Repository Của Tuần
#1 Repository Của Tuần
🎵 cycfi/q — Thư viện DSP âm thanh C++ hiện đại, tối giản nhưng mạnh mẽ
Q là một thư viện C++ cross-platform chuyên biệt cho xử lý tín hiệu âm thanh số (DSP), lấy tên từ khái niệm "Q factor" trong điện tử — chỉ độ "chất" của một bộ lọc cộng hưởng.
Q được Joel de Guzman — tác giả của các dự án Boost nổi tiếng như Spirit, Phoenix, Fusion — phát triển như một bộ công cụ DSP âm nhạc thực tế, kết hợp giữa ngôn ngữ C++ hiện đại và kỹ thuật lập trình函数式 (functional programming). Mục tiêu của dự án là giải quyết các tác vụ DSP phức tạp một cách dễ đọc, dễ mở rộng, nhưng vẫn đủ hiệu năng để chạy trên vi điều khiển nhỏ.
✨ Điểm nổi bật
- Kiến trúc hai lớp rõ ràng:
q_liblà lõi DSP header-only, không phụ thuộc bên ngoài;q_iocung cấp kết nối âm thanh/MIDI cross-platform thông qua PortAudio và PortMidi — nhưng có thể bỏ qua nếu không cần. - Không phụ thuộc third-party ở lõi:
q_libchỉ dùng C++ standard library vàinfra(thư viện nội bộ của Cycfi), giúp dễ dàng tích hợp vào các hệ thống nhúng hoặc plugin DAW. - Các bộ lọc cộng hưởng mới trong v1.5: bao gồm TPT state-variable filter, Moog ladder, và Chamberlin SVF — phù hợp thiết kế synth và hiệu ứng âm thanh.
- Người tạo dạng sợi (granular): cung cấp các nguyên tử như
graintap,best_lagtự tìm độ tương đồng, và ring buffer phân số — mở ra sustain, freeze, và hiệu ứng PSOLA. - Dao động có giới hạn tần số (band-limited): saw, square, pulse, triangle đã được anti-alias — giảm gãy hình khi điều chỉnh tần số cao.
- Theo dõivelope True-RMS và hệ thống giới hạn âm (saturation/clipping): mở rộng các hiệu ứng động lực học và distortion tự nhiên.
- Hướng dẫn học tập có sẵn: có bộ tutorial từng bước từ cơ bản đến nâng cao, phù hợp cả người mới và có kinh nghiệm.
- Hỗ trợ C++20 và CMake: dễ dàng xây dựng trên nhiều nền tảng, chỉ cần clone submodule và chạy cmake.
💡 Vì sao值得关注
Q khác biệt ở việc nó không phải là "một thư viện DSP khác" — nó mang tư duy thiết kế của một nhà phát triển âm nhạc thực tế. Việc sử dụng function objects có trạng thái/thanh stateless, kết hợp composition, giúp code DSP trở nên dễ đọc, dễ thử nghiệm, dễ kết hợp như các khối Lego. Đây là lựa chọn phù hợp cho các dự án synth, plugin hiệu ứng, hoặc hệ thống nhúng cần xử lý âm thanh thực thời gian với độ trễ thấp.
Nếu bạn đang tìm một thư viện DSP C++ không cần cài đặt hàng trăm dependency, có thể chạy trên vi điều khiển nhưng vẫn đủ mạnh để làm synth chuyên nghiệp — Q là lựa chọn đáng để thử.
#DSP #AudioProcessing #CPlusPlus #Synth #MusicTech #OpenSource #TiniX
Dự án tương tự
Khám phá các dự án và mô hình AI khác có sự tương đồng.
An implementation of the system-wide JamesDSP audio processing engine for non-rooted Android devices
Cross-platform, customizable ML solutions for live and streaming media.
Fast, modern C++ DSP framework, FFT, Sample Rate Conversion, FIR/IIR/Biquad Filters (SSE, AVX, AVX-512, ARM NEON, RISC-V RVV)
Audio synthesis, processing, & analysis platform for iOS, macOS and tvOS