ofxAudioAnalyzer, 实时音频分析算法的openFrameworks包装器

分享于 

5分钟阅读

GitHub

  繁體 雙語
openFrameworks wrapper for Essentia. Audio analysis algorithms in real-time
  • 源代码名称:ofxAudioAnalyzer
  • 源代码网址:http://www.github.com/leozimmerman/ofxAudioAnalyzer
  • ofxAudioAnalyzer源代码文档
  • ofxAudioAnalyzer源代码下载
  • Git URL:
    git://www.github.com/leozimmerman/ofxAudioAnalyzer.git
    Git Clone代码到本地:
    git clone http://www.github.com/leozimmerman/ofxAudioAnalyzer
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/leozimmerman/ofxAudioAnalyzer
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    
    ofxAudioAnalyzer

    描述

    用于音频分析的 openFrameworks插件插件。 它提供了以下算法:

    • RMS电源 Instant Energy Confidence基音频率Pitch音高Confidence俯仰角Confidence俯仰角Confidence俯仰角Confidence节距 Confidence HFC HFC HFC HFC Spectral Spectral Spectral Profile Profile Profile Profile Profile

      请参见 AlgorithmsReference.md

    这个插件使用了必需的。

    演示视频:https://vimeo.com/129795472

    兼容性

    OSX & Linux - 0.9.7 64位编译。

    在 OSX 10.11.6和 Ubuntu 14.04测试

    编译

    • Linux: makefile。

    • OSX: 最好和最简单的方法是使用Xcode项目。 你也可以使用 makefile,但是在OSX中,你需要将ofxAudioDecoder添加到 addons.make.

    依赖项

    对于播放和分析音频文件( 请参见音频文件播放机。),ofxAudioDecoder 插件是OSX需要的。

    用法

    • 存储库中包含的示例可以用来构建新项目,特别是空项目。 它们可以用Xcode编译,也可以通过使用makefile的终端来编译。

    • 创建一个新项目:

      • 使用项目生成器创建一个新项目。 请确保包含英镑 ofxAudioAnalyzer ofxAudioDecoder addons addons。

      • 在 ofApp.h 中包含ofxAudioAnalyzer头

      
      
      
      
       #include "ofxAudioAnalyzer.h"
      
      
      
      
      • 在ofApp类中创建一个ofxAudioAnalyzer实例:
      
      
      
      
      ofxAudioAnalyzer audioAnalyzer;
      
      
      
      
      • setup() 函数中设置 audioanalyzer (。sampleRate,bufferSize,通道)的参数。 确保 audioAnalyzer 参数与ofSoundStream或者你加载到声音播放器的音频文件的参数相匹配,以避免错误:
      
      
      
      
      audioAnalyzer.setup(44100, 512, 2);
      
      
      
      
      • 当使用ofSoundStream时,在 ofApp::audioIn() 和 ofApp::audioOut() 中分析 ofSoundBuffer,或者在 ofApp::update() 中,如果使用音频文件播放器,则必须始终将参数与audioanalyzer的:
      
      
      
      
      audioAnalyzer.analyze(soundBuffer);
      
      
      
      
      • 如果你想使它标准化( 平滑和正常化),检索分析结果,通道,平滑量,如果你想要它正常化。 对于所有算法来说,规范化不是必需的,有些算法在默认情况下输出 0.0 -1.0的值。 请参见 allAlgorithms 示例):
      
      
      
      
      float rms = audioAnalyzer.getValue(RMS, channel, smoothAmount, doNormalize);
      
      
      
      

    音频文件播放机

    这里存储库包含ofBaseSoundPlayer的扩展版本,并从以下位置进行修改和修改: https://github.com/YCAMInterlab/ofxTimeline/tree/master/libs/ofOpenALSoundPlayer_TimelineAdditions/src

    这个类 [ofSoundPlayerExtended] 让你加载。播放和分析的audiofiles ( wav & mp3 )。 请参阅示例:allAlgorithms audioFilePlayer和 onsets 了解它是如何工作的。

    ( ) ofSoundPlayerExtended对于插件工作不是真正必要的。 如果不需要或者它给出了很多错误,只需将它从of项目或者附加目录的/src 中删除。

    问题

    对于任何 Bug,帮助或者特性请求打开一个问题,或者检查这个论坛线程的这个

    许可证

    基本库和这个插件在 Affero GPLv3许可下分发。 请参见许可协议。


    WRAP  换行  时间  音频  算法  实时