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

news/2025/2/24 11:49:18

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.niftyadmin.cn/n/4989551.html

相关文章

华为OD机试 - 租车骑绿道 - 双指针(Java 2023 B卷 100分)

目录 一、题目描述二、输入描述三、输出描述四、解题思路1、输入2、输出3、说明4、双指针算法 五、Java算法源码六、效果展示 华为OD机试 2023B卷题库疯狂收录中,刷题点这里 一、题目描述 部门组织绿岛骑行团建活动,租用公共双人自行车骑行,…

C/C++学习——简单工厂模式

简单工厂模式 一、简单工厂模式二、C代码示例总结 一、简单工厂模式 工厂模式是一种常见的设计模式&#xff0c;它用于创建对象&#xff0c;但将对象的创建过程抽象出来&#xff0c;以便在不暴露对象的具体实现细节的情况下创建不同类型的对象。 二、C代码示例 #include <…

WPF工控机textbox获得焦点自动打开软键盘

1.通过nuget安装 osklib.wpf 2.在textbox getFoucs中敲入如下代码即可实现获得焦点弹出软键盘 private void txtPLC_IP_GotFocus(object sender, RoutedEventArgs e){try{// Osklib.OnScreenKeyboard.Close();Osklib.OnScreenKeyboard.Show();}catch (Exception ex){MessageB…

Windows笔记本电脑开机黑屏

Windows笔记本电脑开机黑屏 最近&#xff0c;我遇到了一件奇怪的事情。我的Windows笔记本电脑在开机时出现了一个黑屏&#xff0c;没有任何反应。我尝试了多种方法&#xff0c;包括重启和恢复出厂设置&#xff0c;但都无济于事。 我开始感到担心&#xff0c;因为这只会影响到…

多线程学习笔记

多线程学习笔记 一、概念 线程是一个程序内部的一条执行流程。 程序中如果只有一条执行流程&#xff0c;那这个程序就是单线程的程序。 多线程是指从软硬件上实现的多条执行流程的技术(多条线程由CPU负责调度执行)。 Java虚拟机允许应用程序同时执行多个执行线程。 每个线…

Java中转换流(InputStreamReader,OutputStreamWriter),打印流(PrintStream,PrintWriter)

转换流 InputStreamReader 和 OutputStreamWriter 是 Java 中用于字符流和字节流之间进行转换的转换流类。它们主要用于解决字符编码的问题&#xff0c;在字节流和字符流之间提供了桥梁&#xff0c;可以将字节流转换为字符流或将字符流转换为字节流。 InputStreamReader&#…

shell语法--数组相关

shell定义一个数组 在 shell 中&#xff0c;可以使用以下语法来定义一个数组&#xff1a; array_name(item1 item2 item3 ...) 其中&#xff0c;array_name 是数组的名称&#xff0c;item1、item2、item3 等是数组中的元素&#xff0c;它们之间用空格分隔。例如&#xff0c;以下…

不会画图也能创作角色动态贴图

标题&#xff1a;不会画图也能创作角色动态贴图&#xff1a;实现关键创作的秘诀 引言&#xff1a; 创作角色动态贴图是一种吸引人的方式&#xff0c;可以在社交媒体平台和聊天软件上展示个性化的表情和动作。然而&#xff0c;并不是每个人都具备绘画技巧&#xff0c;这可能成为…