Android中PCM音频样本的上采样

Android中PCM音频样本的上采样,android,audio,sampling,Android,Audio,Sampling,我正在android应用程序中读取蓝牙耳机的音频样本。蓝牙SCO以8KHz的采样频率工作,用于音频输入。但我需要蓝牙耳机的16KHz音频样本,所以我需要使用上采样 我在这里和其他网站上搜索了安卓系统中的上采样,但没有用。如果有人知道用于上采样的预定义Java库,请回答我的问题。最简单的方法是复制每个值并将频率加倍。这不会改善音质,但也不会使音质变差。这与将图像放大到更高分辨率的方式类似。如果没有过滤,它看起来不会更糟,但也不会更好,只要您使用非分数量进行升级 你能分辨出这两幅图像的区别吗 这个

我正在android应用程序中读取蓝牙耳机的音频样本。蓝牙SCO以8KHz的采样频率工作,用于音频输入。但我需要蓝牙耳机的16KHz音频样本,所以我需要使用上采样


我在这里和其他网站上搜索了安卓系统中的上采样,但没有用。如果有人知道用于上采样的预定义Java库,请回答我的问题。

最简单的方法是复制每个值并将频率加倍。这不会改善音质,但也不会使音质变差。这与将图像放大到更高分辨率的方式类似。如果没有过滤,它看起来不会更糟,但也不会更好,只要您使用非分数量进行升级

你能分辨出这两幅图像的区别吗

这个呢

第二幅图像实际上是分辨率的两倍,但看起来一样

只要使用非小数缩放声音(或图像),就不会引入缩放瑕疵

但是,如果要平滑向上采样的声音,请提供各种提示:


最简单的方法是复制每个值并将频率加倍。这不会改善音质,但也不会使音质变差。这与将图像放大到更高分辨率的方式类似。如果没有过滤,它看起来不会更糟,但也不会更好,只要您使用非分数量进行升级

你能分辨出这两幅图像的区别吗

这个呢

第二幅图像实际上是分辨率的两倍,但看起来一样

只要使用非小数缩放声音(或图像),就不会引入缩放瑕疵

但是,如果要平滑向上采样的声音,请提供各种提示:


如果您请求16 kHz,则应自动进行上采样,除非您正在测试的设备具有某种奇怪的音频HAL/audioflinger实现

如果您请求输入设备不支持的采样率,将会(应该)发生的情况是音频HAL将向audioflinger返回错误代码,并建议使用采样率。audioflinger将尝试以支持的采样率打开输入流,并在内部进行重新采样,以便应用程序以其请求的速率获取音频数据


只要请求的采样率不大于支持的采样率的两倍,这就可以工作,因此8->16 kHz上采样应该可以工作。上采样的质量是否足够好,你必须自己判断。

如果你要求16 kHz,上采样应该自动进行,除非你正在测试的设备有一些奇怪的音频HAL/audioflinger实现

如果您请求输入设备不支持的采样率,将会(应该)发生的情况是音频HAL将向audioflinger返回错误代码,并建议使用采样率。audioflinger将尝试以支持的采样率打开输入流,并在内部进行重新采样,以便应用程序以其请求的速率获取音频数据


只要请求的采样率不大于支持的采样率的两倍,这就可以工作,因此8->16 kHz上采样应该可以工作。您必须自己判断此上采样的质量是否足够好。

我需要最好的上采样,因为我正在使用此数据进行语音识别。如果我照你说的做,识别能力就会很差。@YugandharBabu,它会和原来的8kHz声音一样好或坏。它肯定不会“像原来的一样好或坏”,复制样本会引入假像。但是,上采样不会添加任何新信息,为了虚拟现实,如果您可以使用原始数据,则最好不要使用。加倍采样不会在@BjornRoche引入任何瑕疵。Is完全类似于将图像从320x240放大到640x480不会使图像看起来更好或更差。它看起来完全一样。我需要最好的上采样,因为我正在使用这些数据进行语音识别。如果我照你说的做,识别能力就会很差。@YugandharBabu,它会和原来的8kHz声音一样好或坏。它肯定不会“像原来的一样好或坏”,复制样本会引入假像。但是,上采样不会添加任何新信息,为了虚拟现实,如果您可以使用原始数据,则最好不要使用。加倍采样不会在@BjornRoche引入任何瑕疵。Is完全类似于将图像从320x240放大到640x480不会使图像看起来更好或更差。它看起来完全一样。相关:IDK如果你可以在android中使用这个API,但是javasound允许你这样做,下面是一些很好的示例:相关:IDK如果你可以在android中使用这个API,但是javasound允许你这样做,这里有一些很好的示例:我以8KHz的速率获取样本,即使我在创建录音实例时使用16K或更高的采样频率。我以8KHz的速率获取样本,即使我在创建录音实例时使用16K或更高的采样频率。