[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-musikalkemist--AudioSignalProcessingForML":3,"tool-musikalkemist--AudioSignalProcessingForML":65},[4,23,32,40,49,57],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":22},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,2,"2026-04-05T10:45:23",[13,14,15,16,17,18,19,20,21],"图像","数据工具","视频","插件","Agent","其他","语言模型","开发框架","音频","ready",{"id":24,"name":25,"github_repo":26,"description_zh":27,"stars":28,"difficulty_score":29,"last_commit_at":30,"category_tags":31,"status":22},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,3,"2026-04-04T04:44:48",[17,13,20,19,18],{"id":33,"name":34,"github_repo":35,"description_zh":36,"stars":37,"difficulty_score":29,"last_commit_at":38,"category_tags":39,"status":22},519,"PaddleOCR","PaddlePaddle\u002FPaddleOCR","PaddleOCR 是一款基于百度飞桨框架开发的高性能开源光学字符识别工具包。它的核心能力是将图片、PDF 等文档中的文字提取出来，转换成计算机可读取的结构化数据，让机器真正“看懂”图文内容。\n\n面对海量纸质或电子文档，PaddleOCR 解决了人工录入效率低、数字化成本高的问题。尤其在人工智能领域，它扮演着连接图像与大型语言模型（LLM）的桥梁角色，能将视觉信息直接转化为文本输入，助力智能问答、文档分析等应用场景落地。\n\nPaddleOCR 适合开发者、算法研究人员以及有文档自动化需求的普通用户。其技术优势十分明显：不仅支持全球 100 多种语言的识别，还能在 Windows、Linux、macOS 等多个系统上运行，并灵活适配 CPU、GPU、NPU 等各类硬件。作为一个轻量级且社区活跃的开源项目，PaddleOCR 既能满足快速集成的需求，也能支撑前沿的视觉语言研究，是处理文字识别任务的理想选择。",74939,"2026-04-05T23:16:38",[19,13,20,18],{"id":41,"name":42,"github_repo":43,"description_zh":44,"stars":45,"difficulty_score":46,"last_commit_at":47,"category_tags":48,"status":22},3215,"awesome-machine-learning","josephmisiti\u002Fawesome-machine-learning","awesome-machine-learning 是一份精心整理的机器学习资源清单，汇集了全球优秀的机器学习框架、库和软件工具。面对机器学习领域技术迭代快、资源分散且难以甄选的痛点，这份清单按编程语言（如 Python、C++、Go 等）和应用场景（如计算机视觉、自然语言处理、深度学习等）进行了系统化分类，帮助使用者快速定位高质量项目。\n\n它特别适合开发者、数据科学家及研究人员使用。无论是初学者寻找入门库，还是资深工程师对比不同语言的技术选型，都能从中获得极具价值的参考。此外，清单还延伸提供了免费书籍、在线课程、行业会议、技术博客及线下聚会等丰富资源，构建了从学习到实践的全链路支持体系。\n\n其独特亮点在于严格的维护标准：明确标记已停止维护或长期未更新的项目，确保推荐内容的时效性与可靠性。作为机器学习领域的“导航图”，awesome-machine-learning 以开源协作的方式持续更新，旨在降低技术探索门槛，让每一位从业者都能高效地站在巨人的肩膀上创新。",72149,1,"2026-04-03T21:50:24",[20,18],{"id":50,"name":51,"github_repo":52,"description_zh":53,"stars":54,"difficulty_score":46,"last_commit_at":55,"category_tags":56,"status":22},2234,"scikit-learn","scikit-learn\u002Fscikit-learn","scikit-learn 是一个基于 Python 构建的开源机器学习库，依托于 SciPy、NumPy 等科学计算生态，旨在让机器学习变得简单高效。它提供了一套统一且简洁的接口，涵盖了从数据预处理、特征工程到模型训练、评估及选择的全流程工具，内置了包括线性回归、支持向量机、随机森林、聚类等在内的丰富经典算法。\n\n对于希望快速验证想法或构建原型的数据科学家、研究人员以及 Python 开发者而言，scikit-learn 是不可或缺的基础设施。它有效解决了机器学习入门门槛高、算法实现复杂以及不同模型间调用方式不统一的痛点，让用户无需重复造轮子，只需几行代码即可调用成熟的算法解决分类、回归、聚类等实际问题。\n\n其核心技术亮点在于高度一致的 API 设计风格，所有估算器（Estimator）均遵循相同的调用逻辑，极大地降低了学习成本并提升了代码的可读性与可维护性。此外，它还提供了强大的模型选择与评估工具，如交叉验证和网格搜索，帮助用户系统地优化模型性能。作为一个由全球志愿者共同维护的成熟项目，scikit-learn 以其稳定性、详尽的文档和活跃的社区支持，成为连接理论学习与工业级应用的最",65628,"2026-04-05T10:10:46",[20,18,14],{"id":58,"name":59,"github_repo":60,"description_zh":61,"stars":62,"difficulty_score":10,"last_commit_at":63,"category_tags":64,"status":22},3364,"keras","keras-team\u002Fkeras","Keras 是一个专为人类设计的深度学习框架，旨在让构建和训练神经网络变得简单直观。它解决了开发者在不同深度学习后端之间切换困难、模型开发效率低以及难以兼顾调试便捷性与运行性能的痛点。\n\n无论是刚入门的学生、专注算法的研究人员，还是需要快速落地产品的工程师，都能通过 Keras 轻松上手。它支持计算机视觉、自然语言处理、音频分析及时间序列预测等多种任务。\n\nKeras 3 的核心亮点在于其独特的“多后端”架构。用户只需编写一套代码，即可灵活选择 TensorFlow、JAX、PyTorch 或 OpenVINO 作为底层运行引擎。这一特性不仅保留了 Keras 一贯的高层易用性，还允许开发者根据需求自由选择：利用 JAX 或 PyTorch 的即时执行模式进行高效调试，或切换至速度最快的后端以获得最高 350% 的性能提升。此外，Keras 具备强大的扩展能力，能无缝从本地笔记本电脑扩展至大规模 GPU 或 TPU 集群，是连接原型开发与生产部署的理想桥梁。",63927,"2026-04-04T15:24:37",[20,14,18],{"id":66,"github_repo":67,"name":68,"description_en":69,"description_zh":70,"ai_summary_zh":71,"readme_en":72,"readme_zh":73,"quickstart_zh":74,"use_case_zh":75,"hero_image_url":76,"owner_login":77,"owner_name":78,"owner_avatar_url":79,"owner_bio":80,"owner_company":81,"owner_location":82,"owner_email":83,"owner_twitter":84,"owner_website":85,"owner_url":86,"languages":87,"stars":92,"forks":93,"last_commit_at":94,"license":95,"difficulty_score":46,"env_os":96,"env_gpu":96,"env_ram":96,"env_deps":97,"category_tags":104,"github_topics":84,"view_count":29,"oss_zip_url":84,"oss_zip_packed_at":84,"status":22,"created_at":105,"updated_at":106,"faqs":107,"releases":138},894,"musikalkemist\u002FAudioSignalProcessingForML","AudioSignalProcessingForML","Code and slides of my YouTube series called \"Audio Signal Proessing for Machine Learning\"","AudioSignalProcessingForML 是一个专注于音频信号处理与机器学习的开源教育资源库，它基于同名 YouTube 系列视频构建，提供了完整的代码、幻灯片和教程。该工具系统性地讲解了如何将音频信号转化为可供机器学习模型使用的特征，涵盖了从声音基础、波形分析到时频域特征提取（如梅尔频谱、MFCC）的全套流程。\n\n它主要解决了开发者和研究人员在入门音频机器学习时面临的理论与实践脱节问题。许多教程只讲理论或只给代码，而这个项目通过“视频讲解 + 配套幻灯片 + 可运行代码”的三位一体方式，让学习者能直观理解傅里叶变换、梅尔标度等关键概念，并立刻用 Python（主要使用 librosa、NumPy 库）动手实现，从而搭建起从音频基础知识到高级特征提取的完整知识体系。\n\n该项目非常适合有一定 Python 基础的机器学习开发者、数据科学专业的学生，以及对音频技术感兴趣的研究人员。无论是想构建语音识别、音乐信息检索系统，还是单纯希望深入理解音频数据的处理方式，都能从这个结构清晰、由浅入深的课程中获益。\n\n其技术亮点在于内容的系统性和可复现性。它不仅提供了现代优化的代码版本，还保","AudioSignalProcessingForML 是一个专注于音频信号处理与机器学习的开源教育资源库，它基于同名 YouTube 系列视频构建，提供了完整的代码、幻灯片和教程。该工具系统性地讲解了如何将音频信号转化为可供机器学习模型使用的特征，涵盖了从声音基础、波形分析到时频域特征提取（如梅尔频谱、MFCC）的全套流程。\n\n它主要解决了开发者和研究人员在入门音频机器学习时面临的理论与实践脱节问题。许多教程只讲理论或只给代码，而这个项目通过“视频讲解 + 配套幻灯片 + 可运行代码”的三位一体方式，让学习者能直观理解傅里叶变换、梅尔标度等关键概念，并立刻用 Python（主要使用 librosa、NumPy 库）动手实现，从而搭建起从音频基础知识到高级特征提取的完整知识体系。\n\n该项目非常适合有一定 Python 基础的机器学习开发者、数据科学专业的学生，以及对音频技术感兴趣的研究人员。无论是想构建语音识别、音乐信息检索系统，还是单纯希望深入理解音频数据的处理方式，都能从这个结构清晰、由浅入深的课程中获益。\n\n其技术亮点在于内容的系统性和可复现性。它不仅提供了现代优化的代码版本，还保留了与原始视频对应的旧版代码分支，兼顾了学习连贯性与技术时效性。所有核心概念都配有直观的图示和数学解释，并将理论推导落实到具体的代码行中，这种“手把手”的教学风格大大降低了音频机器学习的入门门槛。","# AudioSignalProcessingForML\n\nCode and slides of my YouTube series called \"[Audio Signal Proessing for Machine Learning](https:\u002F\u002Fwww.youtube.com\u002Fplaylist?list=PL-wATfeyAMNqIee7cH3q1bh4QJFAaeNv0)\"\n\nThis repository is a comprehensive collection of resources, code, and explanations for understanding and implementing audio signal processing techniques, with a focus on applications in machine learning. It serves as a learning guide, starting from the fundamentals of sound and waveforms and progressing to advanced feature extraction methods.\n\n![Maintained](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FMaintained%3F-yes-green.svg)\n![Python 3.11](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpython-3.11-blue.svg)\n![librosa](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flibrosa-9418A8?style=flat&logo=python&logoColor=white)\n![NumPy](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FNumPy-004a96?style=flat&logo=numpy&logoColor=white)\n![Matplotlib](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FMatplotlib-11557C?style=flat&logo=matplotlib&logoColor=white)\n![License](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-MIT-green.svg)\n\n### Note on Versioning\n> While this v2 release is fully functional and optimized for current environments, it may differ from the original version shown in the course. The codebase has been updated to reflect modern best practices and improved dependency management. Consequently, the original course version has been deprecated; however, it remains available in the [legacy branch](https:\u002F\u002Fgithub.com\u002Fmusikalkemist\u002FAudioSignalProcessingForML\u002Ftree\u002Flegacy) for those wishing to follow the video content exactly.\n\n## Course Structure\n\n### Foundational Concepts\n\n1.  **Overview:** _[Video][1yt] | [Slides][1sl]_\n2.  **Sound and waveforms:** _[Video][2yt] | [Slides][2sl]_\n3.  **Intensity, loudness, and timbre:** _[Video][3yt] | [Slides][3sl] | [Notebook][3nb]_\n4.  **Understanding audio signals:** _[Video][4yt] | [Slides][4sl]_\n\n---\n\n### Feature Extraction Theory\n\n5.  **Types of audio features for ML:** _[Video][5yt] | [Slides][5sl]_\n6.  **How to extract audio features:** _[Video][6yt] | [Slides][6sl]_\n7.  **Time-domain audio features:** _[Video][7yt] | [Slides][7sl]_\n\n---\n\n### Time-Domain Implementation\n\n8.  **Implementing the amplitude envelope:** _[Video][8yt] | [Notebook][8nb]_\n9.  **RMS energy and zero-crossing rate:** _[Video][9yt] | [Notebook][9nb]_\n\n---\n\n### Frequency-Domain Concepts\n\n10. **Fourier Transform: The Intuition:** _[Video][10yt] | [Slides][10sl]_\n11. **Complex numbers for audio signal processing:** _[Video][11yt] | [Slides][11sl]_\n12. **Defining the Fourier transform using complex numbers:** _[Video][12yt] | [Slides][12sl] | [Notebook][12nb]_\n13. **Discrete Fourier Transform:** _[Video][13yt] | [Slides][13sl]_\n\n---\n\n### Frequency-Domain Implementation\n\n14. **Extracting the Discrete Fourier Transform:** _[Video][14yt] | [Notebook][14nb]_\n15. **Short-Time Fourier Transform explained easily:** _[Video][15yt] | [Slides][15sl]_\n16. **Extracting Spectrograms from Audio with Python:** _[Video][16yt] | [Notebook][16nb]_\n17. **Mel Spectrogram Explained Easily:** _[Video][17yt] | [Slides][17sl]_\n18. **Extracting Mel Spectrograms with Python:** _[Video][18yt] | [Notebook][18nb]_\n19. **MFCCs Explained Easily:** _[Video][19yt] | [Slides][19sl]_\n20. **Extracting MFCCs with Python:** _[Video][20yt] | [Notebook][20nb]_\n21. **Frequency-Domain Audio Features:** _[Video][21yt] | [Slides][21sl]_\n22. **Implementing Band Energy Ratio from Scratch with Python:** _[Video][22yt] | [Notebook][22nb]_\n23. **Spectral centroid and bandwidth:** _[Video][23yt] | [Notebook][23nb]_\n\n---\n\n### Audio examples\n\n* [**`audio_resources\u002F`**](\u003Caudio_resources\u002F>): A collection of .wav files used for the examples in the notebooks.\n\n\n\u003C!-- Reference links for every chapter:\nYouTube videos (#yt), PDF-file slides (#sl) and Jupyter Notebooks (#nb) -->\n[1yt]: https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=iCwMQJnKk2c\n[1sl]: \u003C01 - Overview\u002FAudio Signal Processing for Machine Learning.pdf>\n\n[2yt]: https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=bnHHVo3j124\n[2sl]: \u003C02 - Sound and waveforms\u002F2 - Sound and waveforms.pdf>\n\n[3yt]: https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=Jkoysm1fHUw\n[3sl]: \u003C03 - Intensity, loudness, and timbre\u002FIntensity, loudness, and timbre.pdf>\n[3nb]: \u003C03 - Intensity, loudness, and timbre\u002Fintensity_and_timbre.ipynb>\n\n[4yt]: https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=daB9naGBVv4\n[4sl]: \u003C04 - Understanding audio signals\u002FUnderstanding audio signals.pdf>\n\n[5yt]: https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=ZZ9u1vUtcIA\n[5sl]: \u003C05 - Types of audio features for ML\u002FTypes of Audio Features for ML.pdf>\n\n[6yt]: https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=8A-W1xk7qs8\n[6sl]: \u003C06 - How to extract audio features\u002FHow to extract audio features.pdf>\n\n[7yt]: https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=SRrQ_v-OOSg\n[7sl]: \u003C07 - Time-domain audio features\u002FTime-domain audio features.pdf>\n\n[8yt]: https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=rlypsap6Wow\n[8nb]: \u003C08 - Implementing the amplitude envelope\u002FImplementing the amplitude envelope.ipynb>\n\n[9yt]: https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=EycaSbIRx-0\n[9nb]: \u003C09 - RMS energy and zero-crossing rate\u002FRMS Energy and Zero-Crossing Rate.ipynb>\n\n[10yt]: https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=XQ45IgG6rJ4\n[10sl]: \u003C10 - Fourier Transform: The Intuition\u002FDemystifying the Fourier Transform The Intuition.pdf>\n\n[11yt]: https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=DgF4m0AWCgA\n[11sl]: \u003C11 - Complex numbers for audio signal processing\u002FComplex numbers.pdf>\n\n[12yt]: https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=KxRmbtJWUzI\n[12sl]: \u003C12 - Defining the Fourier transform using complex numbers\u002FDefining the Fourier Transform Using Complex Numbers.pdf>\n[12nb]: \u003C12 - Defining the Fourier transform using complex numbers\u002FDefining the Fourier Transform Using  Complex Numbers.ipynb>\n\n[13yt]: https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=ZUi_jdOyxIQ\n[13sl]: \u003C13 - Discrete Fourier Transform\u002FDiscrete Fourier Transform.pdf>\n\n[14yt]: https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=R-5uxKTRjzM\n[14nb]: \u003C14 - Extracting the Discrete Fourier Transform\u002FVisualising the Power Spectrum.ipynb>\n\n[15yt]: https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=-Yxj3yfvY-4\n[15sl]: \u003C15 - Short-Time Fourier Transform explained easily\u002FShort-Time Fourier Transform Explained Easily.pdf>\n\n[16yt]: https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=3gzI4Z2OFgY\n[16nb]: \u003C16 - Extracting Spectrograms from Audio with Python\u002FExtracting Spectrograms from Audio with Python.ipynb>\n\n[17yt]: https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=9GHCiiDLHQ4\n[17sl]: \u003C17 - Mel Spectrogram Explained Easily\u002FMel Spectrograms Explained Easily.pdf>\n\n[18yt]: https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=TdnVE5m3o_0\n[18nb]: \u003C18 - Extracting Mel Spectrograms with Python\u002FExtracting Mel Spectrograms.ipynb>\n\n[19yt]: https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=4_SH2nfbQZ8\n[19sl]: \u003C19 - MFCCs Explained Easily\u002FMel-Frequency Cepstral Coefficients Explained Easily.pdf>\n\n[20yt]: https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=WJI-17MNpdE\n[20nb]: \u003C20 - Extracting MFCCs with Python\u002FExtracting MFCCs.ipynb>\n\n[21yt]: https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=3-bjAoAxQ9o\n[21sl]: \u003C21 - Frequency-Domain Audio Features\u002FFrequency-domain audio features.pdf>\n\n[22yt]: https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=8UJ8ZDR7yUs\n[22nb]: \u003C22 - Implementing Band Energy Ratio from Scratch with Python\u002FImplementing band energy ratio from scratch.ipynb>\n\n[23yt]: https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=j6NTatoi928\n[23nb]: \u003C23 - Spectral centroid and bandwidth\u002FSpectral centroid and bandwidth.ipynb>","# AudioSignalProcessingForML\n\n我的 YouTube 系列 \"[Audio Signal Processing for Machine Learning](https:\u002F\u002Fwww.youtube.com\u002Fplaylist?list=PL-wATfeyAMNqIee7cH3q1bh4QJFAaeNv0)\" 的代码和幻灯片。\n\n本仓库是一个全面的资源、代码和解释集合，用于理解和实现音频信号处理技术，重点关注机器学习中的应用。它作为一个学习指南，从声音和波形的基础知识开始，逐步深入到高级特征提取方法。\n\n![Maintained](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FMaintained%3F-yes-green.svg)\n![Python 3.11](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpython-3.11-blue.svg)\n![librosa](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flibrosa-9418A8?style=flat&logo=python&logoColor=white)\n![NumPy](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FNumPy-004a96?style=flat&logo=numpy&logoColor=white)\n![Matplotlib](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FMatplotlib-11557C?style=flat&logo=matplotlib&logoColor=white)\n![License](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-MIT-green.svg)\n\n### 版本说明\n> 虽然此 v2 版本功能完整并针对当前环境进行了优化，但它可能与课程中显示的原始版本有所不同。代码库已更新，以反映现代最佳实践和改进的依赖管理。因此，原始课程版本已被弃用；但对于希望完全按照视频内容学习的用户，该版本仍可在 [legacy 分支](https:\u002F\u002Fgithub.com\u002Fmusikalkemist\u002FAudioSignalProcessingForML\u002Ftree\u002Flegacy) 中找到。\n\n## 课程结构\n\n### 基础概念\n\n1.  **概述:** _[视频][1yt] | [幻灯片][1sl]_\n2.  **声音和波形:** _[视频][2yt] | [幻灯片][2sl]_\n3.  **强度、响度和音色:** _[视频][3yt] | [幻灯片][3sl] | [笔记本][3nb]_\n4.  **理解音频信号:** _[视频][4yt] | [幻灯片][4sl]_\n\n---\n\n### 特征提取理论\n\n5.  **用于机器学习的音频特征类型:** _[视频][5yt] | [幻灯片][5sl]_\n6.  **如何提取音频特征:** _[视频][6yt] | [幻灯片][6sl]_\n7.  **时域音频特征:** _[视频][7yt] | [幻灯片][7sl]_\n\n---\n\n### 时域实现\n\n8.  **实现幅度包络:** _[视频][8yt] | [笔记本][8nb]_\n9.  **RMS 能量和过零率:** _[视频][9yt] | [笔记本][9nb]_\n\n---\n\n### 频域概念\n\n10. **傅里叶变换：直观理解:** _[视频][10yt] | [幻灯片][10sl]_\n11. **用于音频信号处理的复数:** _[视频][11yt] | [幻灯片][11sl]_\n12. **使用复数定义傅里叶变换:** _[视频][12yt] | [幻灯片][12sl] | [笔记本][12nb]_\n13. **离散傅里叶变换:** _[视频][13yt] | [幻灯片][13sl]_\n\n---\n\n### 频域实现\n\n14. **提取离散傅里叶变换:** _[视频][14yt] | [笔记本][14nb]_\n15. **轻松理解短时傅里叶变换:** _[视频][15yt] | [幻灯片][15sl]_\n16. **使用 Python 从音频中提取频谱图:** _[视频][16yt] | [笔记本][16nb]_\n17. **轻松理解梅尔频谱图:** _[视频][17yt] | [幻灯片][17sl]_\n18. **使用 Python 提取梅尔频谱图:** _[视频][18yt] | [笔记本][18nb]_\n19. **轻松理解 MFCC:** _[视频][19yt] | [幻灯片][19sl]_\n20. **使用 Python 提取 MFCC:** _[视频][20yt] | [笔记本][20nb]_\n21. **频域音频特征:** _[视频][21yt] | [幻灯片][21sl]_\n22. **使用 Python 从零开始实现频带能量比:** _[视频][22yt] | [笔记本][22nb]_\n23. **频谱质心和带宽:** _[视频][23yt] | [笔记本][23nb]_\n\n### 音频示例\n\n* [**`audio_resources\u002F`**](\u003Caudio_resources\u002F>): 一个用于笔记本示例的 .wav 文件集合。\n\n\n\u003C!-- 每个章节的参考链接：\nYouTube 视频 (#yt)、PDF 幻灯片文件 (#sl) 和 Jupyter Notebooks (#nb) -->\n[1yt]: https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=iCwMQJnKk2c\n[1sl]: \u003C01 - 概述\u002FAudio Signal Processing for Machine Learning.pdf>\n\n[2yt]: https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=bnHHVo3j124\n[2sl]: \u003C02 - 声音与波形\u002F2 - Sound and waveforms.pdf>\n\n[3yt]: https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=Jkoysm1fHUw\n[3sl]: \u003C03 - 强度、响度与音色\u002FIntensity, loudness, and timbre.pdf>\n[3nb]: \u003C03 - 强度、响度与音色\u002Fintensity_and_timbre.ipynb>\n\n[4yt]: https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=daB9naGBVv4\n[4sl]: \u003C04 - 理解音频信号\u002FUnderstanding audio signals.pdf>\n\n[5yt]: https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=ZZ9u1vUtcIA\n[5sl]: \u003C05 - 用于机器学习的音频特征类型\u002FTypes of Audio Features for ML.pdf>\n\n[6yt]: https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=8A-W1xk7qs8\n[6sl]: \u003C06 - 如何提取音频特征\u002FHow to extract audio features.pdf>\n\n[7yt]: https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=SRrQ_v-OOSg\n[7sl]: \u003C07 - 时域音频特征\u002FTime-domain audio features.pdf>\n\n[8yt]: https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=rlypsap6Wow\n[8nb]: \u003C08 - 实现振幅包络\u002FImplementing the amplitude envelope.ipynb>\n\n[9yt]: https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=EycaSbIRx-0\n[9nb]: \u003C09 - RMS 能量与过零率\u002FRMS Energy and Zero-Crossing Rate.ipynb>\n\n[10yt]: https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=XQ45IgG6rJ4\n[10sl]: \u003C10 - 傅里叶变换：直观理解\u002FDemystifying the Fourier Transform The Intuition.pdf>\n\n[11yt]: https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=DgF4m0AWCgA\n[11sl]: \u003C11 - 用于音频信号处理的复数\u002FComplex numbers.pdf>\n\n[12yt]: https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=KxRmbtJWUzI\n[12sl]: \u003C12 - 使用复数定义傅里叶变换\u002FDefining the Fourier Transform Using Complex Numbers.pdf>\n[12nb]: \u003C12 - 使用复数定义傅里叶变换\u002FDefining the Fourier Transform Using  Complex Numbers.ipynb>\n\n[13yt]: https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=ZUi_jdOyxIQ\n[13sl]: \u003C13 - 离散傅里叶变换\u002FDiscrete Fourier Transform.pdf>\n\n[14yt]: https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=R-5uxKTRjzM\n[14nb]: \u003C14 - 提取离散傅里叶变换\u002FVisualising the Power Spectrum.ipynb>\n\n[15yt]: https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=-Yxj3yfvY-4\n[15sl]: \u003C15 - 轻松理解短时傅里叶变换\u002FShort-Time Fourier Transform Explained Easily.pdf>\n\n[16yt]: https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=3gzI4Z2OFgY\n[16nb]: \u003C16 - 使用 Python 从音频中提取频谱图\u002FExtracting Spectrograms from Audio with Python.ipynb>\n\n[17yt]: https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=9GHCiiDLHQ4\n[17sl]: \u003C17 - 轻松理解梅尔频谱图\u002FMel Spectrograms Explained Easily.pdf>\n\n[18yt]: https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=TdnVE5m3o_0\n[18nb]: \u003C18 - 使用 Python 提取梅尔频谱图\u002FExtracting Mel Spectrograms.ipynb>\n\n[19yt]: https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=4_SH2nfbQZ8\n[19sl]: \u003C19 - 轻松理解 MFCC\u002F梅尔频率倒谱系数\u002FMel-Frequency Cepstral Coefficients Explained Easily.pdf>\n\n[20yt]: https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=WJI-17MNpdE\n[20nb]: \u003C20 - 使用 Python 提取 MFCC\u002F梅尔频率倒谱系数\u002FExtracting MFCCs.ipynb>\n\n[21yt]: https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=3-bjAoAxQ9o\n[21sl]: \u003C21 - 频域音频特征\u002FFrequency-domain audio features.pdf>\n\n[22yt]: https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=8UJ8ZDR7yUs\n[22nb]: \u003C22 - 使用 Python 从零开始实现频带能量比\u002FImplementing band energy ratio from scratch.ipynb>\n\n[23yt]: https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=j6NTatoi928\n[23nb]: \u003C23 - 频谱质心与带宽\u002FSpectral centroid and bandwidth.ipynb>","# AudioSignalProcessingForML 快速上手指南\n\n## 环境准备\n\n### 系统要求\n- 支持的操作系统：Windows, macOS, Linux\n- Python 版本：3.11（推荐）\n- 内存：建议 4GB 以上\n- 存储空间：约 500MB 用于安装依赖和下载资源\n\n### 前置依赖\n确保已安装以下基础软件：\n- Python 3.11（可从[Python官网](https:\u002F\u002Fwww.python.org\u002Fdownloads\u002F)或[清华镜像](https:\u002F\u002Fmirrors.tuna.tsinghua.edu.cn\u002Fanaconda\u002Farchive\u002F)下载）\n- Git（用于克隆仓库）\n- pip（Python包管理器，通常随Python安装）\n\n## 安装步骤\n\n1. **克隆仓库**\n   使用 Git 克隆项目到本地：\n   ```bash\n   git clone https:\u002F\u002Fgithub.com\u002Fmusikalkemist\u002FAudioSignalProcessingForML.git\n   cd AudioSignalProcessingForML\n   ```\n\n2. **创建虚拟环境（推荐）**\n   为避免依赖冲突，建议创建独立的 Python 环境：\n   ```bash\n   python -m venv venv\n   ```\n   - Windows 激活环境：\n     ```bash\n     venv\\Scripts\\activate\n     ```\n   - macOS\u002FLinux 激活环境：\n     ```bash\n     source venv\u002Fbin\u002Factivate\n     ```\n\n3. **安装 Python 依赖包**\n   使用 pip 安装所需库。为加速下载，可使用国内镜像源（如清华源）：\n   ```bash\n   pip install -r requirements.txt -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n   ```\n   或直接安装核心库：\n   ```bash\n   pip install numpy matplotlib librosa jupyter -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n   ```\n\n## 基本使用\n\n### 启动 Jupyter Notebook\n本项目的教程主要以 Jupyter Notebook 形式提供：\n```bash\njupyter notebook\n```\n启动后，浏览器会自动打开 Jupyter 界面。导航至相应章节的 `.ipynb` 文件即可运行代码示例。\n\n### 运行简单示例\n以下是一个加载音频文件并绘制波形的快速示例（可在任意 Notebook 中尝试）：\n```python\nimport librosa\nimport librosa.display\nimport matplotlib.pyplot as plt\nimport numpy as np\n\n# 加载示例音频文件（项目内已提供）\naudio_path = 'audio_resources\u002F1_min_speech.wav'  # 请确保路径正确\nsignal, sr = librosa.load(audio_path, sr=22050)\n\n# 绘制波形图\nplt.figure(figsize=(14, 5))\nlibrosa.display.waveshow(signal, sr=sr)\nplt.xlabel('时间 (秒)')\nplt.ylabel('振幅')\nplt.title('音频波形')\nplt.show()\n```\n\n### 学习路径建议\n1. 从 `01 - Overview` 开始，了解课程整体结构\n2. 按照课程顺序（Foundational Concepts → Feature Extraction Theory → ...）逐步学习\n3. 结合 YouTube 视频（[播放列表](https:\u002F\u002Fwww.youtube.com\u002Fplaylist?list=PL-wATfeyAMNqIee7cH3q1bh4QJFAaeNv0)）和对应 Notebook 实践操作\n\n### 注意事项\n- 本项目当前为 v2 版本，代码已针对现代环境优化，可能与视频中演示的原始版本略有不同\n- 如需完全按照视频内容操作，可切换到 `legacy` 分支：`git checkout legacy`\n- 所有示例音频文件位于 `audio_resources\u002F` 目录中","**场景背景**：一位机器学习工程师正在开发一个智能家居语音控制系统，需要从原始音频中提取有效的特征来训练一个唤醒词识别模型。\n\n### 没有 AudioSignalProcessingForML 时\n- **基础概念混乱**：对声波、响度、音色等基础概念理解模糊，导致在选择特征提取方法时缺乏理论依据，只能盲目尝试。\n- **特征工程困难**：知道MFCC、梅尔频谱等术语，但不清楚其数学原理和具体实现步骤，编写提取代码时频繁出错，调试过程漫长。\n- **学习路径曲折**：网上资料零散，质量参差不齐，需要花费大量时间在理论教材、博客和不同代码库之间切换与验证，效率低下。\n- **结果可视化与调试不便**：提取出的特征数据难以直观理解，无法有效判断特征是否捕捉到了音频的关键信息，模型训练效果不佳时归因困难。\n\n### 使用 AudioSignalProcessingForML 后\n- **建立了清晰的知识体系**：通过其结构化的课程，从声音基础到傅里叶变换，逐步构建了坚实的音频信号处理理论框架，能自信地为不同任务选择合适特征。\n- **获得了即用且可靠的代码**：直接使用仓库中伴随视频讲解的Jupyter Notebook代码，快速实现了从时域特征（如过零率）到频域特征（如梅尔频谱、MFCC）的提取流程，代码稳定且注释清晰。\n- **实现了高效的一站式学习**：视频、幻灯片和代码三位一体，理论讲解与动手实践紧密结合，在一个仓库内完成了从入门到应用的全过程学习，节省了大量搜寻和整合资源的时间。\n- **提升了特征可解释性与模型效果**：利用工具中提供的可视化方法（如频谱图绘制），能直观评估特征质量，确保输入模型的数据有效，最终使唤醒词识别的准确率得到了显著提升。\n\nAudioSignalProcessingForML 将分散的理论知识与工程实践整合为一个连贯的学习路径和代码库，让开发者能系统性地掌握并快速应用音频特征提取技术，从而高效解决实际的机器学习问题。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmusikalkemist_AudioSignalProcessingForML_acd50da4.png","musikalkemist","Valerio Velardo","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fmusikalkemist_9c46207c.png","AI (music) engineer. Programmer. Founder of Transparent Audio. AI audio consultant. Creator of The Sound of AI.","Transparent Audio","Malaga","velardovalerio@gmail.com",null,"https:\u002F\u002Fvaleriovelardoadvisor.com\u002F","https:\u002F\u002Fgithub.com\u002Fmusikalkemist",[88],{"name":89,"color":90,"percentage":91},"Jupyter Notebook","#DA5B0B",100,1335,449,"2026-04-05T08:34:44","MIT","未说明",{"notes":98,"python":99,"dependencies":100},"这是一个音频信号处理与机器学习的教学资源库，包含代码、幻灯片和Jupyter笔记本。建议使用Python虚拟环境，主要依赖音频处理库librosa和科学计算库NumPy、Matplotlib。项目包含大量示例音频文件，运行笔记本时需要确保音频文件路径正确。","3.11",[101,102,103],"librosa","NumPy","Matplotlib",[21,18],"2026-03-27T02:49:30.150509","2026-04-06T11:30:53.167187",[108,113,118,123,128,133],{"id":109,"question_zh":110,"answer_zh":111,"source_url":112},3877,"代码需要更新以兼容新版 Librosa，如何解决？","项目维护者已在一个名为 `fixes-and-improvements` 的分支上修复了代码兼容性问题。建议用户查看该分支的更新，或等待合并到主分支。对于教程中的代码，可以关注该分支的进展。","https:\u002F\u002Fgithub.com\u002Fmusikalkemist\u002FAudioSignalProcessingForML\u002Fissues\u002F8",{"id":114,"question_zh":115,"answer_zh":116,"source_url":117},3878,"如何为1秒长的音频提取Log-Mel频谱图特征？","根据维护者的指引，关于音频处理的理论和实现问题，应前往对应的YouTube视频评论区提问，以便整个社区都能受益。GitHub Issues仅用于修复代码错误和技术Bug。","https:\u002F\u002Fgithub.com\u002Fmusikalkemist\u002FAudioSignalProcessingForML\u002Fissues\u002F4",{"id":119,"question_zh":120,"answer_zh":121,"source_url":122},3879,"PDF文档中存在计算错误，如何更正？","维护者已确认该错误，并表示会尽快修正PDF文档中的计算数值。","https:\u002F\u002Fgithub.com\u002Fmusikalkemist\u002FAudioSignalProcessingForML\u002Fissues\u002F12",{"id":124,"question_zh":125,"answer_zh":126,"source_url":127},3880,"librosa.feature.rms() 函数调用出错，如何解决？","新版Librosa不再支持旧的参数传递方式。应将 `librosa.feature.rms(y=[your loaded file])` 改为使用关键字参数，即 `librosa.feature.rms(y=your_audio_data)`。此问题已在项目更新中修复。","https:\u002F\u002Fgithub.com\u002Fmusikalkemist\u002FAudioSignalProcessingForML\u002Fissues\u002F7",{"id":129,"question_zh":130,"answer_zh":131,"source_url":132},3881,"librosa.display.waveplot() 函数已弃用，应该用什么替代？","`librosa.display.waveplot()` 已被弃用，应使用新的 `librosa.display.waveshow()` 函数来绘制波形图。此问题已在项目更新中修复。","https:\u002F\u002Fgithub.com\u002Fmusikalkemist\u002FAudioSignalProcessingForML\u002Fissues\u002F6",{"id":134,"question_zh":135,"answer_zh":136,"source_url":137},3882,"提取梅尔频谱图特征时，是否必须将幅度转换为分贝（dB）尺度？","是的，根据视频教程中的说明，在提取梅尔频谱图之前，需要将幅度转换为分贝（dB）尺度。这是标准流程的一部分。","https:\u002F\u002Fgithub.com\u002Fmusikalkemist\u002FAudioSignalProcessingForML\u002Fissues\u002F3",[]]