Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Ryuk17/AudioProcessing-toolbox
extract the time domain or frequent domain features from wav format audio
https://github.com/Ryuk17/AudioProcessing-toolbox
signal-processing
Last synced: 21 days ago
JSON representation
extract the time domain or frequent domain features from wav format audio
- Host: GitHub
- URL: https://github.com/Ryuk17/AudioProcessing-toolbox
- Owner: Ryuk17
- License: mit
- Created: 2018-05-22T13:27:04.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2019-10-03T12:42:17.000Z (about 5 years ago)
- Last Synced: 2024-08-05T17:39:31.229Z (4 months ago)
- Topics: signal-processing
- Language: MATLAB
- Homepage: https://github.com/DandelionLau/AudioProcessing-toolbox
- Size: 651 KB
- Stars: 34
- Watchers: 5
- Forks: 12
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
- awesome-hacking-lists - Ryuk17/AudioProcessing-toolbox - extract the time domain or frequent domain features from wav format audio (MATLAB)
README
# AudioProcessing
An toolbox for audio processing in Matlab,the verison of Matlab is R2016a.
The audio sample in this toobox is 8000Hz, 16 bits.## 1. getAudioFingerpriner
+ [getAudioFingerprinter](https://github.com/DandelionLau/AudioProcessing-toolbox/blob/master/getAudioFingerprinter.m) calcuates the difference of the energy of each frequency sub-band as shown below.
![Extraction process](https://github.com/DandelionLau/AudioProcessing/blob/master/pic/audiofingerprinter.jpg)+ Specifically, the extraction process including the following steps:
1. divide audio into frames, the overlap length is alterable
2. do fft for each frame
3. divide frequency spectrum into 32 frequency sub bands
4. calcuate the energy of each sub band
5. calcuate audio fingerprinter as follow
![Bit Derviation](https://github.com/DandelionLau/AudioProcessing/blob/master/pic/bitDerivation.JPG)+ The result is shown below
![printer](https://github.com/DandelionLau/AudioProcessing/blob/master/pic/fingerprinter.png)## 2. getZCR
+ [getZCR](https://github.com/DandelionLau/AudioProcessing-toolbox/blob/master/getZCR.m) calcuates the zero-crossing rate which can be used to predict the frequency roughly.
+ Specifically, the extraction process including the following steps:
1. divide audio into frames
2. calcuate zcr of each frame using the following equation
![ZCR](https://github.com/DandelionLau/AudioProcessing/blob/master/pic/ZCR.JPG)
where sgn(x) is given by
![sgn(x)](https://github.com/DandelionLau/AudioProcessing/blob/master/pic/sgn.JPG)+ The result is shown below
![zcrpic](https://github.com/DandelionLau/AudioProcessing/blob/master/pic/ZeroCrossingRate.png)## 3. getLandmarks
+ [getLandmarks](https://github.com/DandelionLau/AudioProcessing-toolbox/blob/master/getLandmarks.m) calcuates the max-enegry points(also called landmark) in the frequency spectrum.+ Specifically, the extraction process including the following steps:
1. divide audio into frames, the overlap length is alterable
2. do fft for each frame
3. calcuate the energy of frequency
4. calcuate the local maximum as landmark
+ The result is shown below
![landmark-2d](https://github.com/DandelionLau/AudioProcessing-toolbox/blob/master/pic/landmark-2d.png)
![landmark-3d](https://github.com/DandelionLau/AudioProcessing-toolbox/blob/master/pic/landmark-3d.png)## 4. getEnergy
+ [getEnergy](https://github.com/DandelionLau/AudioProcessing-toolbox/blob/master/getEnergy.m) calcuates the short-time energy.
+ Specifically, the extraction process including the following steps:
1.divide audio into frames, the overlap length is alterable
2.calcuate the energy using the following equation:
![stenergy](https://github.com/DandelionLau/AudioProcessing-toolbox/blob/master/pic/short-time-energy.png)+ The result is shown below
![getEnrgy](https://github.com/DandelionLau/AudioProcessing-toolbox/blob/master/pic/getEnergy.png)## 5. getSpecgram
+ [getSpecgram](https://github.com/DandelionLau/AudioProcessing-toolbox/blob/master/getSpecgram.m) calcuates the spectgram.
+ Specifically, the extraction process including the following steps:
1. divide signal into frames in time domain
2. do fft of each frame
+ The result is shown below
![specgram](https://github.com/DandelionLau/AudioProcessing-toolbox/blob/master/pic/specgram.png)## 6. getLMSPredictor
+ [getLMSPredictor](https://github.com/DandelionLau/AudioProcessing-toolbox/blob/master/getLMSPredictor.m) trains least mean square(LMS) adaptive predictor.