annotate README.md @ 69:c0b78dcc08e6 feature-alternatives tip

Some experimental feature adjustments - try using diffs between chroma cells (no better at first glance)
author Chris Cannam
date Fri, 16 Aug 2019 12:28:58 +0100
parents 8fd1c994f937
children
rev   line source
Chris@19 1
Chris@60 2 Tuning Difference Plugin
Chris@60 3 ========================
Chris@19 4
Chris@65 5 ### A Vamp plugin to calculate comparative tunings of audio recordings
Chris@60 6
Chris@60 7 * Home page and downloads: https://code.soundsoftware.ac.uk/projects/tuning-difference
Chris@60 8 * Linux and macOS CI build: [![Build Status](https://travis-ci.org/cannam/tuning-difference.svg?branch=master)](https://travis-ci.org/cannam/tuning-difference)
Chris@68 9 * Windows CI build: [![Build status](https://ci.appveyor.com/api/projects/status/62xidu404phrkw05?svg=true)](https://ci.appveyor.com/project/cannam/tuning-difference)
Chris@60 10
Chris@60 11 This [Vamp plugin](http://vamp-plugins.org/) estimates the tuning
Chris@60 12 frequency ("concert-A") of one or more recordings, by comparing
Chris@60 13 against with a "reference" recording of the same music that has a
Chris@60 14 known tuning frequency. It was designed for the purpose of identifying
Chris@60 15 the tuning frequency of an unknown recording in difficult cases, such
Chris@60 16 as where A is tuned more than a semitone below 440Hz.
Chris@21 17
Chris@58 18 The reference could be another performance made at a known tuning
Chris@58 19 frequency or, for example, an audio rendering from MIDI at A=440Hz.
Chris@21 20
Chris@58 21 For the plugin to establish the tuning frequency correctly, the two
Chris@58 22 recordings must be in the same key. Alternatively, you can use this
Chris@58 23 plugin to estimate the pitch difference between two recordings played
Chris@58 24 in different keys - where the result will consist of the difference
Chris@58 25 attributable to key plus any difference in tuning.
Chris@58 26
Chris@58 27 The plugin expects to receive two or more different recordings of the
Chris@58 28 same piece of music as its channels of input; the first channel will
Chris@58 29 be taken as the reference, and the remaining channels will be
Chris@58 30 individually compared against it. (You can provide this channel layout
Chris@60 31 using the `--multiplex` option in Sonic Annotator, for example.) If
Chris@60 32 you feed it a single piece of music, you won't get anything
Chris@60 33 worthwhile.
Chris@21 34
Chris@60 35 ### Example
Chris@23 36
Chris@60 37 Example usage from the command line using [Sonic
Chris@60 38 Annotator](https://vamp-plugins.org/sonic-annotator/):
Chris@60 39
Chris@60 40 ```
Chris@24 41 $ export VAMP_PATH=. # if running from the build directory
Chris@24 42
Chris@23 43 $ sonic-annotator -m -d vamp:tuning-difference:tuning-difference:tuningfreq PreludeInCMajorBWV846.mp3 BWV846Egarr.mp3 -w csv --csv-stdout --csv-omit-filename
Chris@60 44 ```
Chris@23 45
Chris@23 46 Here the first file is a MIDI rendering using a piano sample at 440Hz,
Chris@23 47 and the second is a harpsichord recording tuned with A=397Hz. After
Chris@23 48 processing, this prints
Chris@23 49
Chris@60 50 ```
Chris@23 51 0.000000000,397.009
Chris@60 52 ```
Chris@23 53
Chris@60 54 ### Author and licence
Chris@23 55
Chris@60 56 Written by Chris Cannam at the Centre for Digital Music, Queen Mary
Chris@60 57 University of London. Copyright 2015-2019 QMUL. Published under the
Chris@60 58 GPL v2, see the file COPYING for details.
Chris@60 59