非常教程

Python参考手册

多媒体 | Multimedia

aifc

源代码: Lib / aifc.py

该模块提供对读写AIFF和AIFF-C文件的支持。AIFF是音频交换文件格式,一种用于将数字音频样本存储在文件中的格式。AIFF-C是格式的更新版本,包括压缩音频数据的能力。

注意

某些操作只能在IRIX下运行; ImportError尝试导入cl仅在IRIX上可用的模块时会引发这些问题。

音频文件有许多描述音频数据的参数。采样率或帧率是声音每秒采样的次数。通道数表明音频是单声道,立体声还是四路。每个帧每个通道包含一个采样。样本大小是每个样本的大小(以字节为单位)。因此,一个帧由nchannels * 的采样大小字节,和音频的第二的价值包括nchannels * 的采样大小 * 帧率字节。

例如,CD质量音频的采样大小为两个字节(16位),使用两个通道(立体声),帧率为44,100帧/秒。这给出了一个4字节(2 * 2)的帧大小,而第二个值占用了2 * 2 * 44100字节(176,400字节)。

模块aifc定义了以下功能:

aifc.open(file[, mode])

打开AIFF或AIFF-C文件并使用下面描述的方法返回对象实例。参数文件是命名文件或文件对象的字符串。模式必须是'r'或者'rb'当文件必须打开以供阅读时,'w'或者'wb'当文件必须打开以供写入时。如果省略,file.mode则在使用时使用,否则'rb'使用。当用于书写,文件对象应该是可寻址的,除非你事先知道你要多少个样品中总编写和使用writeframesraw()setnframes()

open()打开文件读取时返回的对象具有以下方法:

aifc.getnchannels()

返回音频通道的数量(1个用于单声道,2个用于立体声)。

aifc.getsampwidth()

返回单个样本的字节大小。

aifc.getframerate()

返回采样率(每秒音频帧数)。

aifc.getnframes()

返回文件中的音频帧数。

aifc.getcomptype()

返回一个描述音频文件中使用的压缩类型的四字符字符串。对于AIFF文件,返回的值是'NONE'

aifc.getcompname()

返回音频文件中使用的压缩类型的可读描述。对于AIFF文件,返回的值是'not compressed'

aifc.getparams()

以上述顺序返回包含上述所有值的元组。

aifc.getmarkers()

返回音频文件中的标记列表。标记由三个元素的元组组成。第一个是标记ID(一个整数),第二个是从数据的起始位置开始的标记位置(一个整数),第三个是标记的名称(一个字符串)。

aifc.getmark(id)

getmarkers()按照给定id中的标记返回元组。

aifc.readframes(nframes)

从音频文件中读取并返回下一个nframes帧。返回的数据是一个字符串,包含每个帧的所有通道的未压缩样本。

aifc.rewind()

倒回读指针。下一步readframes()将从头开始。

aifc.setpos(pos)

寻找到指定的帧号。

aifc.tell()

返回当前帧号。

aifc.close()

关闭AIFF文件。调用此方法后,该对象不能再使用。

open()打开文件以便写入时返回的对象具有上述所有方法,除了readframes()setpos()。另外还有以下方法。这些get*()方法只能在相应的set*()方法被调用后调用。在第一个writeframes()或之前writeframesraw(),必须填写除帧数之外的所有参数。

aifc.aiff()

创建一个AIFF文件。默认情况下是创建一个AIFF-C文件,除非文件的名称结束,'.aiff'在这种情况下,默认是AIFF文件。

aifc.aifc()

创建一个AIFF-C文件。默认情况下是创建一个AIFF-C文件,除非文件的名称结束,'.aiff'在这种情况下,默认是AIFF文件。

aifc.setnchannels(nchannels)

指定音频文件中的通道数量。

aifc.setsampwidth(width)

指定音频采样的大小(以字节为单位)。

aifc.setframerate(rate)

以每秒帧数指定采样频率。

aifc.setnframes(nframes)

指定要写入音频文件的帧数。如果此参数未设置或未正确设置,则该文件需要支持查找。

aifc.setcomptype(type, name)

指定压缩类型。如果未指定,音频数据将不会被压缩。在AIFF文件中,压缩是不可能的。name参数应该是压缩类型的可读描述,类型参数应该是四个字符的字符串。目前支持以下压缩类型:NONE,ULAW,ALAW,G722。

aifc.setparams(nchannels, sampwidth, framerate, comptype, compname)

一次设置所有上述参数。参数是一个由各种参数组成的元组。这意味着可以使用getparams()调用的结果作为参数setparams()

aifc.setmark(id, pos, name)

用给定的id(大于0)添加一个标记,并在给定的位置添加给定的名字。这个方法可以在之前的任何时候调用close()

aifc.tell()

返回输出文件中的当前写入位置。与...结合使用setmark()

aifc.writeframes(data)

将数据写入输出文件。此方法只能在音频文件参数设置完成后调用。

aifc.writeframesraw(data)

就像writeframes(),除了音频文件的头部没有更新。

aifc.close()

关闭AIFF文件。该文件的标题被更新以反映音频数据的实际大小。调用此方法后,该对象不能再使用。

Python

Python 是一种面向对象的解释型计算机程序设计语言,由荷兰人 Guido van Rossum 于1989年发明,第一个公开发行版发行于1991年。 Python 是纯粹的自由软件, 源代码和解释器 CPython 遵循 GPL 协议。Python 语法简洁清晰,特色之一是强制用空白符( white space )作为语句缩进。

主页 https://www.python.org/
源码 https://github.com/python/cpython
版本 2.7
发布版本 2.7.13

Python目录

1.内置常量 | Built-in Constants
2.内置例外 | Built-in Exceptions
3.内置函数 | Built-in Functions
4.内置类型 | Built-in Types
5.编译器 | Compiler
6.加密 | Cryptography
7.数据压缩 | Data Compression
8.数据持久性 | Data Persistence
9.数据类型 | Data Types
10.调试和分析 | Debugging & Profiling
11.开发工具 | Development Tools
12.文件和目录访问 | File & Directory Access
13.文件格式 | File Formats
14.构架 | Frameworks
15.输入 | Importing
16.输入/输出 | Input/ouput
17.国际化 | Internationalization
18.网络 | Internet
19.网络数据 | Internet Data
20.翻译 | Interpreters
21.语言 | Language
22.记录 | Logging
23.Mac OS
24.MS Windows
25.多媒体 | Multimedia
26.联网 | Networking
27.数字与数学 | Numeric & Mathematical
28.操作系统 | Operating System
29.可选操作系统 | Optional Operating System
30.限制执行 | Restricted Execution
31.运行 | Runtime
32.SGI IRIX
33.软件包装与分销 | Software Packaging & Distribution
34.字符串 | String
35.结构化标记 | Structured Markup
36.Tk
37.Unix
38.Python 简介
39.Python pass 语句
40.Python 循环嵌套
41.Python 运算符
42.Python log10() 函数
43.Python log() 函数
44.Python floor() 函数
45.Python fabs() 函数
46.Python exp() 函数
47.Python cmp() 函数
48.Python ceil() 函数
49.Python abs() 函数
50.Python Number(数字)
51.Python pow() 函数
52.Python modf() 函数
53.Python min() 函数
54.Python max() 函数
55.Python asin() 函数
56.Python acos() 函数
57.Python uniform() 函数
58.Python shuffle() 函数
59.Python seed() 函数
60.Python random() 函数
61.Python randrange() 函数
62.Python choice() 函数
63.Python sqrt() 函数
64.Python round() 函数
65.Python radians() 函数
66.Python degrees() 函数
67.Python tan() 函数
68.Python sin() 函数
69.Python hypot() 函数
70.Python cos() 函数
71.Python atan2() 函数
72.Python atan() 函数
73.Python 元组
74.Python 列表(List)
75.Python 字符串
76.Python 字典(Dictionary)
77.Python 日期和时间
78.Python 函数
79.Python 模块
80.Python capitalize()方法
81.Python center()方法
82.Python count() 方法
83.Python expandtabs()方法
84.Python endswith()方法
85.Python encode()方法
86.Python decode()方法
87.Python find()方法
88.Python index()方法
89.Python 异常处理
90.Python isspace()方法
91.Python isnumeric()方法
92.Python islower()方法
93.Python isdigit()方法
94.Python isalpha()方法
95.Python isalnum()方法
96.Python isupper()方法
97.Python istitle()方法
98.Python min()方法
99.Python max()方法
100.Python maketrans()方法