【转】Alsa音频编程【精华】】的更多相关文章

一.前序 这里了解一下各个参数的含义以及一些基本概念. 声音是连续模拟量,计算机将它离散化之后用数字表示,就有了以下几个名词术语. 样本长度(sample):样本是记录音频数据最基本的单位,计算机对每个通道采样量化时数字比特位数,常见的有8位和16位. 通道数(channel):该参数为1表示单声道,2则是立体声. 帧(frame):帧记录了一个声音单元,其长度为样本长度与通道数的乘积,一段音频数据就是由苦干帧组成的. 采样率(rate):每秒钟采样次数,该次数是针对帧而言,常用的采样率如8KH…
Linux下的音频编程中有OSS和ALSA,本篇文章将对ALSA进行相关介绍.ALSA提供一系列基于命令行的工具集,比如混音器(mixer),音频文件播放器(aplay),以及控制特定声卡特定属性的工具. 一.ALSA的 API主要分为以下几种接口:(1)控制接口:提供灵活的方式管理注册的声卡和对存在的声卡进行查询.(2)PCM接口:管理数字音频回放(playback)和录音(capture)的接口. (Pulse Code Modulation(脉冲编码调制).这个词描述了一种用数字化形式表示…
Linux音频编程指南 虽然目前Linux的优势主要体现在网络服务方面,但事实上同样也有着非常丰富的媒体功能,本文就是以多媒体应用中最基本的声音为对象,介绍如何在Linux平台下开发实际的音频应用程序,同时还给出了一些常用的音频编程框架. 一.数字音频 音频信号是一种连续变化的模拟信号,但计算机只能处理和记录二进制的数字信号,由自然音源得到的音频信号必须经过一定的变换,成为数字音频信号之后,才能送到计算机中作进一步的处理. 数字音频系统通过将声波的波型转换成一系列二进制数据,来实现对原始声音的重…
做linux音频编程对alsa应该不陌生. 但是对于刚接触这块技术的同学来说是一件困难的事情.原因在于:网上关于alsa的资料太少了,特别国内的资料更是大部分重复.对于初学者来说特别苦恼. 由于笔者经历过一步步摸索的痛苦过程,现在回想起来有些问题当初可以避免的.因此把问题解决方法和经验教训写出来,引以为戒. 写一系列的技术贴与网友们分享. 录音 arecord -D hw:2,0 -f S16_LE -r 44100 -c 2 /root/record.wav 查看音频设备命令arecord:加…
在linux下也可以写一个类似麦克风和喇叭这样的应用程序,只要打开/dev/dsp这个设备驱动,对该设备read读操作相当于录音,对这个设备write写操作相当于放音. 对于以下出现的一些参数我就不多说了,百度很多,大家可以自行查找,关于音频编程还有很多,alsa和OSS混合编程是目前用得最多的,如果对这方面有兴趣的可以深入研究. 以下是当时我在学习这方面知识的时候写的一个测试程序: 测试的结果就是当对着麦克风说话时,喇叭会放出声音,前提是你的linux系统需要安装/dev/dsp这个驱动. 按…
转自:https://blog.csdn.net/dengjin20104042056/article/details/52435290 一.数字音频 音频信号是一种连续变化的模拟信号,但计算机只能处理和记录二进制的数字信号,由自然音源得到的音频信号必须经过一定的变换,成为数字音频信号之后,才能送到计算机中作进一步的处理. 数字音频系统通过将声波的波型转换成一系列二进制数据,来实现对原始声音的重现,实现这一步骤的设备常被称为模/数转换器(A/D).A/D转换器以每秒钟上万次的速率对声波进行采样,…
转自: http://www.ibm.com/developerworks/cn/linux/l-audio/ Linux音频编程指南 虽然目前Linux的优势主要体现在网络服务方面,但事实上同样也有着非常丰富的媒体功能,本文就是以多媒体应用中最基本的声音为对象,介绍如何在Linux平台下开发实际的音频应用程序,同时还给出了一些常用的音频编程框架. 1 评论: 肖文鹏 (xiaowp@263.net), 自由软件爱好者 2004 年 2 月 01 日 内容 一.数字音频 音频信号是一种连续变化的…
*************************************************************************************************************************** 作者:EasyWave                                                                   时间:2014.10.25 类别:Linux应用-ALSA音频架构ALSA-lib的移植于编译…
1. 背景 在<Jasper语音助理介绍>中, 介绍了Linux音频系统, 本文主要介绍了Linux下音频编程相关内容. 音频编程主要包括播放(Playback)和录制(Record), 大概过程简单总结如下:播放:  将音频文件进行解码(Decode)生成PCM数据, 并将其送入音频设备中播出.录制:  将声音进行采集, 编码(Encode)后按照特定文件格式保存至音频文件. 2. 基础知识 2.1 声音和声卡 声音是由物体振动产生的声波, 是通过介质(空气或固体.液体)传播并能被人或动物听…
一.声卡 1.声卡是audio interface,它含有hardware buffer,而这个hardware buffer是在声卡里面,不是内存.声卡的缓存是环状的,则ALSA中是将数据分成连续的片段然后传到按单元片段传输. 2.当我们通过麦克风讲话的声音搜集到声卡里之后,将内存从声卡设备文件中读取声音数据的过程就是录音过程:把内存中的声音数据写入到声卡的设备文件中可以实现音频文件. 3.我们在/dev/snd/目录下用ls命令就可以看到相关的声卡设备. 4.模/数(ADC)转换器将模拟电压…