音频格式之间的转换

news/2024/11/25 10:58:09/

1. 位深之间的转换 位深度也叫采样位深,音频的位深度决定动态范围,常见的位深格式有8bit、16bit、24bit、32bit,而其中16bit最常见,8bit、16bit、32bit之间的转换可以通过ffmpeg的swr_convert函数很方便地实现转换,可参考我另外一篇博客,暂不做描述,但是无法实现24bit之间的转换,所以实现24bit和其他位深之间的转换需要另外写代码。

bool convert_16_to24(vector<uint8_t>& src_frame, vector < uint8_t>& dst_frame)//1920byte 
{if (src_frame.size() % 2 != 0) {return false;}float K1 = 32768.0f;float K2 = 16777216.0f;int samplesCount = src_frame.size() / 2;for (size_t i = 0; i < samplesCount; i++){uint8_t a = src_frame[i * 2 + 0];uint8_t b = src_frame[i * 2 + 1];float src = a | b << 8;float dst = src / K1* K2;int dst_i = dst+0.5;uint8_t dst_1 = dst_i & 0xff;uint8_t dst_2 =(dst_i >> 8) & 0xff;uint8_t dst_3=(dst_i >> 16) & 0xff;dst_frame.emplace_back(dst_1);dst_frame.emplace_back(dst_2);dst_frame.emplace_back(dst_3);        }return true;
}

其他音频格式之间的转换可参考如下网址,有详细介绍:

 参考下面网址:

How to convert between (most) audio formats in .NET - CodeProject

(15条消息) 视音频数据处理入门:PCM音频采样数据处理_雷霄骅的博客-CSDN博客_音频数据​​​​​​

(15条消息) PCM1------PCM音频采样数据处理函数_qingkongyeyue的博客-CSDN博客_pcm函数

(15条消息) 24位PCM采样数据转成16位算法,已实现PCM转WAV在线工具源码支持24bits、16bits、8bits_高坚果兄弟的博客-CSDN博客


http://www.ppmy.cn/news/375926.html

相关文章

什么是音频转换?音频怎么转换?

什么是音频转换呢&#xff1f;我们的音频文件有很多格式&#xff0c;比如大家最熟悉的mp3格式&#xff0c;还有一些少见的wav、flac等格式&#xff0c;不同的应用有着兼容不同文件格式的差异&#xff0c;这就是要音频转换了&#xff0c;那么音频怎么转换呢&#xff1f;别急小编…

不同的音频格式如何相互转换?

常见的音频格式有mp3&#xff0c;wma&#xff0c;wav&#xff0c;flac&#xff0c;m4a等&#xff0c;为了在能够在更多的功放设备或者音乐播放器播放&#xff0c;就需要要转换音频格式&#xff0c;将音频转换成设备支持的格式&#xff0c;下面小编就分享一款电脑端最好用的音频…

音乐格式怎么转换,音频格式转换的方法

今天所说的是教大家如何转换音频、音乐格式。在生活中我们会听到一些比较好听的歌曲&#xff0c;我们经常会将这些好听的歌曲给下载下来。然而有的时候我们会惊奇地发现某些音乐的格式很奇怪&#xff0c;是一些自己没有见过的音频格式&#xff0c;而且许多的播放器不支持播放&a…

如何将音频文件转换为MP3格式?

音频文件有很多种格式&#xff0c;如 WAV、FLAC、AAC 等&#xff0c;其中 MP3 是最为常见的一种格式&#xff0c;因为它具有压缩比高、音质损失少、兼容性强等优点&#xff0c;适合在各种设备上播放。如果你想将一个音频文件转换为 MP3 格式&#xff0c;可以采用以下几种方法&a…

音频数据转换实践

1 采样率转换 1.1 重新采样 Android 中的采样转化率也称为“重新采样”是每个系统常用的操作和功能。需求和数据源总是有不匹配的地方&#xff0c;比方说录音设置了16K采样率&#xff0c;而HAL层上来的数据默认是32K的&#xff0c;那就需要降采样。 采样率转换是将具有某一采样…

音频怎么转换文件格式?教你轻松转换

在现代数字化的时代&#xff0c;我们经常需要更改音频格式来适应不同的需求。例如将某个音频文件转换为另一种格式&#xff0c;以便在不同的设备或应用程序中播放&#xff0c;或者更改不同的比特率或采样率&#xff0c;以适应特定的需求或设备。在这些情况下&#xff0c;更改音…

怎么转换音频格式?建议收藏这几个方法

MP3格式&#xff0c;是目前通用的主流音频格式&#xff0c;几乎能够在所有音频设备上使用和播放。所以当我们播放音频时&#xff0c;如果设备提示说该音频格式不支持播放&#xff0c;就可以将音频格式转为MP3格式&#xff0c;再来播放。有些小伙伴可能还不太清楚怎么把音频格式…

音频格式转换

1、AVSampleFormat 音频sample的存储格式 在FFmpeg中使用枚举AVSampleFormat表示音频的采样格式,其声明如下: enum AVSampleFormat {AV_SAMPLE_FMT_NONE = -1,AV_SAMPLE_FMT_U8, ///< unsigned 8 bitsAV_SAMPLE_FMT_S16, ///< signed 16 bitsAV_SAM…