大数据最全【Audio音频开发】音频基础知识及PCM技术详解_audio pcm(1)

3、 PCM介绍

PCM(Pulse Code Modulation),即脉冲编码调制技术。

由于我们人耳听到的声音均为模拟信号,那么我们如何将听到的信息存储起来呢?这就涉及到了PCM技术。

PCM技术就是把声音从模拟信号转化为数字信号的技术,即对声音进行采样、量化的过程,经过PCM处理后的数据,是最原始的音频数据,即未对音频数据进行任何的编码和压缩处理。

4、 PCM原理

脉冲编码调制就是把一个时间连续,取值连续的模拟信号变换成时间离散,取值离散的数字信号后在信道中传输。脉冲编码调制就是对模拟信号先抽样,再对样值幅度量化,编码的过程。

简化来说:PCM脉冲编码调制,以一个固定的频率对模拟信号进行采样,并将采样的信号按照一定精度进行量化,最终量化后的值被输出,记录到存储介质中。

如下图所示

  • 原始模拟音频数据如下

image-20220801191024951

  • 按照固定频率进行采样,得到

image-20220801191056431

  • 最后,对采样后的数据选择合适精度进行量化

image-20220801191140538

5、PCM相关概念

5.1 采样频率

采样频率单位时间内对模拟信号的采样次数

  • 16
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
傅里叶变换音频可视化是一种非常流行的音频可视化方式,它可以将音频信号的频域信息转换为可视化的图形,从而让我们更好地理解音频信号的特征。 在Web Audio中,我们可以使用AnalyserNode节点来获取音频信号的频域信息,并将其用于可视化。具体的实现方式如下: 1. 创建音频上下文对象: ``` var audioContext = new AudioContext(); ``` 2. 加载音频文件并创建音频源节点: ``` var audioSource = audioContext.createBufferSource(); var xhr = new XMLHttpRequest(); xhr.open('GET', 'your-audio-file-url', true); xhr.responseType = 'arraybuffer'; xhr.onload = function() { audioContext.decodeAudioData(xhr.response, function(buffer) { audioSource.buffer = buffer; audioSource.connect(audioContext.destination); audioSource.start(); }); }; xhr.send(); ``` 3. 创建AnalyserNode节点: ``` var analyser = audioContext.createAnalyser(); analyser.fftSize = 2048; // 设置FFT大小 analyser.smoothingTimeConstant = 0.8; // 设置平滑度 audioSource.connect(analyser); ``` 4. 获取频域数据并进行可视化: ``` var frequencyData = new Uint8Array(analyser.frequencyBinCount); function renderFrame() { requestAnimationFrame(renderFrame); analyser.getByteFrequencyData(frequencyData); // 在此处进行可视化操作,例如绘制柱状图或圆形图等 } renderFrame(); ``` 通过以上步骤,我们就可以使用Web Audio实现傅里叶变换音频可视化了。当然,具体的可视化效果还需要根据具体的需求进行调整和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值