数字音频编辑的基本流程_数字音频编辑

数字音频编辑的基本流程_数字音频编辑为什么会有SampleRate和BitdepthSampleRate就是采样率Bitdepth就是位深度不管在什么应用场合,只要是关于数字音频的这两个参数必然跑不了,网上的问答多为如何设置这两个参数,在何种使用场景使用哪种采样率和位深度最好,但对做数据处理的必须知道这两个值怎么设定,才能在特殊场合提高处理速度牺牲精度或是提高精度牺牲处理速度。SampleRate简单来说,Sample…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

为什么会有SampleRate和Bit depth

SampleRate就是采样率

Bit depth就是位深度

不管在什么应用场合,只要是关于数字音频的这两个参数必然跑不了,网上的问答多为如何设置这两个参数,在何种使用场景使用哪种采样率和位深度最好,但对做数据处理的必须知道这两个值怎么设定,才能在特殊场合提高处理速度牺牲精度或是提高精度牺牲处理速度。

SampleRate

简单来说,SampleRate就是模拟信号转为数字信号时的采样频率,根据奈奎斯特采样定理可知,通常采样频率需要为采集信号最高频率的两倍,否则会发生混叠,不能从数字信号完整的恢复为原始的模拟信号。下图为根据不同采样率采集的数字信号恢复的模拟信号,可以较为直观的做出对比。
不同采样率下恢复的模拟信号
常用标准SampleRate有44.1KHz,48KHz,96KHz,176.4KHZ,192KHz。通常来讲,44.1KHz为音频最低处理采样率,因为人耳的可听频率范围为20-22Khz[1]

在这里插入图片描述

为了满足人们的听力,44.1KHz的数字音频可以恢复为带宽为22KHz的模拟信号(如果你和我一样仅仅处理较低频率的音频信号,44.1KHz的采样率完全足够)。

什么情况下需要使用48KHz或更高的采样率

更高的采样率意味着可以恢复更高带宽的模拟信号,在人们追求的HiFI的路上越走越远,追求音质的无损,也就是说很多即使听不见的声音,根据HiFI的理念,也不能舍弃。

在这里插入图片描述
在处理信号的时候,较高的采样率可以有更多的带宽空间来进行滤波操作或者降调操作,从而可以会损失到可听频带(如果不是录制乐器泛音或者白噪声等,通常来说不会有太大影响)。
在48KHz进行采样率转换时,会提供极大的方便,譬如将96KHz的母带转为48KHz的发行唱片,对转换系统的要求就没有那么高。如果将96KHz的母带转为44.1KHz的发行唱片,为非整数关系,需要非常高的公倍数转换因数,这是为何目前48KHz的唱片非常流行。44.1KHz由于是旧的CD标准,所以也非常的流行。
在做算法处理的时候,首选44.1KHz或48KHz就足以了,如果需要做调音或是环绕效果的,建议96KHz。为什么不选太大的采样频率,越高的采样率包含的信息越多,文件也就越大,每一帧中的数据也就越多,如果是做算法或效果,讲究实时性,处理的速度越快实时性越好。母带操作或不是实时处理的时候,可以无数次回放的处理可以提高采样率。

Bit depth

这个位深度与计算机中的位是一个东西,通常有16,24,32位。
在这里插入图片描述
最高位深度通常受限于硬件,模拟信号是连续波,具有无限数量的可能振幅值,但要在数字处理中,我们需要将幅度变化为一个数字量,更高的位深度使得系统可以表达更细致的幅度变化。假设输入信号为1(V),那么16位可以测量1/65536=1.52587890625X10e-5(V)的变化,当信号变化小于这个值时,就无法测量。

位深选择

可以根据测量信号的动态范围大小,以及所需要的信号最小测量变化值来确定位深选择。
在量化过程中,表示幅度的数据最后一位会被舍入0或1,产生量化噪声,通常称为本底噪声(底噪:不放音乐时的沙沙声),更高的位深度会降低底噪幅值。
但更高的位深度会减慢ADC转换的速率,通常提升位深度的同时,需要增大数据缓冲区,否则会产生转换不及时,下一个数据以及到来(断音的问题)。同时也会减弱系统的实时性,如果非必要,16Bit处理已经足够,(对我做主动降噪的来说,12bit是一个比较合适的位深度,因为需要迭代,一帧中每个sample数组只有12个数据处理速度更快,实时性更好)。

结论

根据不同的需求确定,自己需要的采样率和位深度才是正确的方式,不能一味的提高速率或位深度。未来发展的趋势是向着更高的位深度和更高的采样率发展,随着数字信号处理器(DSP)和FPGA的速度越来越快,由于采样和计算产生的延时将极大的改善从而提高处理的精度。
就本人处理噪声来讲,使用44.1KHz和12bit位深度是做Matlab Realtime比较合适的一个参数,可能后面移植到VST或者是FPGA上时可以提高到48Khz和16位深度。

Copyright © 2020 by RichardYang. All rights reserved.

仅供参考,严禁转载,感谢。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/181100.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 测试用例等价类和边界值_等价类划分和边界值的区别与联系

    测试用例等价类和边界值_等价类划分和边界值的区别与联系一、测试用例/案例(testcase/testinstance)  1、定义:是在测试执行之前,由测试人员编写的指导测试过程的重要文档,主要包括:用例编号、测试目的、测试步骤(用例描述),预期结果  2、介绍编写测试用例的7种方法:    1)等价类划分法()    2)边界值法()    3)因果图法    4)判定表法    5)正交排列法    6)测试大纲法    7)场景法(*****)  至少要掌握每种方法的适用场合(用在哪)和使用步骤(怎么用)  编写测试用例可以参考

    2022年10月10日
    0
  • Tomcat7基于redis的session共享「建议收藏」

    Tomcat7基于redis的session共享

    2022年3月13日
    31
  • 蓝鲸自动化运维平台

    蓝鲸自动化运维平台蓝鲸自动化运维平台1.蓝鲸简介官网:https://bk.tencent.com/docs/腾讯蓝鲸智云,简称蓝鲸,是腾讯互动娱乐事业群(InteractiveEntertainmentGroup,简称IEG)自研自用的一套用于构建企业研发运营一体化体系的PaaS开发框架,提供了aPaaS(DevOps流水线、运行环境托管、前后台框架)和iPaaS(持续集成、CMDB、作业平台、容器管理、数据平台、AI等原子平台)等模块,帮助企业技术人员快速构建基础运营PaaS。2.蓝鲸部署2

    2022年5月17日
    43
  • linux iostat 命令详解

    linux iostat 命令详解iostat主要用于监控系统设备的IO负载情况,iostat提供了丰富的参数给我们查询各种维度的io数据,iostat首次运行时显示自系统启动开始的各项统计信息,之后运行iostat将显示自上次运行该命令以后的统计信息。用户可以通过指定统计的次数和时间来获得所需的统计信息。一、命令相关参数命令使用:iostat[-c][-d][-N][-n][-h][-k|-m][-t][-V][-x][-y][-z][-j{ID|L

    2022年10月6日
    0
  • 真实世界里的钢铁侠-特斯拉汽车创始人埃隆·马斯克(Elon Musk)

    真实世界里的钢铁侠-特斯拉汽车创始人埃隆·马斯克(Elon Musk)

    2022年1月21日
    634
  • nslookup命令的使用方法_怎么退出nslookup命令

    nslookup命令的使用方法_怎么退出nslookup命令nslookup是一款查询DNS(Internetdomainnameserver)的程序。用来网络管理工具,帮助诊断和解决DNS相关的问题。除此之外,也有其他DNS工具,如dig命令和host命令。nslookup会将DNS查询发送到指定的DNS服务器、接收DNS回复,并显示结果1、查找A记录2、查找MX记录3、查找NS记录4、查找CNAME记录5、查找SOA记录6、查找RDNSorPRT记录直接输入IP地…

    2022年10月19日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号