Marsyas - Music Analysis, Retrieval and Synthesis for Audio Signals

Related tags

Audio marsyas
Overview
Welcome to MARSYAS.

MARSYAS is a software framework for rapid prototyping of audio applications,
with flexibility and extensibility as primary concerns.

It was created by George Tzanetakis as part of his research at Princeton
University as a Phd graduate student, beginning in his first year of graduate
school (1998) when he rewrote various tools that he had been using in order to
make his life easier and also to code them the way he wanted them to be. It
started as a collection of classes written in C++ and JAVA for various sound
analysis and synthesis tasks.

It has grown into a large collection of C++ sound processing modules and a
flexible, intuitive and easy-to-use system to interconnect them. It provides
bindings for Python and integration into other frameworks like PureData,
Max/MSP, openFrameworks, Qt... It also contains a number of applications built
using the framework to facilitate and demonstrate various sound processing
tasks.

MARSYAS is maintained and developed by George Tzanetakis and other
researchers and guided mostly by their own research goals. Anyone who finds
in it anything useful is welcome to use it, but we have no responsibility
whatsoever. Aside from new development, we will try to maintain existing
functionality, and we will be happy to answer any questions and provide help
whenever possible.

MARSYAS is released as free software under the GNU public licence hoping that
it will attract people to contribute to its development. Please see the file
COPYING for licensing details.

For documentation, we recommend reading the online version:
http://marsyas.info/

To report issues and provide suggestions, please use our GitHub project page:
https://github.com/marsyas/marsyas
Comments
  • Trailing whitespace

    Trailing whitespace

    Trailing whitespace are a real issue in this project. Nearly every file contains trailing whitespace, which make it almost impossible to use git add -p or just view a diff if your editor is configured to strip whitespace automatically.

    This project should follow the example of the the Linux code guidelines and everybody working on this project should use an editor which strips trailing whitespaces to reduce noise in git and possibly other CVS in the future.

    opened by githubnemo 8
  • Style guide

    Style guide

    As discussed in #3 marsyas needs a global style guide.

    The outcome of #3 so far is to use two spaces indentation and the Google C++ guidelines but with the block beginning on the same line as the statement (if(...) {).

    This should definitely be summarized in a document (README?) on the root of this project.

    opened by githubnemo 7
  • various config errors for Sndfile and Qt5

    various config errors for Sndfile and Qt5

    I have qt5 and sendfile installed, not sure how to address these config errors.

      By not providing "FindSndfile.cmake" in CMAKE_MODULE_PATH this project has
      asked CMake to find a package configuration file provided by "Sndfile", but
      CMake did not find one.
    
      Could not find a package configuration file provided by "Sndfile" with any
      of the following names:
    
        SndfileConfig.cmake
        sndfile-config.cmake
    
      Add the installation prefix of "Sndfile" to CMAKE_PREFIX_PATH or set
      "Sndfile_DIR" to a directory containing one of the above files.  If
      "Sndfile" provides a separate development package or SDK, be sure it has
      been installed.
    Call Stack (most recent call first):
      src/CMakeLists.txt:47 (include)
    
    
    CMake Warning at cmake-modules/marsyas-detect.cmake:105 (find_package):
      By not providing "FindQt5Core.cmake" in CMAKE_MODULE_PATH this project has
      asked CMake to find a package configuration file provided by "Qt5Core", but
      CMake did not find one.
    
      Could not find a package configuration file provided by "Qt5Core"
      (requested version 5.1) with any of the following names:
    
        Qt5CoreConfig.cmake
        qt5core-config.cmake
    
      Add the installation prefix of "Qt5Core" to CMAKE_PREFIX_PATH or set
      "Qt5Core_DIR" to a directory containing one of the above files.  If
      "Qt5Core" provides a separate development package or SDK, be sure it has
      been installed.
    Call Stack (most recent call first):
      src/CMakeLists.txt:47 (include)
    
    
    CMake Error at cmake-modules/marsyas-detect.cmake:114 (message):
      Could not find a suitable version of Qt 5 (>= 5.1).
    
      If you have installed Qt 5 in a non-standard location, please add the Qt
      directory that contains subdirectories 'bin' and 'lib' to the CMake
      variable CMAKE_PREFIX_PATH.
    
      You can also disable building Qt5 applications by setting the CMake
      variable WITH_QT to OFF.
    
    Call Stack (most recent call first):
      src/CMakeLists.txt:47 (include)
    
    opened by NHQ 6
  • Unable to compile on Xcode 4.6.3

    Unable to compile on Xcode 4.6.3

    Hello,

    I'm trying to compile Marsyas for Xcode and demo applications and I am finding errors in different situations. If I compile manually everything is fine, so I expect that there is something wrong with the configuration.

    If I configure cmake with Marsyas_Static flag DISABLED, I get linker mach-o (ld) errors, and libtool finds problems with some of the flags (-dynamic, -Wl,-headerpad_max_install_names), and Marsyas lib is only compiled by removing those flags

    If I configure cmake with Marsyas_Static flag ENABLED, I compile without errors.

    However, none of the examples gets compiled for any of both configurations. Has someone identified this problem yet?

    Thank you, FB

    opened by frantic0 6
  • Incorrect playback speed of `AudioSink`

    Incorrect playback speed of `AudioSink`

    I resampled a 440Hz sinusoidal wave to 11025, 22050, 36000, 44100, 46000, and 48000Hz respectively. The system connection is simply SoundFileSource ==> AudioSink || SoundFileSink. When I connect to AudioSink, the playback speed is wrong except for 44100Hz and 48000Hz: 22050Hz gets 2x faster, 11025Hz gets 4x faster, 36000Hz gets faster and 46000Hz gets slower. However, if I connect to SoundFileSink the output wave files are all correct.

    Here is the code. I comment out the lines of SoundFileSink.

    #include <marsyas/system/MarSystemManager.h>
    
    using namespace std;
    using namespace Marsyas;
    
    void sfplay (string sfName) {
      MarSystemManager mng;
    
      MarSystem* playbacknet = mng.create("Series", "playbacknet");
    
      playbacknet->addMarSystem(mng.create("SoundFileSource", "src"));
      playbacknet->addMarSystem(mng.create("AudioSink", "dest"));
      //playbacknet->addMarSystem(mng.create("SoundFileSink", "dest"));
    
      playbacknet->updctrl("SoundFileSource/src/mrs_string/filename", sfName);
      playbacknet->updctrl("AudioSink/dest/mrs_bool/initAudio", true);
      //playbacknet->updctrl("SoundFileSink/dest/mrs_string/filename", "out.wav");
    
      while (playbacknet->getctrl("SoundFileSource/src/mrs_bool/hasData")->to<mrs_bool>() ) {
        playbacknet->tick();
      }
      delete playbacknet;
    }
    
    
    int main (int argc, const char **argv) {
      mrs_string fileName;
    
      if (argc < 2) {
        cout << "Please enter filename." << endl;
        exit(1);
      } else {
        fileName = argv[1];
      }
      cout << "Playing file " << fileName << endl;
    
      sfplay(fileName);
      exit(0);
    }
    
    opened by evojimmy 4
  • CMAKE Errors / MacOS X 10.8

    CMAKE Errors / MacOS X 10.8

    cmake errors on MacOS X 10.8

    macbookproloreto:src loreto$ cmake . -- Check if the system is big endian -- Searching 16 bit integer -- Looking for sys/types.h -- Looking for sys/types.h - found -- Looking for stdint.h -- Looking for stdint.h - found -- Looking for stddef.h -- Looking for stddef.h - found -- Check size of unsigned short -- Check size of unsigned short - done -- Using unsigned short -- Check if the system is big endian - little endian CMake Error at CMakeLists.txt:47 (include): include could not find load file:

    marsyas-options
    

    -- 'Realtime' features and dependent apps disabled, because WITH_CPP11 is disabled CMake Error at CMakeLists.txt:61 (include): include could not find load file:

    marsyas-detect
    

    CMake Error at CMakeLists.txt:80 (include): include could not find load file:

    marsyas-includes
    

    CMake Error at CMakeLists.txt:83 (include): include could not find load file:

    marsyas-oslibs
    

    CMake Error at CMakeLists.txt:132 (include): include could not find load file:

    marsyas-package
    

    CMake Warning (dev) in CMakeLists.txt: No cmake_minimum_required command is present. A line of code such as

    cmake_minimum_required(VERSION 2.8)
    

    should be added at the top of the file. The version specified may be lower if you wish to support older CMake versions for this project. For more information run "cmake --help-policy CMP0000". This warning is for project developers. Use -Wno-dev to suppress it.

    -- Configuring incomplete, errors occurred!

    opened by loretoparisi 4
  • configuration issues on 10.8.2 using cmake gui and cmake in terminal

    configuration issues on 10.8.2 using cmake gui and cmake in terminal

    I followed this post(http://marsyas.info/assets/docs/manual/marsyas-user/Compiling-on-MacOS-X-10_002e6-Snow-Leopard.html) using cmake GUI and had the following error. I tried to move up one level in my directory, still no luck.


    The C compiler identification is Clang 4.1.0 The CXX compiler identification is Clang 4.1.0 Check for working C compiler using: Xcode Check for working C compiler using: Xcode -- works Detecting C compiler ABI info Detecting C compiler ABI info - done Check for working CXX compiler using: Xcode Check for working CXX compiler using: Xcode -- works Detecting CXX compiler ABI info Detecting CXX compiler ABI info - done CMake Error at CMakeLists.txt:3 (message): CMake initialized in the wrong directory. Please initialize CMake with the top-level Marsyas directory as source directory.

    CMake Warning (dev) in CMakeLists.txt: No cmake_minimum_required command is present. A line of code such as

    cmake_minimum_required(VERSION 2.8)

    should be added at the top of the file. The version specified may be lower if you wish to support older CMake versions for this project. For more information run "cmake --help-policy CMP0000". This warning is for project developers. Use -Wno-dev to suppress it.

    Configuring incomplete, errors occurred!


    I then tried to use cmake in terminal but got a different error when "make"


    Linking CXX shared library ../../lib/libmarsyas.dylib Undefined symbols for architecture x86_64: "AudioConvertHostTimeToNanos", referenced from: midiInputCallback(MIDIPacketList const, void_, void_) in RtMidi.cpp.o "AudioGetCurrentHostTime", referenced from: midiInputCallback(MIDIPacketList const, void_, void_) in RtMidi.cpp.o MidiOutCore::sendMessage(std::vector<unsigned char, std::allocator >) in RtMidi.cpp.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make[2]: ** [lib/libmarsyas.dylib] Error 1 make[1]: *** [src/marsyas/CMakeFiles/marsyas.dir/all] Error 2 make: *** [all] Error 2


    any pointer on how to proceed? thanks

    opened by yyf 3
  • Build on iOS / armv7 platforms

    Build on iOS / armv7 platforms

    I have seen in the library an example app using a NDK / JNI binding for Marsyas. I suppose it is possible to port the project to iOS since. Not sure if other libraries included like RTAudio supports the iOS Core Audio.

    Anyone tried ?

    opened by loretoparisi 3
  • marsyas-0.2.18/MacOSX 10.8 CMAKE Errors

    marsyas-0.2.18/MacOSX 10.8 CMAKE Errors

    Errors when compiling

    marsyas-0.2.18/MacOSX 10.8

    /Users/loreto/Projects/AUDIO/asta-0.01/machine-learning/tools/marsyas-0.2.18/src/otherlibs/RtAudio/RtAudio.cpp:1098:7: error: goto into protected scope goto error; ^ /Users/loreto/Projects/AUDIO/asta-0.01/machine-learning/tools/marsyas-0.2.18/src/otherlibs/RtAudio/RtAudio.cpp:1108:17: note: jump bypasses variable initialization unsigned long bufferBytes = stream_.nUserChannels[mode] * *bufferSize * formatBytes( stream_.userFormat ); ^ /Users/loreto/Projects/AUDIO/asta-0.01/machine-learning/tools/marsyas-0.2.18/src/otherlibs/RtAudio/RtAudio.cpp:1093:7: error: goto into protected scope goto error; ^ /Users/loreto/Projects/AUDIO/asta-0.01/machine-learning/tools/marsyas-0.2.18/src/otherlibs/RtAudio/RtAudio.cpp:1108:17: note: jump bypasses variable initialization unsigned long bufferBytes = stream_.nUserChannels[mode] * *bufferSize * formatBytes( stream_.userFormat ); ^ /Users/loreto/Projects/AUDIO/asta-0.01/machine-learning/tools/marsyas-0.2.18/src/otherlibs/RtAudio/RtAudio.cpp:1228:5: warning: 'AudioDeviceRemoveIOProc' is deprecated: first deprecated in OS X 10.5 [-Wdeprecated-declarations] AudioDeviceRemoveIOProc( handle->id[0], callbackHandler ); ^ /System/Library/Frameworks/CoreAudio.framework/Headers/AudioHardwareDeprecated.h:712:1: note: 'AudioDeviceRemoveIOProc' declared here AudioDeviceRemoveIOProc( AudioDeviceID inDevice, ^ /Users/loreto/Projects/AUDIO/asta-0.01/machine-learning/tools/marsyas-0.2.18/src/otherlibs/RtAudio/RtAudio.cpp:1234:5: warning: 'AudioDeviceRemoveIOProc' is deprecated: first deprecated in OS X 10.5 [-Wdeprecated-declarations] AudioDeviceRemoveIOProc( handle->id[1], callbackHandler ); ^ /System/Library/Frameworks/CoreAudio.framework/Headers/AudioHardwareDeprecated.h:712:1: note: 'AudioDeviceRemoveIOProc' declared here AudioDeviceRemoveIOProc( AudioDeviceID inDevice, ^ /Users/loreto/Projects/AUDIO/asta-0.01/machine-learning/tools/marsyas-0.2.18/src/otherlibs/RtAudio/RtAudio.cpp:1469:7: error: goto into protected scope goto unlock; ^ /Users/loreto/Projects/AUDIO/asta-0.01/machine-learning/tools/marsyas-0.2.18/src/otherlibs/RtAudio/RtAudio.cpp:1473:17: note: jump bypasses variable initialization AudioDeviceID inputDevice = handle->id[1]; ^ 37 warnings and 3 errors generated.

    opened by loretoparisi 3
  • bextract fails with Assertion `orows_ == onObservations_' failed.

    bextract fails with Assertion `orows_ == onObservations_' failed.

    Training with bextract fails with this error: bextract: /home/ironman/external/marsyas-release-0.5/build/src/marsyas/system/MarSystem.cpp:666: void Marsyas::MarSystem::checkFlow(Marsyas::realvec&, Marsyas::realvec&): Assertion `orows_ == onObservations_' failed.

    This is the command invoked: ./bextract bextract_single.mf -w ms.arff -p ms.mpl -pm -mc -wsoutput

    I have made some changes to marsyas components(WavFileSink,Confidence,SoundFileSource & Sink) and also introduced SoundFileSink to the early fanout. It's mostly to read mic/rtsp at runtime and send confidence and wav output over to websockets. No change is expected to kick in during training but only during classification runtime.

    Any indication why this error might happen? It fails exactly when a first label of songs are trained and it goes to the second label of songs.

    Thanks.

    opened by elaxsu 2
  • Wrong dir for CMake

    Wrong dir for CMake

    opened by ybayle 2
  • [IDEA]

    [IDEA] "port" Aurio algorithms to MARSYAS

    Hi there, since I honestly don't know/understand if it's MARSYAS field of application, I recently discovered a very cool lib called Aurio "that focuses on audio processing, analysis, media synchronization and media retrieval and implements various audio fingerprinting methods".

    Its drawback is that has been developed in C# for .NET, so it's Windows-only.

    It would be really great to establish some kind of collaboration between projects in order to (finally) obtain a platform-indipendent open source automated a/v synchronizer.

    Hope that inspires.

    opened by forart 0
  • Can't locate libmvamp for building with vamp and not all analysis blocks available for use

    Can't locate libmvamp for building with vamp and not all analysis blocks available for use

    I am getting stuck when I try to build with vamp plugins. I realized I am clearly missing libmvamp. I looked on the Vamp Plugins section of marsyas.info and they are no longer available to download. Could someone put that library back on the page? @gtzan

    Screenshot from 2020-03-03 19:03:14

    opened by jjreyes92 3
  • port python module to python3

    port python module to python3

    I'm currently maintaining marsyas for Arch Linux. python2 is now EOL and the distribution is en route to removing it from the repositories. I'm therefore removing the (optional) dependency on python2 from the marsyas package, as the python module can only be built for python2.

    It would be great, if this was ported to python3!

    opened by dvzrv 1
  • tempo tool cannot write to files with spaces in path

    tempo tool cannot write to files with spaces in path

    When calling the tempo binary with the -f option to write the output to a separate file, and that file contains a space character, the output is written to a file named anything up to the space character, even when quoting.

    Example:

    tempo -f "my file.txt" "audio.wav"
    

    This will create a file called my with the result.

    tempo -f my\ file.txt "audio.wav"
    

    Using a backslash like above, leads to the same result.

    Tested on macOS 10.14.1 with marsyas-0.5.0.

    opened by hendriks73 0
  • File name conflict with audiofile sfinfo

    File name conflict with audiofile sfinfo

    Marsyas' sfinfo binary conflicts with audiofile's sfinfo.

    Due to the above mentioned bug with Arch Linux, I'm renaming it to marsyas-sfinfo, but I think a better name should be found here for all the helper apps.

    opened by dvzrv 0
  • release more frequently

    release more frequently

    Given the fact, that the last version was released 4(!) years ago, but that there are over 200 commits to master since then, I would love to see a more frequent release model for this software!

    Who is currently in charge of this project and can do it?

    opened by dvzrv 3
Owner
Marsyas Developers Group
Marsyas Developers Group
❤️ Hi There Im Cozmo Music Bot A next gen powerful telegram group Music bot for get your Songs and music @Venuja_Sadew

?? Cozmo MUSIC ?? Cozmo Music is a Music powerfull bot for playing music on telegram voice chat groups. Requirements FFmpeg NodeJS nodesource.com Pyth

Venuja Sadew 3 Jan 8, 2022
NovaMusic is a music sharing robot. Users can get music and music lyrics using inline queries.

A music sharing telegram robot using Redis database and Telebot python library using Redis database.

Hesam Norin 7 Oct 21, 2022
Okaeri-Music is a telegram music bot project, allow you to play music on voice chat group telegram.

Okaeri-Music is a telegram bot project that's allow you to play music on telegram voice chat group

Wahyusaputra 1 Dec 22, 2021
Okaeri-Music is a telegram music bot project, allow you to play music on voice chat group telegram.

??️ PROJECT MUSIC,THIS IS MAINTAINED Okaeri-Music is a telegram bot project that's allow you to play music on telegram voice chat group Features ?? Th

Okaeri-Project 2 Dec 23, 2021
Python library for audio and music analysis

librosa A python package for music and audio analysis. Documentation See https://librosa.org/doc/ for a complete reference manual and introductory tut

librosa 5.6k Jan 6, 2023
a library for audio and music analysis

aubio aubio is a library to label music and sounds. It listens to audio signals and attempts to detect events. For instance, when a drum is hit, at wh

aubio 2.9k Dec 30, 2022
Audio Retrieval with Natural Language Queries: A Benchmark Study

Audio Retrieval with Natural Language Queries: A Benchmark Study Paper | Project page | Text-to-audio search demo This repository is the implementatio

null 21 Oct 31, 2022
A small project where I identify notes and key harmonies in a piece of music and use them further to recreate and generate the same piece of music through Python

A small project where I identify notes and key harmonies in a piece of music and use them further to recreate and generate the same piece of music through Python

null 5 Oct 7, 2022
Audio spatialization over WebRTC and JACK Audio Connection Kit

Audio spatialization over WebRTC Spatify provides a framework for building multichannel installations using WebRTC.

Bruno Gola 34 Jun 29, 2022
Music player and music library manager for Linux, Windows, and macOS

Ex Falso / Quod Libet - A Music Library / Editor / Player Quod Libet is a music management program. It provides several different ways to view your au

Quod Libet 1.2k Jan 7, 2023
Just-Music - Spotify API Driven Music Web app, that allows to listen and control and share songs

Just Music... Just Music Is A Web APP That Allows Users To Play Song Using Spoti

Ayush Mishra 3 May 1, 2022
Python audio and music signal processing library

madmom Madmom is an audio signal processing library written in Python with a strong focus on music information retrieval (MIR) tasks. The library is i

Institute of Computational Perception 1k Dec 26, 2022
cross-library (GStreamer + Core Audio + MAD + FFmpeg) audio decoding for Python

audioread Decode audio files using whichever backend is available. The library currently supports: Gstreamer via PyGObject. Core Audio on Mac OS X via

beetbox 419 Dec 26, 2022
cross-library (GStreamer + Core Audio + MAD + FFmpeg) audio decoding for Python

audioread Decode audio files using whichever backend is available. The library currently supports: Gstreamer via PyGObject. Core Audio on Mac OS X via

beetbox 359 Feb 15, 2021
Audio augmentations library for PyTorch for audio in the time-domain

Audio augmentations library for PyTorch for audio in the time-domain, with support for stochastic data augmentations as used often in self-supervised / contrastive learning.

Janne 166 Jan 8, 2023
praudio provides audio preprocessing framework for Deep Learning audio applications

praudio provides objects and a script for performing complex preprocessing operations on entire audio datasets with one command.

Valerio Velardo 105 Dec 26, 2022
convert-to-opus-cli is a Python CLI program for converting audio files to opus audio format.

convert-to-opus-cli convert-to-opus-cli is a Python CLI program for converting audio files to opus audio format. Installation Must have installed ffmp

null 4 Dec 21, 2022
We built this fully functioning Music player in Python. The music player allows you to play/pause and switch to different songs easily.

We built this fully functioning Music player in Python. The music player allows you to play/pause and switch to different songs easily.

null 1 Nov 19, 2021
Royal Music You can play music and video at a time in vc

Royals-Music Royal Music You can play music and video at a time in vc Commands SOON String STRING_SESSION Deployment ?? Credits • ??ᴏᴍʏᴀ⃝??ᴇᴇᴛ • ??ғғɪ

null 2 Nov 23, 2021