Классическая ситуация : есть мелодия в WAVе и из нее нужно сделать Midi файл... иногда жизненно необходимо.
Из всех програм которые мне попались одна была мрачна до ужаса, вторая требовала регистрации...
Наверняка кто-то занимался этим до меня...нужен совет (как это лучше сделать, какой програмой)???
Заранее спасибо!!!
имхо проще подобрать, чем потом глюки этих прог исправлять.
Alexandre
28.9.2003, 11:18
Даже и не парься, фуфло это, а не программы.
Только пальчиками подбирать.
Есть хорошая прога: AmazingMIDI.
Качай тут: http://www.pluto.dti.ne.jp/~araki/amazingmidi/
Понятно, что далеко не идеал, но может быть полезна. Еще есть AKoff Composer, но он хуже будет.
Большое спасибо...щас скачаю, разберусь...
Честно говоря сложновато мне подбирать... музыкалку я не оканчивал, сейчас сам пытаюсь все это изучить, но все равно очень много вещей еще непонятных... и слух конечно еще далек от каких-то идеалов...
Программу Amazing MIDI скачал и теперь разбираюсь. Спасибо! Но я привык нотами записывать. Сыграл, запомнил и тупо записал в Cubase миди, потом под это барабаны и бас подвожу и клавишные. А когда это сделал - снова живьем сыграл, wave. Вот такая у меня система. Так же можно и в Cakewalk.
а ктонибудь знает саит где мелодии в wav формате скачать можно для м55
Крутик (реальный)
7.1.2004, 17:29
Эта ваша прога AmazingMIDI - такое же ФУФЛО как и все остальные!
Даже не парься, парень, послушай совета моего!
Выход только один - подбирать, снимать и т.д.
Да нет нормального совта на эту тему. Задачка то похлеще распознавания речи.
На данный момент эта проблема в мире не осуществима. Так что не парьтесь, все равно ничего не выйдет.
Ard Trean
12.1.2004, 20:58
2Maestro пока все так думают она и будет оставаться неосуществимой.
Still
> Да нет нормального совта на эту тему. Задачка то похлеще распознавания речи.
Что-то я не понял и чем же это она похлеще будет?
Существуют преобразования (Wavelets, Fourie Transform), которые позволяют перевести представление сигнала из амплитудно-временного в амплитудно-частотное. При этом можно узнать используя вэйвлеты или оконное преобразование фурье какие частоты существуют (перобладают) в данный момент времени, и какова амплитуда сигнала конкретной частоты. Частоты после фильтрации в ноты перевести труда особого не составит. Зная ноты можно определить и состав аккорда. Если записано несколько партий одновременно, то задача конечно усложняется, но она не является неразрешимой.
Просто видно наверное это никому не надо. Все хочу сам этой проблемой заняться, да времени все не хватает :-( Обычно на слух подбирают...
Так в этом вся и проблема. Поэтому преобразования здесь не помогут. Если МИДИ и играет один инструмент, то здесь еще можно повыеживаться, а если общая гармоника, то ничего не получется.
2 all:
Но ребята у кого-то это получится, при нынешних ресурсах, в чем я лично очень сомневаюсь, то нобилевская премия и всякие другие премии обеспечены.
2 trean:
Шустрый однако. Это ты что ли хочешь эту проблему решить? Ну узнаешь какие преобразования используются, дальше что.
>> Частоты после фильтрации в ноты перевести труда особого не составит.
Ну и как же ты это сделаешь? Не забывай, что МИДИ это не музыка, это команды, а частота в ВАВЕ имеет пределы варьирования. Так как же ты будешь преобразовывать диаппазон частот в одну ноты, я уж не говорю, когда звучит много инструментов. Да на это просто не способен (пока еще) микропроцессор компа.
Или может ты в одиночку хочешь переплюнуть Creative.
Равносильно из света сделать воздух. Совершенно разные вещи. И еще не забывай, что твое преобразование должно уложиться, по времени, в пределах 10 миллисекунд, т.к. это скорость "железа" компа, да и то такую скорость можно развить только под системой реального времени ( например QNX )
Вот так-то батенька.
Я согласен если мидяха была преобразована в ВАВ, а потом требуется обратный процесс. Да и то, даже в такой ситуации над этой проблемой голову сломаешь. Каким бы ты математиком не был. Так что эта проблема если и будет решена, то не в наше время, а в светлом будущем.
Эт все хорошо, если у нас несколько чистых синусоид.
А вот откуда ты узнаешь ноту, если играется например на басу до и на гитаре, только двумя октавами выше?
Гармоник дожуя, от кого какая?
Ard Trean
13.1.2004, 14:09
2Maestro
Разумеется для каждого инструмента, для каждой ноты есть свои уникальные призвуки, обертона. Но можно ведь выбрать доминирующую частоту (частоты, если несколько нот одновременно), та которая имеет большую амплитуду.
> И еще не забывай, что твое >преобразование должно уложиться, по
>времени, в пределах 10 миллисекунд, > >т.к. это скорость "железа" компа, да и > то такую скорость можно развить >только под системой реального времени >( например QNX ).
А зачем преобразовывать в реальном времени?!? Если есть сохранненый wav-файл, а не потоковый сигнал? Можно ведь подождать 10 минут... И QNX не понадобится, хватит и винды.
2Gorath. Если играется одна нота, но на разных октавах, то и частоты будут разные!!!
Вот если одна по высоте нота берется на разных инструментах, тогда конечно труднее, тут надо уже определять пространственное положение инструментов.
Частоты первых гармоник будут разные, зато вот в моем примере 3я гармоника баса совпадет с 1й у гитары.
Вот и думай.
Ard Trean
13.1.2004, 15:34
Есть вариант, что можно сыграть за счет информации о фазе сигнала. IMHO если выбрать основные гармоники, то результат будет вполне нормальным. Т.к. основная задача как я понял определить набор нот в конкретный момент времени, а точнее промежуток (из-за принципа неопределенности), т.е. получить один трэк для всего сигнала. А уж как раскидать их по инструментам это уже надо ушами самому слушать. Соляк я думаю выщемить можно =). Мне попадались проги, которые вполне адекватно распознавали аккорды и мелодии для отдельных композиций, но из-за принципа который они использовали в своем алгоритме, область их применения и качества распознования зависела от многих факторов. Они использовали преобразование FFT пригодное лишь для обработки стационарных (постоянный частотный состав на исследуемом промежутке времени) сигналов и имели плохое частотно/временное разрешение. То есть либо хорошо определяли частоту, но плохо момент времени, когда она звучит, либо хорошо локализовали момент времени, но частота становилась неопределеннее. Так что такого рода прогам есть куда улучшаться. Распознование речи тоже считалось когда-то неразрешимой, но сейчас положение в этой области улучшается с каждым годом. А задачка то ведь тоже не тривиальная. Там "неосновные" частоты имеют ооочень большое значение.
Maestro-
13.1.2004, 17:35
2trean:
>> Распознование речи тоже считалось когда-то неразрешимой.
Дк ведь и речь-то это не музыка. Здесь малейшее колибание амплитуды ох как важно.
Насчет QNX, тут вот в чем дело:
Мат. модель так или иначе получится грамоздкая. Чтобы осуществить это преобразование на персоналке нужно очень много ресурсов. Ты не разу не проверял во время прослушивания мидяхи на сколько загружен процессор? Загрузка составляет 100% или граничет с этим. Это связано с тем, что проц анализирует команды и воспроизводит их в звук. Так вот эта загрузка связана именно с анилизом. Теперь дальше...: при загрузке ВАВ считай часть ресурсов будет уходить на то, чтобы прогнать ВАВ через якобы разработанное преобразование, что в свою очередь сожрет ресурсов не меньше чем при МИДИ-воспроизведении. Представь, что будет с процем, потому что основной поток преобразевания будет обрабатываться не звукахой, а процем. Да тут еще винда ресурсов жрет немерено. А все преобразование уже в поток заряжено, то есть регистр проца CS заряжен по полной программе. Так представь какой поток на очериде на конвеере проца. Винда работает по ринципу карусели, т.е. процессы обрабатываются по очериде. В винде нельзя поставить процессу высший приоритет можно лишь рил-тайм, но это не настоящий рил-тайм и винда отведет процессу обработки чуть больше ресурсов, чем остальным приложениям.
В QNX это чуть проще и всего-то, проблема остается. Я просто говорю, что если даже ты и сделаешь мат. аппарат, в чем я очень сомневаюсь, то комп(персоналка разумеется) все равно его не потянет.
А на счет сигнала Gorath прав. Амплитуду отследить практически невозможно (музыку разумеется). Представь: интеграл представить на листе (просто написать). Ведь это только можно понять, что вся сумма от a до b. Но вот так 1+2+3+4... - это неправильно, ведь, не мне говорить, есть бесконечное множество чисел между 1 и 2. ( Это к примеру )
А ты хочешь массив одной нотой представить. Ведь не в сказке мы.
FFT или вейвлет на данном этапе роли не сыграет. Нужно еще с мат. моделью разобраться, а только потом думать FFT или вейвлет лучше. Общий вид, хотя бы нужон.
Maestro-
13.1.2004, 17:40
Не переоценивайте возможности компа. Он может многое, но далеко не все. Я верю, что эта проблема когда-нибудь решится, но мы этого вряд ли увидем.
~Пожалуйста~ Напишите сайт где можно скачать WAV(голосовые мел.) НА M55
Maxx Claster
26.5.2004, 7:52
2Trean
Вижу брата по разуму... Занимаешся софтом? Что делал, как успехи? Я тоже раньше парился над выделением частоты основного тона но бросил... Щас хочу сделать физическую модель фоно и кое-чего добился.... Но пока что диплом надо спихнуть а потом релизить FM synth (eJ называется)....
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.