audioread-支持多种解码 (GStreamer + Core Audio + MAD + FFmpeg) 的python音频解码库
解码支持
使用任何可用的后端解码音频文件都是支持的。该库当前支持:
- 通过PyGObject的Gstreamer。
- 通过ctypes在Mac OS X上的核心音频。(不需要PyObjC)
- 通过pymad绑定MAD。
- FFmpeg或Libav通过其命令行界面。
- 标准库wave,aifc和sunau模块(用于未压缩的音频格式)。
如何使用?
像这样使用库:
可以通过迭代从返回的对象来访问文件中的缓冲区 audio_open。每个缓冲区是一个字节(buffer,bytes,或 bytearray)含有生16位小端整数PCM数据签名。(当前,这些PCM格式参数不可配置,但是可以将其添加到大多数后端中。)
附加值可用作音频文件对象上的字段:
- channels :是音频通道的数量(整数)。
- samplerate :以Hz(整数)给出。
- duration:是音频的长度,以秒为单位(浮点数)。
该audio_open函数透明地选择可以读取文件的后端。(每个后端都在audioread 包内的模块中实现。)如果没有后端成功打开文件,DecodeError 则会引发异常。仅当后端不支持该文件类型时,才使用此异常。如果文件不存在,IOError 将提出一个标准。
第二个可选参数,用于audio_open指定要尝试的后端(而不是全部尝试,这是默认设置)。您可以使用该 available_backends函数获取当前系统上可用的列表后端。
Audioread是“通用的”,并且支持Python 2(2.6+)和Python 3(3.2+)。
安装
下载audioread源文件放入python库文件夹,或者放在当前python项目文件夹,import使用。
audioread-支持多种解码 (GStreamer + Core Audio + MAD + FFmpeg) 的python音频解码库相关推荐
- 【FFmpeg杂记】音频解码输出PCM格式数据分析
FFmpeg音频解码后输出的为PCM数据,PCM中的声音数据没有被压缩. FFmpeg中音视频数据基本上都有Packed和Planar两种存储方式,对于双声道音频来说,Packed方式为两个声 ...
- ffmpeg C代码音频解码
生成原始PCM数据 #include <stdio.h> #include <stdlib.h> #include <libavcodec/avcodec.h> # ...
- 深入浅出:FFmpeg 音频解码与处理AVFrame全解析
深入浅出:FFmpeg 音频解码与处理全解析 一.FFmpeg 简介 1.1 FFmpeg 的历史与发展 1.2 FFmpeg 的主要组成部分 二.音频编解码基础 (Basics of Audio E ...
- 基于 CoreAudio 的音频编解码(一):音频解码
系列文章目录 基于 CoreAudio 的音频编解码(一):音频解码 基于 CoreAudio 的音频编解码(二):音频编码 前言 Core Audio 是iOS和MAC系统中的关于数字音频处理的基础 ...
- ffmpeg 音频解码一
1. ffmpeg 视频解码一 2. ffmpeg 视频解码二 3. ffmpeg 音频解码一 4. ffmpeg 音频解码二 5. ffmpeg 音视频解码 6. ffmpeg 视频编码一 7. f ...
- FFMPEG实现对AAC解码(采用封装格式实现)
技术在于交流.沟通,转载请注明出处并保持作品的完整性. 原文:https://blog.csdn.net/hiwubihe/article/details/81261022 [音频编解码系列文章] 音 ...
- FFmpeg音频解码流程详解及简单demo参考
本文主要讲解FFmpeg的音频解码具体流程,API使用.最后再以一个非常简单的demo演示将一个mp3格式的音频文件解码为原始数据pcm文件. 本文主要基于FFmpeg音频解码新接口. 一.FFmpe ...
- 集成Vitamio来播放网络视频(支持多种格式解码)
集成Vitamio来播放网络视频(支持多种格式解码) 在android里面可能会用到播放网络视频,但是android SDK自带的播放视频并不能满足我们要求,因为支持的格式有限,有时只有声音没有头像. ...
- Core Audio音频基础概述
Core Audio Core Audio提供了数字音频服务为iOS与OS X, 它提供了一系列框架去处理音频. Core Audio中包含我们最常用的Audio Toolbox与Audio Unit ...
最新文章
- Java并发编程之CountDownLatch、CyclicBarrier和Semaphore
- 有监督回归:鲁棒学习
- Error creating bean with name ‘cn.cyjt.shoot.service.UserServiceTests‘: Unsatisfied dependency expre
- UE4学习-设置地图,创建材质
- 后端技术:盘点HashMap 的7种遍历方式
- React组件: 提取图片颜色
- Kotlin 函数(普通函数)
- 计算机体系、语言的基础认识
- 当ligerui的grid出现固定列与非固定列不在同一水平线上时,改怎么处理
- 机器学习实战(十一)FP-growth算法
- CAD迷你看图v4.4.3 for Mac 小巧而全面的CAD看图工具
- excel打不开服务器上的文件夹,Excel打不开的原因及解决方法汇总
- vm虚拟机开启蓝屏问题
- [软件工程] 总体设计(概要设计或初步设计)
- php实现用百度ip地址查询接口查询ip归属地
- 应用服务器和数据库服务器有什么区别
- AutoCAD 描图方法小结
- JAVA计算机毕业设计阿尔兹海默病Mybatis+系统+数据库+调试部署
- 供货肯德基与必胜客,千味央厨上市全靠“抱大腿”?
- OKCoin期货现货API[Python3版]
热门文章
- 四级——星火英语作文模板
- rest-assured的xmlPath使用方法总结
- C++ 一元二次方程求根,直输方程可含分数(附源码、注释)
- 一台虚拟机上的文件怎么复制给另一台虚拟机
- Windows计算机与便携式显示器
- 面向对象 -- 基础(A版)
- Windows游戏开发学习一 —— WinMain函数
- Mysql You can‘t specify target table ‘表名‘ for update in FROM clause错误解决方案
- 基于Python的ADF单位根检验方法——时间序列平稳检验
- 【视频理解】论文串讲