ALSA声卡笔记4-----体验声卡】的更多相关文章

1 .配置内核支持UDA1341 (1)内核 解压内核并打上补丁 配置内核 platform 需要设置哪些配置项,先看一下platform,需要把S3c24xx-i2s.c文件配置上去,dma.c也要配置上去.这些文件对应哪一个配置项,可以通过打开内核目录中以上两个文件所在目录下的Makefile. 配置编译项CONFIG_SND_S3C24XX_I2S  // s3c24xx-i2s.c 搜索S3c24xx-i2s可知最终会编译进文件snd-soc-s3c24cc-i2s-objs这个文件里.…
1.ASoC中重要的数据结构之间的关联方式 (1)Kernel-2.6.35-ASoC中各个结构的静态关系 ASoC把声卡实现为一个Platform Device,然后利用Platform_device结构中的dev字段:dev.drvdata,它实际上指向一个snd_soc_device结构. 可以认为snd_soc_device是整个ASoC数据结构的根本,由他开始,引出一系列的数据结构用于表述音频的各种特性和功能.snd_soc_device结构引出了snd_soc_card和soc_co…
1.简单了解一下ASOC 在嵌入式系统里面的声卡驱动为ASOC(ALSA System on Chip) ,它是在ALSA 驱动程序上封装的一层   分为3大部分,Machine,Platform和Codec ,三部分的关系如下图所示:其中Machine是指我们的开发板,Platform是指Soc,而Codec是指编解码器(如uda1341) (1)machine:单板相关内容,开发板所用的主芯片(Platform是指Soc).编解码芯片(codec)是哪一个.主芯片里的IIS接口(DAI(全称…
1.声卡驱动程序sound.c (1)入口函数里通过register_chrdev()函数注册file_operations 结构体 (2)file_operations 结构体,里面只有open函数,没有发现读写函数,可知open函数是起中转作用的函数,肯定会找到一个新的file_operations 结构体 (3)调用过程 以minor变量保存传入节点inode结构体的次设备号 以minor为下标在结构体数组中取出一项,让mptr指针指向此项 表示取出mptr结构体指针里的file_oper…
本文转载自:http://blog.csdn.net/kris_fei/article/details/78399875 Platform: RK3288 OS: Android 6.0 Kernel: 3.10.92 方法一: root@rk3288:/proc/asound/card0 # cat /proc/asound/cards 0 [RKRT5631 ]: RK_RT5631 - RK_RT5631 RK_RT5631 方法二: root@rk3288:/data # ls -l /…
前言 早在去年就简单的使用了一下Spring Boot,当时就被其便捷的功能所震惊.但是那是也没有深入的研究,随着其在业界被应用的越来越广泛,因此决定好好地深入学习一下,将自己的学习心得在此记录,本文主要围绕以下几点进行说明: Spring Boot 简介 使用Spring Boot快速搭建一个Web应用如有不对的地方,请指正. 1. Spring Boot简介 Spring Boot是一个基于Spring的衍生框架,其主要的目的是帮助我们快速构建独立.生产级别的Spring的应用,其崇尚的理念…
一.首先介绍一下什么是ALSA : Advanced Linux Sound Architecture 的简称为 ALSA ,译成中文的意思是先进的Linux声音架构(这是google翻译的):一谈到架构就有点范围太大了,所以ALSA不仅仅是包括对声卡的支持和驱动: ALSA具有如下特征: 1.对所有音频接口的高效支持,从普通用户的声卡到专业级别多路音频设备: 2.声卡驱动完全模块化设计: 3.SMP and thread-safe design. 4.开发库(alsa-lib) 为程序设计提供…
环境 ubuntu12.04 因为桌面版的默认装了,而且调声音也很方便,这里说一下server版下的配置,毕竟做开发经常还是用server版的 1.安装 apt-get install alsa-base 它会把alsa-utils也一块装了,这是个工具包,如果没装的话 直接 apt-get install alsa-utils 2.配置 在server版下装完alsa后声音默认是静音的 执行 alsamixer 会出现一个图形界面 会看到有的是 MM 有的是OO 用“m”键切换时静音还是打开,…
前面一节的内容我们提到,ASoC被分为Machine.Platform和Codec三大部分,其中的Machine驱动负责Platform和Codec之间的耦合以及部分和设备或板子特定的代码,再次引用上一节的内容:Machine驱动负责处理机器特有的一些控件和音频事件(例如,当播放音频时,需要先行打开一个放大器):单独的Platform和Codec驱动是不能工作的,它必须由Machine驱动把它们结合在一起才能完成整个设备的音频处理工作. ASoC的一切都从Machine驱动开始,包括声卡的注册,…
报警子系统 一. OSS/ALSA 声卡的驱动与配置 声卡驱动中传统的OSS构架在02年被收购后即不开源,并且OSS的混音效果不好->因此ALSA构架孕育而生. ALSA(高级音频构架,目前应用广泛),但是为了向前兼容传统的OSS应用,故将ALSA驱动按照OSS接口形式进行封装,由ALSA库的支持,可以达到很好的驱动效果. 使用步骤: a. 配置内核 " make menuconfig ARCH=arm " ,选择OSS.ALSA(usb设备驱动->声卡).OHCI(非PC…
在Android中音频系统使用的是ALSA系统架构.ASoC--ALSA System on Chip .是建立在标准ALSA驱动层上,为了更好地支持 嵌入式处理器和移动设备中的音频Codec的一套软件体系.在音频设备驱动中ASoC被分为Machine.Platform和Codec三大部分. Codec部分:负责音频解码,这部分代码全然无平台无关(设备原厂提供),它包括了一些音频的控件(Controls),音频接 口,DAMP(动态音频电源管理)的定义和Codec IO功能.为了保证硬件无关性,…
本节学习目的 1)分析Linux中的OSS声卡系统 2)移植wm9876声卡 3)使用madplay应用程序播放mp3 1.声音三要素 采样频率 音频采样率是指录音设备在一秒钟内对声音信号的采样次数, 常用的采样率有: 8KHz      - 电话所用采样率, 对于人的说话已经足够清除 22.05KHz - 无线电广播所用采样率 32KHz   -  miniDV 数码视频.DAT所用采样率 44.1KHz - 音频 CD, 也常用于 MPEG-1 音频(VCD, SVCD, MP3)所用采样率…
问题:Linux系统中有声卡设备,但是听不到声音 一.声卡驱动没有安装 1.通过插拔声卡查出声卡驱动 2.在相应的kernel中编译内核 修改保存.config文件,然后进行编译 make -j make modules make modules_install reboot重启机器后可以“lsmod”查看驱动 3.将2号声卡改为默认声卡: .# aplay -l -----> list all soundcards and digital audio devices .# vi /usr/sh…
1.设置默认声卡为USB声卡 在$HOME下新建.asoundrc $cd $HOME $nano .asoundrc 输入以下内容 defaults.ctl.card 1 defaults.pcm.card 1 最后的1是USB声卡的编号,可通过以下命令查看 $aplay -l 或 $cat /proc/asound/cards 然后重启一下alsa就把1号声卡(usb声卡)设置成默认声卡了. 测试录音 $arecord -d 10 test.wav 测试播音 $aplay test.wav…
转自:http://shanewfx.github.io/blog/2013/08/14/caprure-audio-on-windows/ 前一段时间接到一个任务,需要采集到声卡的输出信号,以便与麦克风的输入信号进行混音. 在考虑如何实现这个需求前,我们先讨论下电脑声音的三种模式: 1) render模式 该方式实际上就是播放(output)声音,常见的API如PlaySound, WaveOutXXX, DirectSound等 2) capture模式 该方式实际上就是录入(input)声…
涉及的接口有: IMMDeviceEnumerator IMMDevice IAudioClient IAudioCaptureClient 主要过程: 创建多媒体设备枚举器(IMMDeviceEnumerator) 通过多媒体设备枚举器获取声卡接口(IMMDevice) 通过声卡接口获取声卡客户端接口(IAudioClient) 通过声卡客户端接口(IAudioClient)可获取声卡输出的音频参数.初始化声卡.获取声卡输出缓冲区的大小.开启/停止对声卡输出的采集 通过声卡采集客户端接口(IA…
开更 大概最后做了一个能播放无损音乐(无压缩.不需解码)的播放器 原理是基于dosbox的模拟声卡,通过硬件之间的相互通讯做到的 关于详细内容接下来再讲. 一.从dosbox入手 我们知道cpu可以直接输出到蜂鸣器的端口,然后让蜂鸣器发声.但是蜂鸣器的局限性很大,大多数蜂鸣器只支持两种电压,也就只能发出非常单一的声音.所以,从播放音乐角度来讲,调用蜂鸣器是比较简单但局限性很大的.所以这里不会采用调用蜂鸣器的做法. 要用8086发出复杂的声音,最简单的想法就是调用声卡,但在dos环境下,想调用wi…
这段时间一直都在研究推流的技术,经过断断续续将近两个月的摸索实践,终于能稳定地推流了. 这个demo的主要功能就是将采集到的摄像头或桌面的视频.以及麦克风或声卡的音频数据推到Nginx-RTMP服务器上,再由Web浏览器去拉流并播放. 接下来介绍Demo整个功能的实现原理和代码逻辑,大家可以从文末下载源码后,对照源码再来看下面的介绍就会更清晰些. 一.客户端实现 客户端的界面效果图如下所示: 客户端的具体功能:可以采集摄像头或者桌面图像,也可以采集麦克风与声卡的声音 并将它们推送到Nginx流服…
首先查看自己电脑上的声卡 使用命令行查看 orangepi@orangepi3:~$ ll /proc/asound/ total 0 dr-xr-xr-x 4 root root 0 Dec 23 02:58 ./ dr-xr-xr-x 178 root root 0 Jan 1 1970 ../ dr-xr-xr-x 4 root root 0 Dec 23 11:02 card0/ dr-xr-xr-x 4 root root 0 Dec 23 11:02 card1/ -r--r--r-…
对于playback snd_pcm_begin snd_pcm_commit, 貌似 commit给的frame才会使得alsa去把数据填充 转自 http://magodo.github.io/ Zhaoting's Blog About ALSA - PCM接口 Apr 14, 2016 Table of Content 0. PCM 1. 概述 1.1 PCM设备的两种类型 1.2 PCM设备和ALSA应用的ring buffer 1.2.1 ring buffer - 单位(perio…
作品已经完成,先上源码: https://files.cnblogs.com/files/qzrzq1/WIFISpeaker.zip 全文包含三篇,这是第三篇,主要讲述接收端程序的原理和过程. 第一篇:基于Orangpi Zero和Linux ALSA实现WIFI无线音箱(一) 第二篇:基于Orangpi Zero和Linux ALSA实现WIFI无线音箱(二) 以下是正文: 在进行接收端程序开发前,首先要了解Orangpi Zero的声音设备. Orangpi可以通过ALSA(The Adv…
概述 ALSA(Advanced Linux Sound Architecture)是linux上主流的音频结构,在没有出现ALSA架构之前,一直使用的是OSS(Open Sound System)音频架构.关于OSS的退出以及ALSA的出现,可以看Linux音频驱动-OSS和ALSA声音系统简介及其比较.   关于OSS和ALSA音频架构之间的区别图如下: 主要的区别就是在OSS架构下,App访问底层是直接通过Sound设备节点访问的.而在ALSA音频架构下,App是通过ALSA提供的alsa…
1.创建声卡 snd_card是对声卡硬件抽象出来的结构体,几乎所有与声音相关的逻辑设备都是在snd_card的管理之下,声卡驱动的第一个动作通常就是创建一个snd_card结构体. 我们可以通过调用snd_card_new来创建一个snd_card结构体. struct snd_card *card; int err; err = snd_card_new(&pci->dev, index, id, module, extra_size, &card); /** * snd_car…
第十七章.中介者模式 中介者模式也称为调解者模式或调停者模式,是一种行为型模式. 1.定义 中介者模式包装了一系列对象相互作用的方式.使得这些对象不必相互明显作用.从而使它们能够松散耦合.当某些对象之间的作用发生改变时.不会马上影响其它的一些对象之间的作用.保证这些作用能够彼此独立的变化. 2.使用场景 当对象之间的交互操作非常多且每一个对象的行为操作都依赖彼此时,为防止在改动一个对象的行为时.同一时候涉及非常多其它对象的行为,可使用中介者模式. 3.UML类图 (1)Mediator:抽象中介…
============================================================================== 深入linux kernel内核配置选项 ============================================================================== 如果自己不亲自实践配置的话,你永远也体会不到内核的真实所在. 使用过linux的发行版之一gentoo的话,你应该知道这是一个彻头彻尾的自定义…
http://www.opengpu.org/forum.php?mod=viewthread&tid=965&extra=page%3D1 游戏引擎剖析(Game Engine Anatomy 101) 原文作者:Jake Simpson 译者: 向海 Email:GameWorldChina@myway.com 英文原版下载 :   <ignore_js_op> Game Engine Anatomy.pdf (711.1 KB, 下载次数: 274) 第1部分: 游戏引擎…
原文作者:Jake Simpson译者: 向海Email:GameWorldChina@myway.com ------------------------------------------------------------第1部分: 游戏引擎介绍, 渲染和构造3D世界 介绍 自Doom游戏时代以来我们已经走了很远. DOOM不只是一款伟大的游戏,它同时也开创了一种新的游戏编程模式: 游戏 "引擎". 这种模块化,可伸缩和扩展的设计观念可以让游戏玩家和程序设计者深入到游戏核心,用新…
在linux下也可以写一个类似麦克风和喇叭这样的应用程序,只要打开/dev/dsp这个设备驱动,对该设备read读操作相当于录音,对这个设备write写操作相当于放音. 对于以下出现的一些参数我就不多说了,百度很多,大家可以自行查找,关于音频编程还有很多,alsa和OSS混合编程是目前用得最多的,如果对这方面有兴趣的可以深入研究. 以下是当时我在学习这方面知识的时候写的一个测试程序: 测试的结果就是当对着麦克风说话时,喇叭会放出声音,前提是你的linux系统需要安装/dev/dsp这个驱动. 按…
上次安装window server2008,由于server2008需要设置很多东西,不然用起来很不爽,就说IE吧,每次随便打开一个网页都要弹出n多窗口出来叫你添加到信任域里面!太烦人了![下面有解决的哈] 一下都是来自网络收集!毕竟这些最新知道肯定不是我撒!哈哈 ,拿来主义真好! [如果说侵犯到某些人的权益的话!请联系我,我将删除,谢谢!] 安装IIS7 见:http://learn.iis.net/page.aspx/29/install-iis-7-on-windows-server-20…
1. 背景 在<Jasper语音助理介绍>中, 介绍了Linux音频系统, 本文主要介绍了Linux下音频编程相关内容. 音频编程主要包括播放(Playback)和录制(Record), 大概过程简单总结如下:播放:  将音频文件进行解码(Decode)生成PCM数据, 并将其送入音频设备中播出.录制:  将声音进行采集, 编码(Encode)后按照特定文件格式保存至音频文件. 2. 基础知识 2.1 声音和声卡 声音是由物体振动产生的声波, 是通过介质(空气或固体.液体)传播并能被人或动物听…