GithubHelp home page GithubHelp logo

sonic-visualiser / tony Goto Github PK

View Code? Open in Web Editor NEW
40.0 40.0 4.0 11.03 MB

High quality pitch and note transcription for scientific applications

Home Page: https://www.sonicvisualiser.org/tony/

License: GNU General Public License v2.0

Shell 10.23% Batchfile 1.20% R 0.24% C++ 46.61% PowerShell 1.07% Standard ML 32.00% Meson 8.64%

tony's Introduction

Sonic Visualiser

A program for viewing and analysing the contents of music audio files

Sonic Visualiser small screenshot

Sonic Visualiser is a free, open source, cross-platform desktop application for music audio visualisation, annotation, and analysis.

With Sonic Visualiser you can:

  • Load audio files in various formats (WAV/AIFF, Ogg, Opus, MP3 etc) and view their waveforms
  • Look at audio visualisations such as spectrogram views, with interactive adjustment of display parameters
  • Annotate audio data by adding labelled time points and defining segments, point values and curves
  • Run feature-extraction plugins to calculate annotations automatically, using algorithms such as beat trackers, pitch detectors and so on (see https://vamp-plugins.org/)
  • Import annotation data from various text formats and MIDI files
  • Play back the original audio with synthesised annotations, taking care to synchronise playback with the display position
  • Slow down and speed up playback and loop segments of interest, including seamless looping of complex non-contiguous areas
  • Export annotations and audio selections to external files.

Sonic Visualiser can also be controlled remotely using the Open Sound Control (OSC) protocol (if support is compiled in).

Credits

If you are using Sonic Visualiser in research work for publication, please see the file CITATION for a reference to cite.

Sonic Visualiser was devised and developed up to release 4.2 in the Centre for Digital Music at Queen Mary University of London, primarily by Chris Cannam, with contributions from Christian Landone, Mathieu Barthet, Dan Stowell, Jesús Corral García, Matthias Mauch, and Craig Sapp. Special thanks to Professor Mark Sandler for initiating and supporting the project.

The 4.3 to 4.5 releases were developed by Chris Cannam at Particular Programs Ltd.

The 5.0 release was supported once again by the Centre for Digital Music at Queen Mary University of London.

If you would like to sponsor future general development of Sonic Visualiser, or if you need something specific and have funding available for it, please contact Particular Programs Ltd.

The bulk of the Sonic Visualiser code is

  • Copyright (c) 2005-2007 Chris Cannam
  • Copyright (c) 2006-2020 and 2024 Queen Mary University of London
  • Copyright (c) 2020-2023 Particular Programs Ltd

with a few exceptions as indicated in the individual source files.

Russian translation initially provided by Alexandre Prokoudine, updated by Sergey Kazorin, copyright 2006-2019 Alexandre Prokoudine and 2024 Sergey Kazorin.

Czech translation provided by Pavel Fric, copyright 2010-2019 Pavel Fric.

This work was partially funded by the European Commission through the SIMAC project IST-FP6-507142 and the EASAIER project IST-FP6-033902.

This work was partially funded by the Arts and Humanities Research Council through its Research Centre for the History and Analysis of Recorded Music (CHARM).

This work was partially funded by the Engineering and Physical Sciences Research Council through the OMRAS2 project EP/E017614/1, the Musicology for the Masses project EP/I001832/1, and the Sound Software project EP/H043101/1.

Sonic Visualiser is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. See the file COPYING included with this distribution for more information.

Sonic Visualiser may also make use of the following libraries:

  • Qt6 - Copyright The Qt Company, distributed under the LGPL
  • JACK - Copyright Paul Davis, Jack O'Quin et al, under the LGPL
  • PortAudio - Copyright Ross Bencina, Phil Burk et al, BSD license
  • Ogg decoder - Copyright CSIRO Australia, BSD license
  • MAD mp3 decoder - Copyright Underbit Technologies Inc, GPL
  • Opus decoder - Copyright Xiph.org and others, BSD license
  • libsamplerate - Copyright Erik de Castro Lopo, BSD license
  • libsndfile - Copyright Erik de Castro Lopo, LGPL
  • FFTW3 - Copyright Matteo Frigo and MIT, GPL
  • Rubber Band Library - Copyright Particular Programs Ltd, GPL
  • Vamp plugin SDK - Copyright Chris Cannam and QMUL, BSD license
  • LADSPA plugin SDK - Copyright Richard Furse et al, LGPL
  • RtMIDI - Copyright Gary P. Scavone, BSD license
  • Dataquay - Copyright Particular Programs Ltd, BSD license
  • Sord and Serd - Copyright David Robillard, BSD license
  • Redland - Copyright Dave Beckett and the University of Bristol, LGPL/Apache license
  • liblo OSC library - Copyright Steve Harris, GPL
  • Cap'n Proto - Copyright Sandstorm Development Group, Inc, BSD license

(Some distributions of Sonic Visualiser may have one or more of these libraries statically linked.) Many thanks to their authors.

Compiling Sonic Visualiser

If you are planning to compile Sonic Visualiser from source code, please read the relevant instructions:

These three platform builds are checked via continuous integration:

  • Linux CI build: Build Status
  • macOS CI build: Build Status
  • Windows CI build: Build Status

For notes on how to update and edit the UI translation strings, see TRANSLATION.md

More information

For more information about Sonic Visualiser, please go to

https://www.sonicvisualiser.org/

tony's People

Contributors

cannam avatar justinsalamon avatar rabitt avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

tony's Issues

[question] using tony as a command line tool

Hello everyone,

first of all thank you for this amazing software! It's super impressive how well the analysis is working.

Despite that I know that one of the key features of Tony is the GUI and the ability to manually edit and annotate the algorithmic analysis, I wondered if there is any way to analyses audio files and export the data through Tony without opening the GUI and with just calling the program over the command line? When calling Tony with the '--help' flag, I couldn't find any suitable option.

In my use case I have over hundred of short monophonic melodic phrases and would like to automate the generation of .svl files that contain the respective note data while still having access to the reliable techniques that Tony offers.

Best regards,

Levin

Real-Time Note Analysis Feature Proposal

Overview

This issue proposes the implementation of a real-time note analysis feature to enhance vocal and instrumental performance analysis within the context of music performance teaching or studio recording quality assurance.

Proposed Solution

The feature involves creating temporary layers filled via the pYIN plugin on recordDurationChanged every 200ms. These filled layer models will then be copied to view-attached layers. The analysis will incorporate overlapping windows to prevent note splitting by analysis window boundaries. Notes within overlapping areas will be merged to ensure continuity and accuracy.

Goals

  • Provide real-time vocal and instrumental performance analysis.
  • Enhance usability for music performance teaching and studio recording applications.

Technical Considerations

  • Temporary Layers: Investigate reuse of temporary layers to optimize performance and resource utilization.
  • Continuous Feature Retrieval: Explore methods for continuous feature retrieval from pYIN to optimize real-time analysis.
  • Refactoring and UI Improvement: Address existing code bugs and enhance UI elements for better user interaction.

Next Steps

  • Refactor existing code to improve performance and maintainability.
  • Enhance menu UI related to note analysis.

Questions for Discussion

  • Is there a way to continoiusly get features from pYIN?
  • Should the new functionality be integrated within existing methods (analyseNow, reanalyseSelection) or introduced as a separate function (analyseRecording)?
  • Are there specific UI enhancements or user experience improvements that should accompany this feature?
  • Should we move any additional processing to separate threads for improved performance?

Additional Notes

This proposal serves as a proof of concept and requires further refinement and testing before full integration into the project.

Test implementation is here:
#6

Problems trying to build tony on Ubuntu, configure / subrepo references (?)

Hello!
I'd like to use Tony on Ubuntu 18.04.1. I followed the instructions here:
https://code.soundsoftware.ac.uk/projects/tony/wiki/Compiling_Tony

Sadly, running ./configure fails with:
dataquay | Failed | Command failed: hg --config "ui.interactive=true" --config "ui.merge=:merge" clone -u default "https://hg.sr.ht/%7Ebreakfastquay/dataquay" dataquay (in dir /home/xxx/yyy/tony_hg/.),
and similar looking errors for bqvec, bqfft, bqresample, bqaudioio, bqaudiostream, bqthingfactory. It seems there is a problem with the cloning from these subrepos (? I am not sure I understand what is going on here).

Note the %7E string, in the URL, that should be a tilde ~, I guess. Running the command in terminal with the fixed URL, e.g.:
hg --config "ui.interactive=true" --config "ui.merge=:merge" clone -u default "https://hg.sr.ht/~breakfastquay/bqvec" bqvec
yields this error:

`abort: 'https://hg.sr.ht/~breakfastquay/bqvec' does not appear to be an hg repository:
---%<--- (text/html; charset=utf-8)
<!doctype html>

<title>~breakfastquay/bqvec - sourcehut hg</title> `

(I cut a part from this)

The other dependecies, e.g. vamp-plugin-sdk, svcore, svgui, etc., all come out OK.

I cloned the main repository using hg as well as git, I get the same errors in both cases. (I am not familiar with mercurial, so I tried the git repo first; I suspected the subrepo problem to have something to do with that, so I tried mercurial as well, to no avail.)

Any help and hints are highly appreciated. Thanks very much in advance!

How to split note in spectrogram

截屏2021-10-18 上午12 08 02

Look above, do you know how to split the spectrogram pitch track to each note(blue area)?How do I know where is begin and end?

Many Thanks.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.