[ Linux Audio 篇 ] Linux Audio 子系统资料集锦

news/2025/1/20 6:27:59/

Linux Audio 子系统资料

    • 背景
    • OSS VS ALSA
    • ALSA 驱动
    • ALSA lib
    • ALSA Plugin
    • 音频延迟
    • 音频调试
    • 音频书籍

背景

最近需要准备Linux Audio 相关的PPT,于是将以往的知识点和遇到的问题进行整理和梳理,以便向大家讲解。同时,还整理了在这个过程中发现的优秀文章,以供参考。

OSS VS ALSA

  • OSS 开发网站
  • ALSA 开发网站
  • 关于音频的神话和都市传说 对ALSA支持者的反驳

ALSA 驱动

  • Linux音频子系统 这是一个CSDN 免费的专栏,包含ALSA 声卡驱动、ASoc 、DAPM详解,介绍的比较齐全。
  • Linux ALSA 音频系统:物理链路篇、Linux ALSA 音频系统:逻辑设备篇 两篇文章把ALSA驱动讲清楚了,非常值得一看。
  • Writing an ALSA Driver Takashi Iwai 经典文章,虽然时间比较旧了,还是有写参考价值的
  • Rumination on ALSA Drivers Takashi Iwai 介绍ALSA Driver PPT,Takashi Iwai是Linux内核音频框架ALSA(Advanced Linux Sound Architecture)的首席维护者之一
  • kernel 4.19音频框架超详细分析(ALSA数据流程、控制流程、驱动层)
  • Linux内核4.14版本——alsa框架分析阅读顺序

ALSA lib

  • 音频子系统 作者工作过程中Audio调试经验,涉及面非常广
  • snd_pcm_open源码分析 尽可能详细的分析snd_pcm_open函数到底做了什么工作,以及这些工作到底是怎么实现的。
  • ALSA overview ST 官方针对STM32MP13x写的教程
    在这里插入图片描述

ALSA Plugin

  • PCM (digital audio) plugins ALSA 官方针对 ALSA plugin 的详细介绍
  • ALSA plugins ALSA Plug 一些示例
  • A close look at ALSA 一篇英文官方文档,详细介绍ALSA PLUG
  • Digital Audio Resampling Home Page 本文档描述了数字音频采样率转换和相关概念。提供了开源软件,并给出了相关项目和论文的指导。
  • 采样率转换器的比较结果
    在这里插入图片描述
    在这里插入图片描述

音频延迟

  • Audio latency: buffer sizes (100 Days of Google Dev) 我们知道缓冲区在音频延迟中起着关键作用。但是什么决定了这些缓冲区的大小呢?在本视频中,我们探讨了音频缓冲区大小的一个贡献者,以及我们正在采取哪些措施来减少这些大小。这是一系列通知音频应用程序开发人员和合作伙伴最近和即将到来的 Android 音频延迟减少以及如何利用这些的系列内容之一。

  • 音频延迟 Android官网针对音频延迟相关的一个总结,比较完善。
    在这里插入图片描述

  • Audacity Latency Test 介绍怎么测试音频延迟以及通过Audacity进行分析
    在这里插入图片描述

  • Audio sync analysis library audio_sync 是一个 Python 库,用于比较两个音频信号并获取其中一个信号与另一个信号的延迟(或延迟)。该库最初是为了测试 Chromecast Audio 的多房间而开发的。为了使库能够确定延迟,被测音频源(例如扬声器)输出的音频信号需要具有某些特征(在如何测量延迟部分中进行了描述)。这限制了库的适用性,可以控制源播放的音频。如果情况并非如此,那么互相关可能是值得考虑的更好技术。

音频调试

  • 音频定位手段 介绍 ALSA 常用的一些定位手段
  • XRUN Debug ALSA 官网 XRUN Debug 教程
  • 音频软件开发中的debug方法和工具 音频软件开发同其他软件开发一样,都需要去调试。音频软件调试同其他软件调试方法有相同的地方,也有不同的地方,同时调试时还需要借助一些专门的工具,有了这些方法和工具,就能快速的定位问题和解决问题。
  • 音频调试的一些tips

音频书籍

  • 《Linux Sound Programming》是一本关于Linux音频编程的书籍,由Jan Newmarch编写。该书提供了关于如何在Linux上进行音频开发的详细指南和实用技巧。 关注留言发下载链接
    是一本关于Linux音频编程的书籍,由Takashi Iwai和Aurelien Goulard合著。该书提供了关于如何在Linux上进行音频开发的详细指南和实用技巧

  • 本书主要介绍基于互联网场景的交互式实时语音处理流程,内容涉及智能语音助手、智能音箱、音/视频会议等,具体包括实时语音信号处理、数字音效、网络传输编/解码和语音唤醒识别四部分。
    在这里插入图片描述

  • 语音增强 作者总结相关文章,更像一本电子书
    在这里插入图片描述

  • 全志芯片平台 Tina Linux 音频开发指南 比较详细的文档,针对芯片音频开发非常有帮助
    在这里插入图片描述

  • Audio Specifications 音频规格概念详解
    在这里插入图片描述


http://www.ppmy.cn/news/1075824.html

相关文章

装饰器模式简介

概念: 装饰器模式(Decorator Pattern)是一种结构型设计模式,允许您在不改变现有对象结构的情况下,动态地将新功能附加到对象上。通过创建一个包装器类来扩展原始类的功能。这个包装器类具有与原始类相同的接口&#x…

【Linux系列】离线安装openjdk17的rpm包

首发博客地址 首发博客地址[1] 系列文章地址[2] 准备 RPM 包 请从官网下载:https://www.oracle.com/java/technologies/downloads/#java17[3] 如需不限速下载,请关注【程序员朱永胜】并回复 1020 获取。 安装 yum localinstall jdk-17_linux-x64_bin.rpm…

电气特征分析(ESA)技术是什么及有何应用场景

在现代工业领域,电机扮演着不可或缺的角色,驱动着生产设备的正常运行。然而,电机的故障可能会导致生产中断、计划外停机以及高昂的经济损失。为了保障生产的连续性和效率,预测性维护变得至关重要。在这个背景下,电气特…

共享办公空间的SWOT分析:

S(优势): 灵活性和多样性:共享办公空间通常提供多种套餐和服务,适合不同需求和预算的初创企业和个人。 资源共享和合作:共享办公空间提供了与其他企业家、创新者和专业人士交流和合作的机会,可…

C++常用23种设计模式总结(三)------装饰模式

往期回顾 C常用23种设计模式总结(一)------单例模式 C常用23种设计模式总结(二)------观察者模式 什么是装饰模式 装饰模式是一种结构型设计模式,它允许你在运行时为对象动态添加新的行为。该模式通过将对象放入包装器中来实现这一点,这个包装器会实现与…

代码题: 实现 ahooks 中的 useRequest 函数, 内部可以使用 axios 或者 fetch

useRequest 是一个常用的自定义 Hook,用于处理数据请求。它可以简化组件中的请求逻辑,使组件更纯净并重用请求逻辑。 以下是一个简单的 useRequest 的实现,使用 fetch: import { useState, useEffect } from react;function useRequest(url…

C/C++ 获取当前系统毫秒时间

如果在C/C获取当前系统毫秒时间 &#xff0c;要借助timeval #include <stdio.h> #include <sys/time.h> long getCurrentTime() {struct timeval tv;gettimeofday(&tv,NULL);return tv.tv_sec * 1000 tv.tv_usec / 1000; }int main() {printf("c/c prog…

浅谈Lua协程和函数的尾调用

前言 虽然不经常用到协程&#xff0c;但是也不能谈虎色变。同时&#xff0c;在有些场景&#xff0c;协程会起到一种不可比拟的作用。所以&#xff0c;了解它&#xff0c;对于一些功能&#xff0c;也会有独特的思路和想法。 协程 概念 关于进程和线程的概念就不多说。 那么…