python 音频处理_基于Python的音频数据处理研究与应用

收稿日期:

!

"

"

#

$

"

%

$

"

&

作者简介:

何月顺

(

(

&

—)

男,

湖南道州人,

博士研究生,

主要研究

方向为数据挖掘、

系统集成等。

基于

!

"

#

$

%

&

的音频数据处理研究与应用

何月顺

!

丁秋林

(

)

南京航空航天大学,

江苏

南京

!

"

"

*

!

)

东华理工学院,

江西

抚州

#

+

+

"

"

"

)

要:

介绍了基于

,

-

.

/

0

1

的音频数据处理函数;

实现了自动测试声音文件的格式、

声音文件的播放及声音文件在不同的

存储格式之间的转换;

对声音进行分离与合成;

提取声音的特征值以便进行分析与鉴别;

改变原始声音的采样速率、

采样编

码、

采样宽度等;

在实践中取得了良好的应用效果。

关键词:

音频文件;

存储格式;

测试;

转换

中图分类号:

2

,

!

&

+

文献标识码:

3

文章编号:

"

"

%

$

#

&

%

(

!

"

"

#

)

$

"

"

%

$

"

#

!

"

#

"

$

%

&

$

(

)*

+

+

,

-

&

$

.

-

/

(

/

(*

0

)

-

/1

$

.

$2

$

(

$

3

-

(

3

4

$

#

"

)

/

(5

6

.

/

(

4

56

7

8

9

:

/

7

1

!

;

4

<

=>

?

@

1

A

B

C

D

EF

?

7

9

G

?

1

(

)

D

@

1

H

?

1

A

=

1

?

I

8

J

:

?

.

-

0

K

3

8

J

0

1

@

7

.

?

L

:

@

1

M3

:

.

J

0

1

@

7

.

?

L

:

D

@

1

H

?

1

A

!

"

"

*

N

/

?

1

@

!

)

B

0

1

A

/

7

@

C

1

:

.

?

.

7

.

8

0

K

2

8

L

/

1

0

G

0

A

-

O

7

P

/

0

7

#

+

+

"

"

"

N

/

?

1

@

)

*

7

#

.

%

$

&

.

O

7

1

L

.

?

0

1

:Q

8

J

8

?

1

.

J

0

M

7

L

8

M

@

R

0

7

.

@

7

M

?

0

M

@

.

@S

@

1

@

A

?

1

A

0

K

,

-

.

/

0

1

)

C

S

T

G

8

S

8

1

.

8

M

.

0

.

8

:

.

.

-

T

8

0

K

@

7

M

?

0

K

?

G

8

:

@

1

M

T

G

@

-

@

7

M

?

0

K

?

G

8

:

@

7

9

.

0

S

@

.

?

L

)

3

7

M

?

0

K

?

G

8

:Q

8

J

8

L

0

1

I

8

J

.

8

M

R

8

.

Q

8

8

1

.

/

8

M

?

K

K

8

J

8

1

.

.

-

T

8

:

)

U

0

7

1

MQ

8

J

8

:

8

T

@

J

@

.

8

M

@

1

M

L

0

S

T

0

7

1

M

8

M

)

2

/

8

L

/

@

J

@

L

.

8

J

?

:

.

?

L

:

0

K

:

0

7

1

MQ

8

J

8

T

?

L

V

8

M

$

7

T

:

0

.

/

@

.

L

0

7

G

M

@

1

@

G

-

P

8

@

1

M

M

?

:

.

?

1

A

7

?

:

/

.

/

8

S

)

2

/

8

:

@

S

T

G

?

1

A

:

T

8

8

M

@

1

M

:

@

S

T

G

?

1

A

L

0

M

8

@

1

M

:

@

S

T

G

?

1

A

Q

?

M

.

/Q

8

J

8

@

G

.

8

J

8

M

)

5

K

K

8

L

.

:

Q

8

J

8

@

L

/

?

8

I

8

M

?

1

T

J

@

L

.

?

L

8

)

8

"

6

9

/

%

)

#

@

7

M

?

0

K

?

G

8

:

.

0

J

@

A

8

.

-

T

8

.

8

:

.

L

0

1

I

8

J

.

:

为了存储数字化的声音,

麦克风或者其它记录器每秒

多次采样模拟声音波形,

每个样本都采用数字形式,

而这

个数字测量了声音的幅度。扬声器可以将数字化声音转

换为声波。

用来数字化和存储声音的方法多种多样,

它们在以下

几个方面存在差异:

(

)

采样速率:

每秒测量声波振幅的次数。常见的采

样速率是

+

+

"

"

4

P

(每秒的样本数)

也是在音频压缩盘

上使用的速率。

(

!

)

采样编码:

最简单、

常见的就是线性编码,

每个样

本是振幅的线性测量。其他的编码类型包括

7

$

>

3

W

(

#

)

采样宽度:

样本可以是

X

位、

*

位或者

#

!

位整

数。

(

+

)

通道:

声音可以用一个、

二个或更多的通道来记

录。把一个或多个音频流存储在一个文件中,

来自每个通

道的相应样本通常存储在一帧中。

所有声音格式都是声音质量和文件大小的折衷,

如,

一秒钟的声音如果以采样速率为

!

!"

%

"

4

P

X

位单

声道来存储,

所使用的全部空间是

!

!

"

%

"

字节,

如果以采

样速率

+

+

"

"

4

P

*

位立体声存储相同的声音则需要

+

+

"

"

帧,

每帧需要

+

个字节,

总计需要

&

*+

"

"

字节,

间增加了

X

倍。因此对音频数据进行适当的处理,

可以获

得特定的需要。

;

<

-

(

)

/

9

#

上播放声音

,

-

.

/

0

1

中模块

Q

?

1

:

0

7

1

M

W

?

1

M

0

Q

:

系统上播放

声音。函数

Y

8

8

T

(

K

J

8

Z

7

8

1

L

-

M

7

J

@

.

?

0

1

)

使用计算机内部的

扬声器以音调

K

J

8

Z

7

8

1

L

-

M

7

J

@

.

?

0

1

毫秒内播放声音

频率范围是

#

&

4

P

#

!

&

*

&

4

P

。如果

Y

8

8

T

不能播放声音,

则它将引发

[

7

1

.

?

S

8

5

J

J

0

J

。例如,

下面的代码播放类似金

属撞击的声音,

从中间开始,

每个音符持续半秒钟。

U

L

@

G

8

,

?

.

L

/

8

:

\

!

*

!

!

(

+

#

#

"

#

+

(

#

(

!

+

+

"

+

(

+

%

!

#

K

0

J

T

?

.

L

/

?

1

U

L

@

G

8

,

?

.

L

/

8

:

Q

?

1

:

0

7

1

M

)

Y

8

8

T

(

,

?

.

L

/

%

"

"

)

函数

,

G

@

-

U

0

7

1

M

(

:

0

7

1

M

K

G

@

A

:

)

通过使用可以使用的任

何声卡来播放

W

3

]

文件。参数

:

0

7

1

M

可以是文件名、

名、

音频文件或者

D

0

1

8

参数

K

G

@

A

:

等于一个或多个常量,

使用位

<

[

来组合并通过指定一个标记指明声音来自什

么地方。

#

!

"

"

#

^

?

L

J

0

L

0

S

T

7

.

8

J

B

8

I

8

G

0

T

S

8

1

.

]

0

G

)

#

D

0

)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值