Skip to content

leozimmerman/Sonoscopio

Repository files navigation

Sonoscopio

Free and open source audio analysis tool.

(!) Software still in development. This is currently a beta testing version, use it your own risk

Demo video: https://vimeo.com/191193752

alt text

Main features

  • Wav & mp3 files loading
  • Mono and multi-channel analysis
  • Timeline integrated with zoom, markers, bpm grid, and custom tracks (curves, bangs, switches). + info
  • Configurable Smoothing parameters
  • OSC data sending
  • Save/Load settings and projects
  • Real Time & Offline analysis modes

Analysis algorithms

RMSPitch frequency, Pitch Confidence, Pitch Salience, HFC, Centroid, Inharmonicity, Spectral Complexity, Dissonance, Roll Off, Odd To Even Harmonic Energy Ratio, Onsets, Spectrum, Mel Bands, MFCC, Harmonic Pitch Class Profile, Tristimulus. More info here

Installation

  • Download openFrameworks v0.11.2 osx release
  • Clone this repository into OF_ROOT_DIR/apps/myApps/
  • Build Xcode project

Tested with:

  • OF 0.11.2
  • macOS Catalina: version 10.15.7
  • Xcode 12.4

Compatibility

Only working in OSX for the moment

Projects & Settings

  • If none project is opened, it will save and load settings to/from:

    • bin/data/main_settings/
    • bin/data/meters_settings/
    • bin/data/timeline_settings/
  • "Open Project" dropdown button list projects in:

    • bin/data/projects
  • If a Project is open, "Load Settings" and "Save Settings" will load/save to the project's settings files.

  • A project folder must have:

  • audiofile.wav or audiofile.mp3
  • main_settings/
  • meters_settings/
  • timeline_settings/
  • Creating a New Project (manually at the moment):
  • Open app with no project loaded
  • Open audio file, set settings and save them.
  • Create a folder in bin/data/projects with the projects name.
  • Copy the file used and rename it "audiofile".
  • Copy the settings files from bin/data to bin/data/projects/PROJECT_NAME/

Keys Commands

  • 't' : time measurement on/off
  • 'm' : add marker
  • 'w' : rewind
  • 'e' : expands focused track
  • 'd' : enables/disables focused track
  • 'a' : adjust tracks height shortcut

OSC

For receiving OSC data in another app:

  • Per audio channel (ch0, ch1, ch2, etc):

    • address "/ch0" : all Single Values in sames order as Osc Indexes (ofxAudioAnalyzerAlgorithms.h)
    • address "/ch0mel": Mel Bands - size=24
    • address "/ch0mfcc": MFCC - size=13
    • address "/ch0hpcp": HPCP - size=12
    • address "/ch0tris": Tristimulus - size=3
  • Per Timeline Track:

    • address "/TL-(trackname)": El value del track

Dependencies

Sonoscopio uses several open source repositories, projects, libraries, etc. Run clone_addons.sh to clone all of them easily.

  • openFrameworks: Main app's core functionality.
  • ofxAudioAnalyzer: For the audio analysis engine. This addon uses Essentia library.
  • ofxTimeline: For the integrated timeline functionality.
  • ofxDatGui: For the graphical user interface.
  • ofxAudioDecoder
  • ofxMSATimer
  • ofxRange
  • ofxTextInputField
  • ofxTimeMeasurements
  • ofxTimecode
  • ofxTween

License

This software is distributed under Affero GPLv3 license. See License

About

Audio analysis and audio-based music information retrieval software tool

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages