WAV是不是无损音乐?他的码率一般在多少?

WAV是不是无损音乐?他的码率一般在多少?,第1张

WAV格式是无损音乐格式,常用的码率为11025Hz、22050Hz、44100Hz和48000Hz四种。

WAV文件采用的是RIFF格式结构。至少是由3个块构成,分别是RIFF、fmt和Data。所有基于压缩编码的WAV文件必须含有fact块。此外所有其它块都是可选的。块mt,Data及fact均为RIFF块的子块。WAV文件的文件格式类型标识符为“WAVE”;

WAV格式对音频流的编码没有硬性规定,支持非压缩的PCM(PulsCodeModulation)脉冲编码调制格式,PCM编码是直接存储声波采样被量化后所产生的非压缩数据

故被视为单纯的无损耗编码格式,其优点是可获得高质量的音频信号。基于PCM编码的WAV格式是最基本的WAV格式,被声卡直接支持,能直接存储采样的声音数据。

扩展资料:

适用范围

一般来说,采样的样本尺度(信息量)越大,采样频率越高,音质就越好,但波形音频的开销就越大。由于一般讲话以8位11.025KHz采样就能较好地还原,因此,波形音频一般适用于以下几种场合:

1、播放的声音是讲话语音,音乐效果对声音的质量要求不太高的场合。

2、需要从CD-ROM光盘驱动器同时加载声音和其他数据,声音数据的传输不能独占处理时间的场合。

3、需要在PC硬盘中存储的声音数据在1分以下以及可用存储空间足够的时候。

参考资料来源:百度百科—WAV

无损音乐格式,缺点是体积太大,一般只用于存储简短的声音片段。

WAV是最常见的声音文件格式之一,是微软公司专门为Windows开发的一种标准数字音频文件,该文件能记录各种单声道或立体声的声音信息,并能保证声音不失真。但WAV文件有一个致命的缺点,就是它所占用的磁盘空间太大(每分钟的音乐大约需要12兆磁盘空间)。

存储过程:

声源发出的声波通过话筒被转换成连续变化的电信号,经过放大、抗混叠滤波后,按固定的频率进行采样,每个样本是在一个采样周期内检测到的电信号幅度值;接下来将其由模拟电信号量化为由二进制数表示的积分值;最后编码并存储为音频流数据。有的应用为了节省存储空间,存储前,还要对采样数据先进行压缩。

您好,程序如下:

1.读取wav文件

# -*- coding: utf-8 -*-

import wave

import pylab as pl

import numpy as np

# 打开WAV文档

f = wave.open(r"c:\WINDOWS\Media\ding.wav", "rb")

# 读取格式信息

# (nchannels, sampwidth, framerate, nframes, comptype, compname)

params = f.getparams()

nchannels, sampwidth, framerate, nframes = params[:4]

# 读取波形数据

str_data = f.readframes(nframes)

f.close()

#将波形数据转换为数组

wave_data = np.fromstring(str_data, dtype=np.short)

wave_data.shape = -1, 2

wave_data = wave_data.T

time = np.arange(0, nframes) * (1.0 / framerate)

# 绘制波形

pl.subplot(211)

pl.plot(time, wave_data[0])

pl.subplot(212)

pl.plot(time, wave_data[1], c="g")

pl.xlabel("time (seconds)")

pl.show()

2.观察信号频谱

# -*- coding: utf-8 -*-

import numpy as np

import pylab as pl

sampling_rate = 8000

fft_size = 512

t = np.arange(0, 1.0, 1.0/sampling_rate)

x = np.sin(2*np.pi*156.25*t) + 2*np.sin(2*np.pi*234.375*t)

xs = x[:fft_size]

xf = np.fft.rfft(xs)/fft_size

freqs = np.linspace(0, sampling_rate/2, fft_size/2+1)

xfp = 20*np.log10(np.clip(np.abs(xf), 1e-20, 1e100))

pl.figure(figsize=(8,4))

pl.subplot(211)

pl.plot(t[:fft_size], xs)

pl.xlabel(u"时间(秒)")

pl.title(u"156.25Hz和234.375Hz的波形和频谱")

pl.subplot(212)

pl.plot(freqs, xfp)

pl.xlabel(u"频率(Hz)")

pl.subplots_adjust(hspace=0.4)

pl.show()


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11460024.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存