ПРОГРАММА РАСПОЗНАВАНИЯ МУЗЫКИ (WAV->MID) (версия 2.0) Содержание: 1.ВВЕДЕНИЕ 2.ВОЗМОЖНОСТИ 3.ОПИСАНИЕ 4.WINDOWS GUI версия (wrecogn.exe) 4.1.ТРЕБОВАНИЯ К СИСТЕМЕ 4.2.СПОСОБ ПРИМЕНЕНИЯ 5.DOS и Console версии (recogn.exe и recogn32.exe) 5.1.ТРЕБОВАНИЯ К СИСТЕМЕ 5.2.СПОСОБ ПРИМЕНЕНИЯ 6.ПАРАМЕТРЫ РАБОТЫ 7.ЛИЦЕНЗИЯ 8.РАЗНОЕ Copyright Music Recognition Team, 1998 _____________________________________________________________________________ 1.ВВЕДЕНИЕ Программа пытается преобразовать WAV файл с музыкальным фрагментом в MID файл, содержащий ноты. Для этого используется довольно сложный и трудоемкий алгоритм распознавания нот. Построение алгоритмов такого типа является очень сложной задачей, поэтому Программа пока работает довольно несовершенно. 2.ВОЗМОЖНОСТИ Программа позволяет получить из WAV файла 10-трековый MID файл с разделением треков по громкости. Инструменты не разделяются, все ноты считаются сыгранными фортепиано. При этом есть возможность отсекать короткие ноты. Размер WAV файла не ограничен (см. настройки работы). Не поддерживается компрессия WAV. 3.ОПИСАНИЕ На вход программа получает WAV-файл, содержащий запись музыкального произведения. Вы можете записать его с микрофона, внешнего источника или CD стандартными средствами WINDOWS или при помощи WAV редактора. После этого вы задаете параметры и настройки, запускаете счет и получаете MID файл. MID файл можно проиграть при помощи Media Player, ноты можно посмотреть, загрузив его в MIDI редактор, там же ноты можно распечатать на принтере. Поставляется 3 версии: DOS (recogn.exe)- работает и под чистым DOS, и под Windows (и иногда быстрее). WIN Console (recogn32.exe) - работает под Win95/98/NT. Эти версии идентичны по способу применения, управляются из командной строки, параметры читаются из INI файла. Только эти версии поддерживают режим дискового буфера, позволяющий обрабатывать очень большие WAV на компьютерах с малым обьемом памяти (см. настройку usedisk). Они также могут быть использованы в BAT файлах, но в них отсутствует возможность спектральной коррекции. Предпочтительнее для опытных пользователей для пакетной обработки с одинаковыми параметрами. Они также позволяют создавать промежуточные файлы (.GS) , которые можно быстро обработать с другим параметром noteduration (см. Параметры) или возможно следующими версиями программы. WIN GUI (wrecogn.exe) - работает под Win95/98/NT. Имеет понятный интерфейс и возможность спектральной коррекции, не поддерживает INI файл и дисковый буфер. Проста в применении, позволяет легко менять параметры и смотреть что получилось. MIDI и WAV редакторы представляют собой самостоятельные пакеты и с программой не поставляются. _____________________________________________________________________________ 4.WINDOWS GUI версия (wrecogn.exe) 4.1.ТРЕБОВАНИЯ К СИСТЕМЕ Процессор: 386 (Работать будет, но очень долго) Память (Virtual): 1MB + 60kB/секунду WAV при параметрах по умолчанию; Реально 16Mb Physical достаточно для не очень длинных композиций Винчестер: очень мало Система : Win95,Win98,NT 4.2.СПОСОБ ПРИМЕНЕНИЯ Необходимо запустить wrecogn.exe (можно сделать Shortcut на Desktop при помощи правой кнопки мыши, см. Help по Windows). Кнопки на экране: Source File ... Browse - выбор исходного WAV файла Target File ... Browse - выбор имени получаемого MID файла GO! - запуск обработки Exit - выход Show Equalizer - показать редактор спектра. Редактор спектра - это возможность определить, ноты какой высоты попадут в MID файл. Нажмите кнопку мыши на одном из 84 столбиков - вы увидите в титульной строке имя ноты и число процентов. Если столбик весь красный (100%), то ноты этой высоты не будут ослаблены. Если он весь серый (0%), то ноты этой высоты не попадут в MID файл. Промежуточное значение - все ноты этой высоты будут тише (n% от нормальной громкости), а более тихие вообще не попадут в MID файл. Параметры работы (см. 6.Параметры): Time Tick - квант времени Minimal Note duration - минимальная длина ноты. Вы выбираете исходный WAV файл, если надо корректируете имя MID файла, при необходимости выставляете параметры и редактор спектра, и нажимаете кнопку GO!. Если при этом все пройдет без ошибок и вы не получите MID файла, то свяжитесь с нами (см. Контакты). Время счета на медленных компьютерах может быть весьма велико. Для того, чтобы быстро посмотреть исходный WAV и получившийся MID, можно использовать правую кнопку мыши в диалогах Browse. ____________________________________________________________________________ 5.DOS и Console версии (recogn.exe и recogn32.exe) 5.1.ТРЕБОВАНИЯ К СИСТЕМЕ Процессор: 386 (Работать будет, но очень долго) Память (Physical для DOS, Virtual для Console): 2Mb в режиме usedisk (см. Параметры), 1MB + 60kB/секунду WAV при параметрах по умолчанию без usedisk; Винчестер: очень мало (если не создавать GS файлов) без usedisk; около 60kB на одну секунду WAV при параметрах по умолчанию и с usedisk. Система : Dos,Win3.xx,Win95,Win98,NT для DOS версии, Win95,Win98,NT для Console версии 5.2.СПОСОБ ПРИМЕНЕНИЯ Программа управляется из командной строки, в простейшем случае это выглядит как recogn <имя файла>, например recogn mywav.wav (или соответственно recogn32 mywav.wav) При этом создастся MID файл с именем mywav.mid в текущей директории. Способ запуска более подробно: recogn.exe [необязательный_параметр] <имя_файла> recogn32.exe [необязательный_параметр] <имя_файла> Параметры: r - выдать GS файл после работы ( GS файл используется для хранения промежуточных результатов, его можно быстро обработать с другим параметром minduration или возможно следующей версией программы) w - обработать вместо WAV файла GS файл (предварительно созданный командой w). Результат работы - файл <имя_файла>.mid Во время работы каждая обработанная секунда WAV отображается знаком + на экране. Параметры задаются в INI файле, который должен быть в текущей директории. При отсутствии INI файла выдается предупреждение и вычисления производятся с параметрами по умолчанию. Описание параметров см. 6.Параметры . ____________________________________________________________________________ 6.ПАРАМЕТРЫ РАБОТЫ Time Tick (timetick в INI файле) - квант времени в миллисекундах. Все времена являются кратными этого параметра, т.е. если он задан как 500 (=1/2секунды), то в MID файле будут ноты с длительностями только 1/2, 1, 3/2, 2 ... секунды, и смена нот при игре будет происходить раз в полсекунды. Разумные значения этого параметра - около 10-50 миллисекунд. При его уменьшении возрастает точность определения момента начала и конца нот, но при этом сильно растет обьем памяти для хранения промежуточных результатов и время вычислений, так что по умолчанию было выбрано 20мс. Minimal note duration (minduration в INI файле) - минимальная длина ноты (измеренная в Time Tick). Если длина ноты короче чем минимальная, то эта нота не попадает в результирующий MID файл. Если параметр Time Tick равен 15, а Minimal Duration равен 3, то в MID файл попадут ноты не короче чем 3*15=45 миллисекунд. Этот параметр не влияет на качество распознавания времени начала и конца нот и не требует дополнительного времени. Позволяет вырезать короткие подголоски из MID файла. Не забывайте корректировать его при изменении параметра Time Tick для получения той же минимальной длительности нот. usedisk (только в INI файле) - позволяет использовать для буфера дисковое пространство вместо оперативной памяти. При использовании на компьютерах с небольшим объемом памяти работает быстрее чем Swap File. При работе под DOS предоставляет единственную возможность обработки больших файлов. usedisk=1 - использовать disk, usedisk=0 - использовать оперативную память. При установленном usedisk объем оперативной памяти, занятый программой, не зависит от длины WAV файла (кроме коротких WAV файлов). _____________________________________________________________________________ 7.ЛИЦЕНЗИЯ Данная версия распространяется свободно. Мы не несем ответственности за возможную порчу чего бы то ни было, связанную с работой данной Программы (хотя не прогнозируем таких возможностей). Все авторские права на эту Программу принадлежат Music Recognition Team, вы не можете продавать Программу либо распространять ее в модифицированном виде. Вы можете распространять эту Программу с сохранением документации. 8.РАЗНОЕ Просим писать нам об ошибках в программе и ваших идеях по поводу усовершенствования программы. Если захотите участвовать в проекте, пишите тоже. Проект открытый для участия в нем кого бы то ни было. Ссылка на новую версию программы пока лежит на www.chat.ru/~andreenk Мы планируем обновление программы не реже чем раз в 3 недели, поэтому заходите к нам на страничку. Music Recognition Team andreenk@lord.phys.msu.su andreenk@chat.ru www.chat.ru/~andreenk 29.11.98 ____________________________________________________________________________