linux 音频文件格式,Linux音频驱动-WAV文件格式分析
实例分析
1. 在网上下载wav的音频文件,使用mediainfo显示该音频文件的详细信息。
root@test:~$ mediainfo ~/Download/test.wav
General
Complete name : /home/test/Download/test.wav
Format : Wave
File size : 44.2 MiB
Duration : 4mn 22s
Overall bit rate mode : Constant
Overall bit rate : 1 411 Kbps
Audio
ID : 0
Format : PCM
Format settings, Endianness : Little
Codec ID : 1
Duration : 4mn 22s
Bit rate mode : Constant
Bit rate : 1 411.2 Kbps
Channel(s) : 2 channels
Sampling rate : 44.1 KHz
Bit depth : 16 bits
Stream size : 44.2 MiB (100%)2. 使用vim使用十六进制打开该文件
1 0000000: 5249 4646 741d c302 5741 5645 666d 7420 RIFFt...WAVEfmt
2 0000010: 1000 0000 0100 0200 44ac 0000 10b1 0200 ........D.......
3 0000020: 0400 1000 6461 7461 501d c302 0100 0000 ....dataP.......
4 0000030: ffff 0000 0000 0000 0000 0100 0000 ffff ................
5 0000040: 0000 0100 0000 ffff 0000 0000 ffff 0100 ................
6 0000050: 0200 ffff fdff 0100 0300 ffff ffff 0200 ................
7 0000060: 0000 feff 0100 0200 ffff feff 0100 0200 ................
8 0000070: ffff ffff 0100 0000 ffff 0100 0000 ffff ................3. 分析上述的数据
"
52 49 46 46" 对应的Ascii码字符为"RIFF"。
"
74 1d c3 02" 对应的就是ChunkSize,对应的十六进制是:0x2c31d74=46341492。那整个wav文件的大小就为: 46341492+8=46341500。将此值转化为MB位单位: 44.2MB,可以验证上述使用mediainfo的信息。
"
57 41 56 45" 对应的Ascii码字符为"WAVE"。
"
66 6d 74 20" 对应的Ascii码字符为"fmt"。
"
10 00 00 00" 四字节对应的是该音频的编码方式,通常为16,代表PCM编码方式。也就是十六进制0x10。
"
01 00" 对应为1,代表PCM编码方式。
"
02 00" 通道个数,通道数为2,验证上述mediainfo的信息。
"
44 ac 00 00" 采用频率,转化为十六进制为: 0xac44=44100=44.1KHz
"
10 b1 02 00" 每秒所需的字节数,转化为十六进制为: 0x2b110=176400。通过此值可以计算该音频的时长: 46341500/17600=4.37。0.37*60=22.2,则该音频的时长为4mn22s。
"
04 00" 数据对齐单位。
"
10 00" 采样位数,等于0x10=16。
"
64 61 74 61" 对应的Ascill码字符为"data"。
"
50 1d c3 02" 对应该音频的raw数据的大小,转化为十六进制为0x2c31d50=46341456,此值等于wav_size-44=46341500-44。
linux 音频文件格式,Linux音频驱动-WAV文件格式分析相关推荐
- C语言解析wav文件格式
目录 C语言解析wav文件 1.wav文件的二进制格式解析 1.1 RIFF chunk(资源互换文件格式块) 1.2 第一个子块fmt(描述数据子块中声音信息的格式) 1.3 第二个子块data(附 ...
- AVI文件格式简介与WAV文件分析
AVI文件格式简介与WAV文件分析 AVI文件格式(回答问题) 所有AVI文件至少包含2个必须的LIST Chunk和一个索引Chunk Chunk: LIST Chunk: 小端:数据的低位保存在内 ...
- 音频wav文件格式分析
一.音频文件 /usr/share/sounds/deepin/stereo/desktop-login.wav 二.文件信息 syli@syli-PC:~/work/repo/Demo/pa$ ...
- linux音频自动转码,使用SoundConverter在Linux系统下批量音频转码的方法
以下教你在 Linux 操作系统下批量音频转码,只需要下载并安装 SoundConverter 即可,它的使用方法非常的简单,下面会做一说明. 背景 时下最流行的音频压缩格式当然是 MP3 了,目前主 ...
- Linux 使用ffmpeg修改和压缩视频文件格式
Linux 使用ffmpeg修改和压缩视频文件格式 1.安装 ffmpeg 2. 使用ffmpeg修改和压缩视频文件格式 这里使用的ffmpeg是使用命令行进行修改和压缩视频文件格式. 我们使用的操作 ...
- linux alsa 音频管理,在Linux上的高级音频控制
Linux音频控制与Linux音频系统结构一样混乱. 长篇小说,经过多年的发展,默认的声音控制工具看起来像这样: 设置音量级别的默认和唯一选项可能对于大多数用户来说是足够的,但是当您想要设置特定音频级 ...
- linux的静态编译elf无法调试,[翻译]自己动手编写一个Linux调试器系列之4 ELF文件格式与DWARF调试格式 by lantie@15PB...
自己动手编写一个Linux调试器系列之4 ELF文件格式与DWARF调试格式 by lantie@15PB 在上一节中,你已经听说了DWARF调试格式,它是程序的调试信息,是一种可以更好理解源码的方式 ...
- Linux下优秀的音频编辑软件
不论您是一个音乐爱好者或只是一个要记录您导师的讲话的学生,您都需要录制音频和编辑音频.长久以来这样的工作都要靠Macintosh,如今那个时代已经过去,现在Linux也可以胜任这些工作了.简而言之,这 ...
- android 录音amr格式转换,android – 以AMR文件格式录制音频
我想以AMR文件格式录制音频.我目前正在使用波纹管代码来录制音频: outputFile = Environment.getExternalStorageDirectory().getAbsolute ...
最新文章
- ansys大变形开关要不要打开_ANSYS不收敛问题的解决办法
- 通过容器提交镜像(docker commit)以及推送镜像(docker push)笔记
- python3-Python3 数字(Number)
- css布局左右2边固定,中间自适应
- 原创-互联网技术图谱
- C语言程序程序设计—数组
- IOS15给UICollection添加测试数字
- 关于计算机的英语作文九年级,实用的九年级英语作文合集6篇
- php恒等符,php学习笔记(三)操作符与控制结构
- source:读取文件 “/etc/profile” 时发生错误解决办法
- 关于瑞萨RH850中断的异常处理函数地址Exception Handler Address的理解
- 等价类划分法设计用例(超详细)
- STM32F401标准固件库配置
- java事件监听学习——通过键盘方向键控制小球移动
- 电机开环控制与闭环控制
- 海尔全球十一连冠背后: 生态时代的无限游戏
- 爬取腾讯视频评论——以《三生三世,十里桃花》为例
- 【再学Tensorflow2】TensorFlow2的建模流程:Titanic生存预测
- Exchange2003一些基础问题(转)
- 将word试卷匹配转换为结构化表格