【Linux 音频系统编程】
文章平均质量分 66
本专栏专注于音频系统编程,由浅入深一步一步带你进入音频的世界。
程序手艺人
多年嵌入式音频设备产品化开发经验,在车载娱乐系统、智能音箱有丰富的实战开发经验。
展开
-
[ Linux Audio 篇 ] Type-C 转 3.5mm音频接口介绍
了解下Type-C转3.5mm音频接口原创 2022-12-30 21:43:19 · 4058 阅读 · 1 评论 -
音箱的喇叭底噪问题
概述最近项目中遇到一个模拟功放Codec 有底噪的问题,一步一步分析一步一步解决。音源底噪,由于板子处理不好,导致音源本身就带有干扰信号,传给模拟功放,功放放大输出,导致底噪。(较常见)所以一般常规的方法音频不播放的时候关闭喇叭PA。TODO...原创 2022-08-31 20:57:03 · 1975 阅读 · 0 评论 -
Linux音频系统编程之芯片平台适配功放Codec Driver解读
针对音箱日常工作项目开展的前期,需要快速的适配音频子模块,方便项目的声学评估和开展,期间遇到不少的问题,其中有一些细节往往会忽略掉,然而正好是问题的所在。在此背景下,遇到问题一步一步梳理,方便快速的定位出问题所在。适用范围通用的Android/Linux平台皆可适用。.........原创 2022-07-31 23:28:40 · 1397 阅读 · 0 评论 -
USB Audio Class (UAC)音频解读规范
USB音频非常流行,原因之一是USBAudio是USB标准的一部分,因此原生模式驱动程序可用于所有流程的操作系统(WinLinuxMac)。USB音频是一种灵活的解决方案,因为任何PC都提供USB接口。原创 2022-07-31 19:48:26 · 11816 阅读 · 0 评论 -
【Linux Auido篇】解决音频技术难题的有效方法
在日常工作中,我经常会遇到各种技术难题,有时候即使加班加点也无法解决。然而,有一次我静下心来,翻阅了关于相关技术话题的文章,发现其中一些观点对解决这个问题非常有帮助。在理解这些观点后,我顿时感到茅塞顿开,那种解决问题的喜悦和成就感真的非常好。原创 2019-10-13 16:29:26 · 954 阅读 · 4 评论 -
[ 物联网篇 ] 37 -嵌入式Portaudio 开发教程
//TODO//改变回调线程的调度策略/** Instruct whether to enable real-time priority when starting the audio thread. * * If this is turned on by the stream is started, the audio callback thread will be created * with the FIFO scheduling policy, which is suitable for原创 2020-12-31 18:34:05 · 300 阅读 · 0 评论 -
学习FFmpeg API – 解码视频流程总结
转载原文地址 FFMPEG 是编解码的利器,用了很久,以前看过dranger 的教程,非常精彩,受益颇多,是学习ffmpeg api很好的材料。可惜的是其针对的ffmpeg版本已经比较老了,而ffmpeg的更新又很快,有些API已经完全换掉了,导致dranger教程中的 代码已经无法编译,正好最近需要使用ffmpeg,于是就利用dranger的教程和代码,自己边学边记录,于是也就有了这...转载 2018-07-24 17:23:10 · 1300 阅读 · 1 评论 -
智能音箱AEC中的回采信号
智能音箱中的AECNXP 中的SW Loopback 回路原创 2019-09-30 18:27:30 · 7981 阅读 · 2 评论 -
[ 音频篇 ] 如何实现麦克风多个音频流通道数据的分离
项目量产过程中需要验证麦克风的好坏,需要通过麦克风录音,查看录音数据确定麦克风的好坏,但实际过程中产品有4个麦克风,录音回来的数据需要做数据分离,然后才能确定到底哪个麦克风出现问题。这个问题已经在StackOverflow中有答案了Decode audio stream channels to multiple wavs using ffmpeg?...原创 2018-12-05 21:11:12 · 4096 阅读 · 0 评论 -
FFMPEG 常用命令
记录下常用的命令批量合并多个音频文件//filelist.txt 文件内容file '1_P1_a.wav'file '00_space_3s.wav'file '2_P1_a.wav'file '00_space_3s.wav'// 命令ffmpeg -f concat -i filelist.txt -c copy test.wav参考ffmpeg批量合并音频文件...原创 2019-08-08 09:28:59 · 250 阅读 · 0 评论 -
嵌入式软件中如何验证麦克风的好坏?
实现项目量产过程中,要测试一些外设,比如智能音箱的麦克风测试,测试麦克风的步骤比较复杂,比如验证麦克风的一致性,降噪算法等等,这里只是初步验证下麦克风的好坏,验证麦克风的好坏无非就是录音,然后查看录音文件数据。录音录音采用ALSA提供的arecord进行录音,查看声卡外设# arecord -l **** List of CAPTURE Hardware Devices ****card...原创 2018-11-04 12:19:44 · 939 阅读 · 0 评论 -
【开篇】如何转行成为一名嵌入式音频工程师?
这篇文章的话题写的有点大,也允许作者用足够的时间来写完这篇文章。等我写完,再重新阅读一遍奥原创 2022-02-28 23:17:43 · 5141 阅读 · 3 评论 -
Linux音频系统编程之音频播放解读
、提示:这里简述项目相关背景:之前调试的音频通路遇到的延迟问题智能音箱中音频通路的回采(Ref信号),这次更多的精力在分析ALSA Lib -> ALSA Driver 的音频流提示:这里填写该问题的具体解决方案:使用ALSA API Readi 发现随着时间出现丢帧的现象//TODO......原创 2021-01-31 18:36:29 · 593 阅读 · 0 评论 -
[ 物联网篇 ] 21 - Alsa Plug 采样率转换插件配置
//TODO原创 2020-07-31 22:03:41 · 623 阅读 · 0 评论 -
Alsa 调试中篇:工具篇
1.前言 笔者在上一篇的alsa调试上篇:编译篇,中介绍了如何将alsa官网下载的源码中交叉编译到自己的目标板上。在本章中,我将会为你介绍如何用alsa-utils提供的工具来快速熟悉和使用alsa.注意,笔者这里没在开发板上面运行命令来讲解,而是用我的ubuntu16.04主机来讲解。如果你也想在你自己的ubuntu上面运行相关命令,直接敲我接下来的命令就行。如果你想运行从alsa官网下载...原创 2018-07-29 12:28:40 · 3622 阅读 · 0 评论 -
Linux codec-npcp215x调试详解
1.介绍 本章主要介绍arm的外设codec的调试方法,和调试步骤。在本章中,笔者主要以新唐的codec--npcp215x为例来讲解。其他类型的codec,也可以仿照本章的调试步骤来。2.npcp215x的介绍特点:提高低性能扬声器的音频质量 System-level BOM 立体声和sub-woofer i2c控制 24bit精确度 音频算法:1.MaxxB...原创 2018-08-06 22:54:09 · 2658 阅读 · 0 评论 -
Linux ALSA 音频系统:逻辑设备篇
6. 声卡和 PCM 设备的建立过程前面几章分析了 Codec、Platform、Machine 驱动的组成部分及其注册过程,这三者都是物理设备相关的,大家应该对音频物理链路有了一定的认知。接着分析音频驱动的中间层,由于这些并不是真正的物理设备,故我们称之为逻辑设备。PCM 逻辑设备,我们又习惯称之为 PCM 中间层或 pcm native,起着承上启下的作用:往上是与用户态接口的交互,实原创 2017-03-01 22:46:26 · 30949 阅读 · 6 评论 -
Linux ALSA 音频系统:物理链路篇
1. 概述硬件平台及软件版本:Kernel - 3.4.5SoC - Samsung exynosCODEC - WM8994Machine - goni_wm8994Userspace - tinyalsaLinux ALSA 音频系统架构大致如下: +--------+ +--------+ +--------+ |tinyp原创 2017-03-01 22:16:29 · 41875 阅读 · 27 评论 -
函数snd_soc_register_codec()分析
函数snd_soc_register_codec()的主要作用是注册codec到ASoC,另外呼叫函数snd_soc_register_dais()注册DAI(Digital Audio Interface).原创 2016-10-12 18:13:09 · 7872 阅读 · 0 评论