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
Marsyas - Music Analysis, Retrieval and Synthesis for Audio Signals
Overview
Comments
-
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.
-
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.
-
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)
-
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
-
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 toAudioSink
, 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 toSoundFileSink
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); }
-
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!
-
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
-
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 ?
-
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.
-
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.
-
Wrong dir for CMake
I get the following message when I try to install marsyas on Debian 8 with MATE 1.8.1:
CMake initialized in the wrong directory. Please initialize CMake with the top-level Marsyas directory as source directory.
I followed instructions from here: http://marsyasweb.appspot.com/assets/docs/manual/marsyas-user/Configuring-with-CMake.html#Configuring-with-CMake
-
[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.
-
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
-
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!
-
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.
-
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. -
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?
❤️ 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
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.
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
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
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
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
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
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
Audio spatialization over WebRTC and JACK Audio Connection Kit
Audio spatialization over WebRTC Spatify provides a framework for building multichannel installations using WebRTC.
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
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
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
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
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
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.
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.
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
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.
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 • ??ᴏᴍʏᴀ⃝??ᴇᴇᴛ • ??ғғɪ