Что такое ваон

Что такое ваон

У меня есть идея для программы, которую я хочу написать, но для нее требуется способ преобразования музыкального звука (в первом приближении — одной гитары) в ноты (например, OCR/распознавание речи для музыки).

Google нашелIntelliScore, но хотя он и обещает большую мощность, чем мне нужно (несколько инструментов), он является проприетарным, а я ищу что-то бесплатное и совместимое с GPL.

Существуют ли какие-либо бесплатные/GPL-программы или библиотеки, которые могут это сделать?

решение1

ЕстьЗаметьте. Он может обнаруживать заметки и транскрибировать их на экране. Это GPL, поэтому вы должны иметь возможность извлекать и адаптировать процедуры обнаружения/конвертации.

введите описание изображения здесь

Еще один вариант -комплект для записи музыкикоторый:

Это набор инструментов для транскрибирования музыкального аудиофайла в обычную музыкальную нотацию. Это делается путем ручного аннотирования спектрограммы или чего-то подобного и преобразования ее в файл MIDI и в файл музыкальной нотации abc.

Запатентованная программа Transcribe! имеетобширный списокдругих инструментов для транскрипции музыки, включая некоторые с открытым исходным кодом. Вы также можете проверитьSourceForgeдля других программ транскрипции музыки с открытым исходным кодом.

решение2

Google рекомендует waon.

Первоначально наhttp://waon.sourceforge.net/Я скомпилировал его на Xubuntu 18.04, включая графический интерфейс на основе gtk.

Что такое ваон

WaoN — это транскрибатор Wave-to-Notes, то есть обратная сторона timidity Туукки Тойвонена (и его потомков timidity++). (...) Мое первоначальное намерение — подобрать звучание гармонии из звучания моих любимых пианистов. (...)

В настоящее время WaoN содержит три программы:

waon: transcriber (wav-to-mid converter)
pv: phase vocoder for time-streching and pitch-shifting
gwaon: GUI for waon and pv

WaoN распространяется под лицензией GNU General Public License.

Где найти исходный код

CVS устарел, а sourceforge постепенно сворачивается. Я преобразовал историю CVS в git и переразместил ее наhttps://github.com/fidergo-stephane-gourichon/waon.

Есть варианты?

Ниже приведен краткий обзор опций, предоставляемых исполняемым файлом.

 ./waon --help

WaoN - a Wave-to-Notes transcriber, Version 0.10

Copyright (C) 1998-2007 Kengo Ichiki <[email protected]>
Web: http://waon.sourceforge.net/

WaoN is a Wave-to-Notes transcriber,
that is, a converter from sound file to midi file.

Usage: ./waon [option ...]

Options:
  -h --help print this help.
  -v, --version print version information.
OPTIONS FOR FILES
  -i --input    input wav file (default: stdin)
  -o --output   output mid file (default: 'output.mid')
    options -i and -o have argument '-' as stdin/stdout
  -p --patch    patch file (default: no patch)
FFT OPTIONS
  -n        sampling number from WAV in 1 step (default: 2048)
  -w --window   0 no window
        1 parzen window
        2 welch window
        3 hanning window (default)
        4 hamming window
        5 blackman window
        6 steeper 30-dB/octave rolloff window
READING WAV OPTIONS
  -s --shift    shift number from WAV in 1 step
        (default: 1/4 of the value in -n option)
PHASE-VOCODER OPTIONS
  -nophase  don't use phase diff to improve freq estimation.
        (default: use the correction)
NOTE SELECTION OPTIONS
  -c --cutoff   log10 of cut-off ratio to scale velocity of note
        (default: -5.0)
  -r --relative log10 of cut-off ratio relative to the average.
        (default: no relative cutoff
        = absolute cutoff with the value in -c option)
  -k --peak peak threshold for note-on, which ranges [0,127]
        (default: 128 = no peak-search = search only first on-event)
  -t --top  top note [midi #] (default: 103 = G7)
  -b --bottom   bottom note [midi #] (default: 28 = E1)
    Here middle C (261 Hz) = C4 = midi 60. Midi # ranges [0,127].
  -a --adjust   adjust-pitch param, which is suggested by WaoN after analysis.
        unit is half-note, that is, +1 is half-note up,
        and -0.5 is quater-note down. (default: 0)
DRUM-REMOVAL OPTIONS
  -psub-n   number of averaging bins in one side.
        that is, for n, (i-n,...,i,...,i+n) are averaged
        (default: 0)
  -psub-f   factor to the average, where the power is modified as
        p[i] = (sqrt(p[i]) - f * sqrt(ave[i]))^2
        (default: 0.0)
OCTAVE-REMOVAL OPTIONS
  -oct  factor to the octave removal, where the power is modified as
        p[i] = (sqrt(p[i]) - f * sqrt(oct[i]))^2
        (default: 0.0)

решение3

Я не могу предоставить вам программное решение, но могу решить основную проблему: это распознавание "естественных" тонов в произвольном источнике. Недостающий элемент в головоломке - это эффективное использование фазовой части спектрограммы дляпереназначитьчастоты в спектре в их более естественные положения («мгновенные частоты» в спектре). Результатом является большая концентрация спектра на линиях чирпа. Аналогичное соображение применимо и к скалограммам, которые отличаются от спектрограмм тем, что они находятся в логарифмической шкале частоты, а не в линейной.

Насколько мне известно, пакет Loris предоставляет набор процедур, в том числе для оценки мгновенных частот.

Поскольку вы пишете собственное программное обеспечение, вы можете попытаться напрямую реализовать методы переназначения либо для спектрограмм, либо для скалограмм и использовать это в качестве промежуточного шага в вашем анализе. Одной из возможностей может быть эксперимент с формулами, которые я привожу в части описания этого демонстрационного видео. Существует метод, настроенный специально для скалограмм на основе вейвлетов, называемый «synchrosqueezing», который выполняет скалярный аналог переназначения.

Формулы, которые я перечисляю, намного проще и выполняют аналогичный анализ более непосредственно и имеют дополнительное преимущество в том, что отдельные компоненты в скалограмме также являются добросовестными звуковыми компонентами (поскольку фаза тоже присутствует), так что общий звук фактически будет суммой составляющих звуков. Другими словами, «обратное» преобразование (от скалограммы к звуку) — это простое сложение.

https://www.youtube.com/watch?v=OugT7uGGtNg

Связанный контент