Sample Rate Conversion

Sample Rate ConversionSampleRateConversionIntroductionSeetheWikipediaarticleResampling(audio)foragenericdefinitionofsamplerateconversion,alsoknownas"resampling."Theremainderofthisarticledescr…

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

Jetbrains全系列IDE稳定放心使用

Sample Rate Conversion

Introduction


See the Wikipedia article Resampling (audio) for a generic definition of sample rate conversion, also known as “resampling.” The remainder of this article describes resampling within Android. See Sample Rate Conversion for related terminology.

Sample rate conversion is the process of changing a stream of discrete samples at one sample rate to another stream at another sample rate. A sample rate converter, or resampler, is a module that implements sample rate conversion. With respect to the resampler, the original stream is called the source signal, and the resampled stream is the sink signal.

Resamplers are used in several places in Android. For example, an MP3 file may be encoded at 44.1 kHz sample rate and needs to be played back on an Android device supporting 48 kHz audio internally. In that case, a resampler would be used to upsample the MP3 output audio from 44.1 kHz source sample rate to a 48 kHz sink sample rate used within the Android device.

The characteristics of a resampler can be expressed using metrics, including:

  • degree of preservation of the overall amplitude of the signal
  • degree of preservation of the frequency bandwidth of the signal, subject to limitations of the sink sample rate
  • overall latency through the resampler
  • consistent phase and group delay with respect to frequency
  • computational complexity, expressed in CPU cycles or power draw
  • permitted ratios of source and sink sample rates
  • ability to dynamically change sample rate ratios
  • which digital audio sample formats are supported

The ideal resampler would exactly preserve the source signal’s amplitude and frequency bandwidth (subject to limitations of the sink sample rate), have minimal and consistent delay, have minimal computational complexity, permit arbitrary and dynamic conversion ratios, and support all common digital audio sample formats. In practice, ideal resamplers do not exist, and actual resamplers are a compromise among these characteristics. For example, the goals of ideal quality conflict with short delay and low complexity.

Android includes a variety of audio resamplers, so that appropriate compromises can be made depending on the application use case and load. Section Resampler implementations below lists the available resamplers, summarizes their characteristics, and identifies where they should typically be used.

Resampler implementations


Available resampler implementations change frequently, and may be customized by OEMs. As of Android 4.4, the default resamplers in descending order of signal distortion, and ascending order of computational complexity include:

  • linear
  • cubic
  • sinc with original coefficients
  • sinc with revised coefficients

In general, the sinc resamplers are more appropriate for higher-quality music playback, and the other resamplers should be reserved for cases where quality is less important (an example might be “key clicks” or similar).

The specific resampler implementation selected depends on the use case, load, and the value of system property af.resampler.quality. For details, consult the audio resampler source code in AudioFlinger.

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

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/181120.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 基于JavaWeb网上商城(以卖书为主)

    基于JavaWeb网上商城(以卖书为主)本文章是JavaWeb课程的课程设计1.项目概况1.1课题背景、目的及意义1.1.1课题背景随着互联网的普及和电子商务的兴起,网上图书销售是互联网电子商务在图书销售行业中的必然结果,这种新型的图书销售形式越来越受人们的欢迎,正在以不可阻挡的气势替代着传统的图书销售模式。与其传统销售模式相比拥有许多优势,一是降低了销售成本,二是利用互联网作为交易平台,是的交易活动不受时间和空间的限制,…

  • Git查看当前分支_git查看远程分支上的文件

    Git查看当前分支_git查看远程分支上的文件gitbranch-vv

  • OSTaskCreate创建失败原因之一

    OSTaskCreate创建失败原因之一在μcos中调用这个任务创建函数发现失败,debug进去,发现在err=OS_TCBInit(prio,psp,(OS_STK*)0,0u,0u,(void*)0,0u);后err=OS_ERR_TASK_NO_MORE_TCB这是因为在创建任务之初没有调用OSInit();…

  • 内网渗透神器_内网渗透什么意思

    内网渗透神器_内网渗透什么意思内网渗透-常用工具免杀Mimikatz免杀Mimikatz其实并不只有抓取口令这个功能,它还能够创建票证、票证传递、hash传递、甚至伪造域管理凭证令牌等诸多功能。由于mimikatz的使用说明网上资料很多,这里就不多加介绍了,随着这两年hw行动越来越多,企事业单位也都开始注重内网安全,有预算的会上全套的终端安全、企业版杀软或者EDR,就算没有预算的也会装个360全家桶或者主机卫士之类的,这也导致很多时候你的mimikatz可能都没法拷贝过去或者没有加载执行,拿了台服务器却横向移不动就尴尬了。因为这款工

  • swagger常用注解[通俗易懂]

    一、swagger常用注解1、与模型相关的注解两个注解:@ApiModel:用在模型类上,对模型类做注释;@ApiModelProperty:用在属性上,对属性做注释2、与接口相关的注解六个注解:@Api:用在controller上,对controller进行注释;@ApiOperation:用在API方法上,对该API做注释,说明API的作用;

  • svn语言安装包过程(如何打开svn)

    一,首先要查看自己电脑安装的svn版本二,找到和版本相同的svn中文安装包,官方地址  https://tortoisesvn.net/downloads.html官方是最新的语言包,楼主的1.10.2的语言包是通过如下链接下载的,不需要花费CSDN币,只需要扫码关注CSDN的一个公众号即可免费下载!!地址:https://download.csdn.net/download/mys…

发表回复

您的电子邮箱地址不会被公开。

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