精华内容
下载资源
问答
  • AMR-NB音频编码解码-源代码

    热门讨论 2011-05-13 08:45:29
    AMR NB 音频编码解码 源代码 C语言源码 VS2008直接创建项目覆盖,生成DLL编译即可使用.
  • 音频编码解码简介

    2014-05-15 14:46:00
    1、处理音频数据的过程分为编码解码两个过程,这两个过程的具体说明如下: (1)编码:把存放在波形文件里的数字音频数据转换为压缩的形式,即比特流的形式。 (2)解码:把比特流重建为波形文件。   2、音频文件...

    转自:http://blog.sina.com.cn/pengdexin2010

    1、处理音频数据的过程分为编码和解码两个过程,这两个过程的具体说明如下:

    (1)编码:把存放在波形文件里的数字音频数据转换为压缩的形式,即比特流的形式。

    (2)解码:把比特流重建为波形文件。

    2、音频文件根据支持的编码格式,分为两类:

    (1)无损压缩:例如WAV、PCM、APE、TTA、FLAC、AU。

    (2)有损压缩:例如MP3、OGG Vobis、WMA、AAC。

    3、音频无损压缩

      指毫无损失地将声音信号进行压缩的音频格式。

      无损压缩具有以下特点:

      (1)100%地保存源文件,没有任何信号丢失。

       (2)音质高,不受信号源的影响。

       (3)转换方便。

    4、常见的无损压缩格式

       (1)APE

         目前最著名的无损压缩格式。

         特点:

         效率高、速度快、综合能力首屈一指。

         缺点:

         解码速度慢、只能用在Windows平台、封闭的源码影响了对它的支持。

       (2)FLAC

         全称Free Lossless Audio Codec。

         特点:

         源码完全开放,并兼容几乎所有的操作系统平台、编码算法成熟,通过了种种严格的测试、在文件点损坏的情况下依然能够正常播放、得到了众多第三方软件的支持,是唯一得到硬件支持的无损格式。

       (3)WavPack

       (4)LPAC

    5、音频的有损压缩

      所谓有损压缩,是指可以选择需要的采样频率和比特率来压缩编码数字音频文件。

      虽然压缩后的音频文件将比原文件小很多,但是也相应的降低了一些品。降低品质的这种损失时无可挽回的,即使将其转换成压缩编码前的文件格式,也不能恢复损失掉的部分。

    6、常见的音频有损压缩格式

      当前流行的格式是OGG、MPC、MP3、ACC、WMA。

      下表是它们编码信息的比较

     音频编码解码简介


    展开全文
  • UDA1341 音频编码解码芯片

    千次阅读 2011-12-30 17:11:49
  • 在这里下载相关库文件 ...这几天在 android上的音频项目,顺便把用到的aac编解码库封装了一下,有需要的可以从上面下载。当然我是没有本事自己写编解码器的,还是用FFmpeg + FDK_aac来做。下面介绍一下其ja...

     

    在这里下载相关库文件

    V1.0  点击打开链接 (libaac.jar, libaac.so , demo项目)
    V1.1 点击打开链接 (更新libaac.so,其他的与V1.0相同)

     

    这几天在 android上的音频项目,顺便把用到的aac编解码库封装了一下,有需要的可以从上面下载。当然我是没有本事自己写编解码器的,还是用FFmpeg + FDK_aac来做。下面介绍一下其java接口的使用。java库见libaac.jar文件,把libaac.jar加到 libs目录下,把libaac.so加到 libs/armeabi目录即可使用。

     

    AAC编码:

     (1) 创建一个Encoder对象作为成员变量
    aac.Encoder  encoder;

    (2) 初始化它

     

    		encoder = new aac.Encoder();
    		if(! encoder.open(11025, 1))
    		{
    			Log.d("mylog", "failed to open encoder !\n");
    			encoder = null;
    		}


    这里要指定输入音频源(PCM格式)的sampe_rate和channel个数,如果为CHANNEL_OUT_MONO,则channel=1,否则为2。 sample_rate一般设置为11025,因为手机性能有限,设置太高的话也处理不过来,而且处理人声的话11025也是足够了。

     

    (3) 编码

    把接收到PCM数据交给encoder来处理即可,要求输入源为ENCODING_PCM_16BIT,即每个sample是16BIT的。这个encoder对象内有2个缓冲区:inbuf, outbuf。显然,在编码时,inbuf就是用于存储接收到的PCM数据,outbuf就是存编码后得到的数据。

    int out_size = encoder.encode(in_size);

    其返回值out_size,表示在outbuf里的有效数据长度。此时可以把outbuf里的aac数据通过网络发送或其他用途。

     

    其中,用户需要知道encoder每次处理多长的数据,即一个frame的大小。对于单声道MONO来说,每次应该输入2048byte的数据。对于双声道STEREO来说,应该输入4096byte的数据。下面这一行可以根据声道数来计算输入的frame的大小:

    int in_size = aac.Encoder.frameSize(1);

     

    AAC解码:

     

     (1) 创建一个Decoder对象作为成员变量

    aac.Decoder  decoder;

    (2) 初始化

     

    		decoder = new aac.Decoder();
    		if( ! decoder.open())
    		{
    			Log.d("mylog", "failed to open decoder !\n");
    			decoder = null;
    		}


    (3) 解码

     

     

     

     

     

    Decoder对象也有inbuf和outbuf,把待解码的aac frame放到inbuf里

    int pcm_size = decoder.decode(aac_size);

    解得到数据在outbuf里,其有效长度为上述函数的返回值pcm_size,此时可以把outbuf里的PCM数据取出来播放或其他用途。

     

     

    展开全文
  • 音频解码,录制铃音,增加混音效果,目前只支持编解码MP3格式文件。将音频文件放到SDCard/RecordMixMp3/music下,进入软件,点击演唱就可以了。 本项目用到 lame、libmad,ting 源代码+文件+apk:伴唱混音.zip
    特别提示:这里所提供的源代码真实有效,并且只是出售源代码,不提供项目整合服务。如果觉得效果是自己想要的欢迎使用。(感谢各位慷慨资助,谢谢

    音频编解码,录制铃音,增加混音效果,目前只支持编解码MP3格式文件。将音频文件放到SDCard/RecordMixMp3/music下,进入软件,点击演唱就可以了。
    本项目用到 lame、libmad,ting
    源代码+文件+apk:伴唱混音.zip(10.39 MB, 下载次数: 65)
    源代码收费,不喜欢的可以右上角叉叉。谢谢有意向使用的可以留言
    QQ:305611696
    非诚勿扰,谢谢~!
    Android.mk
    1. # Copyright (C) 2009 The Android Open Source Project
    2. #
    3. # Licensed under the Apache License, Version 2.0 (the "License");
    4. # you may not use this file except in compliance with the License.
    5. # You may obtain a copy of the License at <span id="kM0.4412747658789158">@</span>1123
    6. #
    7. #      http://www.apache.org/licenses/LICENSE-2.0
    8. #
    9. # Unless required by applicable law or agreed to in writing, software
    10. # distributed under the License is distributed on an "AS IS" BASIS,
    11. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12. # See the License for the specific language governing permissions and
    13. # limitations under the License.
    14. #
    15. #ifeq ($(strip $(BUILD_WITH_GST)),true)

    16. LOCAL_PATH:= $(call my-dir)

    17. include $(CLEAR_VARS)

    18. LAME_LIBMP3_DIR := libmp3lame/src

    19. LOCAL_SRC_FILES:= \
    20.         version.c \
    21.         fixed.c \
    22.         bit.c \
    23.         timer.c \
    24.         stream.c \
    25.         frame.c  \
    26.         synth.c \
    27.         decoder.c \
    28.         layer12.c \
    29.         layer3.c \
    30.         huffman.c \
    31.         MyMinimad.c \
    32.         NativeMP3Decoder.cpp \
    33.         native_libmad.cpp \
    34.         FileSystem.cpp \
    35.         mixrecord.c \
    36.         mp3decode.c \
    37.         $(LAME_LIBMP3_DIR)/bitstream.c \
    38.         $(LAME_LIBMP3_DIR)/fft.c \
    39.         $(LAME_LIBMP3_DIR)/id3tag.c \
    40.         $(LAME_LIBMP3_DIR)/mpglib_interface.c \
    41.         $(LAME_LIBMP3_DIR)/presets.c \
    42.         $(LAME_LIBMP3_DIR)/quantize.c \
    43.         $(LAME_LIBMP3_DIR)/reservoir.c \
    44.         $(LAME_LIBMP3_DIR)/tables.c \
    45.         $(LAME_LIBMP3_DIR)/util.c \
    46.         $(LAME_LIBMP3_DIR)/VbrTag.c \
    47.         $(LAME_LIBMP3_DIR)/encoder.c \
    48.         $(LAME_LIBMP3_DIR)/gain_analysis.c \
    49.         $(LAME_LIBMP3_DIR)/lame.c \
    50.         $(LAME_LIBMP3_DIR)/newmdct.c \
    51.         $(LAME_LIBMP3_DIR)/psymodel.c \
    52.         $(LAME_LIBMP3_DIR)/quantize_pvt.c \
    53.         $(LAME_LIBMP3_DIR)/set_get.c \
    54.         $(LAME_LIBMP3_DIR)/takehiro.c \
    55.         $(LAME_LIBMP3_DIR)/vbrquantize.c \
    56.         $(LAME_LIBMP3_DIR)/version.c \
    57.         $(LAME_LIBMP3_DIR)/com_wt_recordmixmp3_util_SimpleLame.c \
    58.         cn_com_util_Jni.cpp

    59. LOCAL_ARM_MODE := arm  
    60.   
    61. LOCAL_MODULE:= libmad  
    62.   
    63. LOCAL_C_INCLUDES := \
    64.     $(LOCAL_PATH)/android   
    65.   
    66. LOCAL_CFLAGS := -DHAVE_CONFIG_H -DFPM_ARM -ffast-math -O3  

    67. LOCAL_LDLIBS := -llog

    68. include $(BUILD_SHARED_LIBRARY)

    69. #endif

    复制代码


    /com_wt_recordmixmp3_util_SimpleLame.h
    /com_wt_recordmixmp3_util_SimpleLame.c
    /mp3decode.c
    /mixrecord.c











    朋友别哭.zip(5.7 MB, 下载次数: 16)

    RecordMixMp3.apk(509.64 KB, 下载次数: 15)
    展开全文
  • 音频编码解码原理

    万次阅读 2016-09-13 19:49:16
    DTS(解码时间戳)和PTS(显示时间戳)分别是解码器进行解码和显示帧时相对于SCR(系统参考)的时间戳。SCR可以理解为解码器应该开始从磁盘读取数据时的时间。 mpeg文件中的每一个包都有一个SCR时间戳并且这个...
  • 再进行OPUS编码解码的时候,走了许多弯路。以下介绍一下实现OPUS编码解码的步骤。 1. 去官网或者github找到能调通的源码,生成出相应的库opus.lib 2.在自己的项目中,把.h和.lib添加到工程里面(VS项目右键...
  • [总结]视音频解码技术零基础学习方法

    万次阅读 多人点赞 2014-06-16 00:12:43
    一直想把视音频解码技术做一个简单的总结,可是苦于时间不充裕,一直没能完成。今天有着很大的空闲,终于可以总结一个有关视音频技术的入门教程,可以方便更多的人学习从零开始学习视音频技术。需要注意的是,本文...
  • 音频编码解码原理 作者:yuyin86 视频流中的DTS/PTS到底是什么? DTS(解码时间戳)和PTS(显示时间戳)分别是解码器进行解码和显示帧时相对于SCR(系统参考)的时间戳。SCR可以理解为解码器应该开始从...
  • STM32的音频编码与在PC端的解码

    千次阅读 2018-12-14 22:50:13
    STM32的音频编码与在PC端的解码简介STM32F4移植编码PC移植解码结尾 简介 能看到这篇文章的基本上都是有迫切需求的人,话不多说,切入正题 编解码库:Speex 编码硬件平台:STM32F411——Cortex-M4 编码开发环境SDK:...
  • [总结]FFMPEG视音频解码零基础学习方法

    万次阅读 多人点赞 2013-11-16 00:04:05
    在CSDN上的这一段日子,接触到了很多同行业的人,尤其是使用FFMPEG进行视音频解码的人,有的已经是有多年经验的“大神”,有的是刚开始学习的初学者。在和大家探讨的过程中,我忽然发现了一个问题:在“大神”和...
  • 视频音频常用编码解码介绍

    千次阅读 2007-03-27 10:51:00
    这里只对常见的视频音频编码做一个系统的简单介绍,并不进行详细探讨。由于我的知识有限,难免有错误的地方,欢迎来信指正。MPEG 系列MPEG 即(Moving Pictures Experts Group) 运动图象专家组,属于ISO...
  • 音频解码原理

    万次阅读 多人点赞 2017-12-11 10:51:50
    一般常见的情况 是,依赖嵌入式 ARM 或 DSP 的处理能力,通过定点 或浮点程序实现音频解码过程。 实例说明  音频解码常用的实现方案有三 种。  第一种就是采用专用的音频芯片对 语音信号进行
  •   由于工作需要接触了一段时间的音频解码算法—G.722.1, 在此作以记录。 简介 G.722.1是一种基于变换域编码的算法 采样率: 16000hz 比特率: 24kbit/s 32kbit/s 变换域: MLT(Modulated Lapped Transform)...
  • 常见音频编码格式解析

    万次阅读 多人点赞 2017-12-15 11:22:06
    常见音频编码格式解析常见音频编码格式解析 MP3编码格式 1MP3概述 2MPEG音频压缩基础 3MPEG Layer3编解码的基本原理 4整个MP3文件结构 41ID3V2 42音频数据帧 43ID3v1 AAC编码格式 1AAC概述 2AAC扩展名 3AAC规格 4AAC...
  • 音频解码(软/硬编码),音频转码

    千次阅读 2019-01-06 10:54:24
    音频解码(软编码) FFMpeg视频软件编解码的。B站的ijkplayer等。  音频数据的编解码- http://blog.51cto.com/ticktick/1760191 1.Android AAC Encoder 一款轻量级的 Android aac 编码库:...
  • [转]视频音频常用编码解码介绍

    千次阅读 2010-06-18 16:43:00
    来源http://blog.csdn.net/luchy/archive/2007/03/27/1542478.aspx这里只对常见的视频音频编码做一个系统的简单介绍,并不进行详细 探讨。由于我的知识有限,难免有错误的地方,欢迎来信指正。MPEG 系列 MPEG 即...
  • 基于Windows平台的 AAC, HE-AAC, HE-AAC V2 音频编码器,解码器 功能: 1)特别为Windows平台优化,可稳定运行于 Windows 2000, xp, 2003, vista 等系统 2)通过MPEG-4标准一致性测试 3)支持AAC-LC, HE-AAC V1 ...
  • 音频解码技术介绍

    千次阅读 2019-12-14 11:12:20
    了解音频解码的目的 熟悉音频解码的各种标准 知道音频解码的技术构成 关注音频解码技术的发展 语音编解码概述 语音编解码标准 语音编解码标准 PCM 语音压缩(ADPCM) GELP(码激励线性预估) ...
  • 如何实现在ffmpeg中 用多线程实现,编码解码 多路视频,音频?如何验证这个问题?   可以在这里讨论 http://www.chinavideo.org/viewthread.php?tid=12490&extra=page%3D2
  • ios - 音频AAC解码

    千次阅读 2018-03-28 14:44:35
    上一回说到音频AAC编码,这回我们把编码后的文件解码解码的文件就是上一章录制的音频。 在iOS下进行音频解码及播放的大体流程如下: 1、打开 AAC 文件。 2、获取音频格式信息。如通道数,采样率等。 3、从 AAC...
  • AAC音频解码算法

    千次阅读 2021-03-06 11:03:57
    在主控模块开始运行后,主控模块将AAC比特流的一部分放入输入缓冲区,通过查找同步字得到一帧的起始,找到后,根据ISO/IEC 13818-7所述的语法开始进行Noisless Decoding(无噪解码),无噪解码实际上就是哈夫曼解码,...
  • Speex 音频解码

    千次阅读 2014-01-17 22:37:09
    Speex 音频解码 2010-08-26 17:14  [cpp] view plaincopy // demo.cpp : Defines the entry point for the console application.  //  #include "stdafx.h"  #include  #inclu
  • FFmpeg浅尝辄止(四)——音频解码编码

    万次阅读 多人点赞 2012-06-28 16:45:46
    音频和视频其实是一样的,在文件中寻找音频流,然后解压出来,得到音频帧的数据,同样也可以按照设定的编码格式进行压缩,我这里把音频解码编码做成了两个工程,也是直接上代码: #include #include ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 47,374
精华内容 18,949
关键字:

音频编码解码