安卓音頻處理相關資料集合貼

## 1 音頻處理基礎知識php

### 1.1 文件格式和編碼之間的關係html

首先須要說明的是,文件格式和編碼之間的關係如同碗與烹飪手法之間的關係。
文件格式只表明一個容器,這個容器能夠包含視頻或者音頻,以及頭文件信息,腳本等之類的數據。
通常來講一個特定容器容納的數據都是有必定範圍的。
好比MP4,其文件中存儲的一般是MPEG-4編碼的數據。
又好比WAV,其文件中存儲的是原始的PCM數據文件,同時附加了一個44字節的媒體信息描述。可是除此以外,WAV文件中也能夠包含MP3編碼的數據。java

### 1.2 聲音是什麼 linux

聲音是物體震動所產生的「波」。它是能量的傳播方式。
聲音包括三個特徵:響度、音調、音色。而錄音,則是經過將空氣中的聲音,還原爲震動,而後將震動的幅度,頻率,記錄下來。 android

[脈衝編碼調製PCM原理看這裏](http://blog.chinaunix.net/uid-11572501-id-3309833.html)ios

### 1.3 爲何要壓縮git

爲啥要壓縮呢?很簡單,錄製的原始文件太大。
PCM的大小能夠按照如下公式計算:採樣率 * 比特率 * 聲道數 * 錄製時間
通常來講,咱們是按照44100的採樣率錄製音頻的(爲何是44100,咱們暫且認爲這是一個經驗數值,超過這個數值,人耳已經沒法區分好壞)。比特率則指的是存儲每一幀數據所須要的數據量通常是16bit。
按照上面的公式一個1min的視頻佔用空間是: 44100 * 16 * 2 * 60 = 84672000 bit
換算出來就是超過10M,這個尺寸顯然過於龐大。因而爲了減小存儲空間,人們開始想出了各類壓縮辦法。github

### 1.4 壓縮原理簡述算法

由於聲音是由各類音波疊加造成的。而單個音波自己是能夠函數化的。也就是相似於我們在座標圖上畫正弦函數同樣。要記錄這個圖像,能夠把每一個點都描記下來,當須要重現圖形時,一個點一個點的對照描出來;而另外一張方法則是直接記住正弦函數,當須要重現圖形時,只須要按照函數從新繪製便可。很顯然記錄函數遠比記錄每個數據點要來的省時省力的多。
音頻壓縮的原理也是這樣。經過一系列的編碼操做,把錄製的聲音信號轉換爲一個一個的波形函數的疊加。這樣使得文件佔用空間大大減小。可是一樣的,因爲重建函數的過程,很難百分之百徹底重建成原始波形函數,通常都只是類似而已,因此壓縮算法壓縮出來的音頻和真實的音頻會存在必定的差別。也就是說,不存在真正的無損壓縮,如今標榜的無損壓縮算法,也僅能夠說是無限接近真實意義上的「無損」而已。shell

參考:
[音頻格式,編碼,解碼 相關知識](http://www.cnblogs.com/doit8791/archive/2012/06/02/2532382.html)

[音頻基礎知識](http://bbs.poptp.net/network-t-18209)

[音頻基礎知識2](http://ce.sysu.edu.cn/hope2008/beautydesign/ShowArticle.asp?ArticleID=2232)

[脈衝編碼調製PCM原理](http://blog.chinaunix.net/uid-11572501-id-3309833.html)


## 2 lame庫相關資料

LAME是LAME Ain't an MP3 Encoder的縮寫,開源而且免費的,公認最強大也是當今最流行的MP3壓縮引擎

[lame主頁](http://lame.sourceforge.net/links.php)

[ios下使用lame壓縮](http://ikinglai.blog.51cto.com/6220785/1228309)

[lame 解碼](http://blog.sina.com.cn/s/blog_648d306d0100sl2o.html)

[*lame JNI引用及demo](http://developer.samsung.com/technical-doc/view.do;jsessionid=f9yXJh2M1VCCTpN2dHHVYq8ShXPBBSJ15YXQyv2HDs3LGvjyTKzv!1229459487?v=T000000090)

[*lame 編解碼示例](http://www.codeproject.com/Articles/656543/The-LAME-wrapper-An-audio-converter)

[libmp3lame >= 3.98.3 not found](https://forum.videolan.org/viewtopic.php?f=32&t=82771)

[lame 移植到安卓](http://blog.sina.com.cn/s/blog_936739790101b1ag.html)

標*的爲比較重要的資料

## 3 AAC編碼解碼

http://blog.csdn.net/sunnylgz/article/details/7676340

http://blog.csdn.net/axdc_qa_team/article/details/4271043

如何建立AAC頭部信息
http://stackoverflow.com/questions/18862715/how-to-generate-the-aac-adts-elementary-stream-with-android-mediacodec

AAC解碼:
faad解碼器
http://www.audiocoding.com/faad2.html
FAAC中文
http://blog.csdn.net/poechant/article/details/7435054
一個FAAC JNI庫
http://bashell.sinaapp.com/voaacencoder
系統默認解碼器
http://www.itstrike.cn/Question/fb391992-0a92-46c3-959e-fb18a3133c84.html
基於OpenCore的解碼庫
https://code.google.com/p/aacdecoder-android/downloads/detail?name=aacdecoder-android-libs-0.8.zip&can=2&q=
https://github.com/vbartacek/aacdecoder-android

https://github.com/timsu/android-aac-enc

http://www.iis.fraunhofer.de/en/ff/amm/impl/fdkaaccodec.html


## 4 SOX資料

sox for android
http://stackoverflow.com/questions/18851214/how-to-use-sox-in-android
sox android lib
http://www.bytebucket.org/LukeLu1263/sox-android-lib/src/79764fdb30e8/sox-linux-armeabi-simple-dynamic/?at=master
一個基於sox的播放器
https://github.com/Kyborg2011/SoxPlayer


## 5 混音算法


混音算法介紹
http://dsp.stackexchange.com/questions/3581/algorithms-to-mix-audio-signals-without-clipping

噪音處理:http://stackoverflow.com/questions/15450448/noise-removal-from-a-recorded-audio-file-in-android?rq=1


http://stackoverflow.com/questions/19021484/how-to-remove-noise-mix-audio-in-android

http://blog.csdn.net/wocao1226/article/details/17580849

改進的混音算法
http://wenku.baidu.com/view/46cd4b0ef12d2af90242e631.html
http://blog.csdn.net/messagebox/article/details/3482244

http://blog.csdn.net/wocao1226/article/details/17549621視頻會議混音算法

http://www.oschina.net/p/audiokit

混音處理關鍵文章
http://stackoverflow.com/questions/18750892/merging-two-wave-files-on-android-concatenate

http://mobilengineering.blogspot.com/2012_06_01_archive.html

 

https://github.com/jitsi/libjitsi/tree/master/lib

混音,+打分
http://blog.csdn.net/h3c4lenovo/article/details/8099550

混音
http://stackoverflow.com/questions/16766248/mix-audio-in-android
http://stackoverflow.com/questions/13228196/audio-song-mixer-in-android-programatically

https://code.google.com/p/mobikar/source/browse/mobiKAR/archive/tmp/src/MixingAudioInputStream.java?r=13

http://stackoverflow.com/questions/18750892/merging-two-wave-files-on-android-concatenate

## 6 SoundTouch相關資料

soundTouch 音頻處理庫
http://www.surina.net/soundtouch/download.html

android端
https://github.com/nonameentername/soundtouch-android
https://github.com/svenoaks/SoundTouch-Android

## 7 Speex

speex音頻處理
http://blog.csdn.net/xyz_lmn/article/details/8013490

speex算法在android上的移植
http://blog.csdn.net/zkw12358/article/details/25339003

## 8 Libmad

libmad 音頻處理
http://blog.csdn.net/lishaoqi_scau/article/details/8568967


mad解碼
http://blog.csdn.net/ahyswang/article/details/7748344

## 9 採樣率轉換Resample

郵件列表libsamplerate vs. libresample
http://sourceforge.net/p/audacity/mailman/message/24262084/
libresample 移植
https://github.com/intervigilium/libresample

pcm下降採樣率
http://stackoverflow.com/questions/11257447/pcm-downsampling-input-frames-output-frames-vs-buffer-size?rq=1

http://www.mega-nerd.com/SRC/api_full.html#Process

http://www.mega-nerd.com/SRC/
音頻處理resample

https://ccrma.stanford.edu/~jos/resample/Free_Resampling_Software.html

https://github.com/lsjwzh/JSSRC

http://shibatch.sourceforge.net/

http://stackoverflow.com/questions/4009737/library-for-audio-resampling

http://tdistler.com/2010/07/22/audio-resampling-using-ffmpeg-avcodec

http://www.mega-nerd.com/SRC/
https://github.com/xxDroid/libsamplerate-android
http://stackoverflow.com/questions/17785499/how-to-convert-44100-stereo-to-11025-mono-programmatically

http://sourceforge.net/projects/soxr/

http://kokkinizita.linuxaudio.org/linuxaudio/zita-resampler/resampler.html
https://github.com/simingweng/android-pcm-resample


http://stackoverflow.com/questions/3260424/resample-upsample-sound-frames-from-8khz-to-48khz-java-android


https://github.com/dnault-laszlo/libresample4j

## 10 其餘

音色重現工具:
http://www.asel.udel.edu/speech/InvTutor/


安卓 音頻處理庫
http://google-opensource.blogspot.com/2013/09/patchfield-for-android.html

http://libpd.cc/

音頻處理集合
http://jackaudio.org/applications/

 

iOS 轉碼
http://www.cnblogs.com/ios8/p/IOS-PCM-MP3.html

語音識別

http://cmusphinx.sourceforge.net/

相關文章
相關標籤/搜索