Vietnamchautruonglong/Fundamental-Frequency
Find fundamental frequency of signal using auto correlation function
🎯 Ước lượng F0 bằng tự tương quan trong miền thời gian
Ứng dụng desktop tính tần số nền F0 của file WAV bằng phương pháp tự tương quan, hiển thị đường dẫn F0 thời gian thực và trước/sau lọc trung vị.
Fundamental-Frequency là một ứng dụng desktop viết bằng Python do Chau Truong Long phát triển, dùng để ước lượng tần số nền (F0) của sóng giọng nói trong miền thời gian thực bằng phương pháp tự tương quan. Dự án hỗ trợ người dùng tải lên file .wav, phân tích từng cửa sổ chồng lên nhau, tính toán đường dẫn F0 và kiểm tra tính tuần hoàn cục bộ thông qua bản đồ tự tương quan.
✨ Điểm nổi bật
- Tự tương quan miền thời gian: Ước lượng F0 dựa trên hàm tự tương quan của tín hiệu.
- Tính toán nhanh bằng FFT: Sử dụng nhân tự tương quan dựa trên FFT để tăng tốc so với phương pháp trực tiếp O(n²).
- Điều chỉnh tham số linh hoạt: Hỗ trợ thay đổi độ dài cửa sổ, kích thước hạt nhân lọc trung vị và ngưỡng tự tương quan.
- Xem trước cửa sổ tương tác: Di chuột lên biểu đồ sóng để xem trước cửa sổ đang phân tích và đáp ứng tự tương quan tương ứng.
- Giao diện Tkinter + Matplotlib: Giao diện đồ họa người dùng dễ sử dụng với các đồ thị hiển thị rõ rệt.
- Lọc trung vị: Áp dụng bộ lọc trung vị để giảm nhiễu F0 cục bộ.
- Kiến trúc mô-đun rõ ràng: Mã nguồn được tách thành các module nhỏ gọn dễ bảo trì và mở rộng.
💡 Vì sao đáng chú ý
Không giống các công cụ xử lý F0 phức tạp dựa trên mô hình, dự án này thực hiện toàn bộ tính toán trong miền thời gian trực tiếp từ sóng âm thanh, phù hợp cho nghiên cứu và học tập kỹ thuật lý xử lý tín hiệu. Việc sử dụng FFT để tối ưu hóa tính toán tự tương quan giúp giảm đáng kể thời gian chạy mà vẫn giữ được độ chính xác. Thêm vào đó, giao diện người dùng trực quan với tính năng xem trước cửa sổ khi di chuột giúp người dùng dễ dàng kiểm tra kết quả phân tích từng phần.
#Python #SignalProcessing #FundamentalFrequency #Autocorrelation #Tkinter #Matplotlib #TiniX
Similar Projects
Discover other similar projects and AI models.
The 30 Days of Python programming challenge is a step-by-step guide to learn the Python programming language in 30 days. This challenge may take more than 100 days. Follow your own pace. These videos may help too: https://www.youtube.com/channel/UC7PNRuno1rzYPb1xLa4yktw
INFO-SPIDER 是一个集众多数据源于一身的爬虫工具箱🧰,旨在安全快捷的帮助用户拿回自己的数据,工具代码开源,流程透明。支持数据源包括GitHub、QQ邮箱、网易邮箱、阿里邮箱、新浪邮箱、Hotmail邮箱、Outlook邮箱、京东、淘宝、支付宝、中国移动、中国联通、中国电信、知乎、哔哩哔哩、网易云音乐、QQ好友、QQ群、生成朋友圈相册、浏览器浏览历史、12306、博客园、CSDN博客、开源中国博客、简书。
Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards.
The definitive list that answers "I want to do X in Python, which tool should I use?"
AutoGPT is the vision of accessible AI for everyone, to use and to build on. Our mission is to provide the tools, so that you can focus on what matters.