Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Создание MIDI из MP3  (Прочитано 11264 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Sands
Помогающий

ua
Offline Offline

« : 21-09-2006 15:12 » 

Доброго всем времени суток!
Суть вопроса состоит в следующем: как можно имея на руках файл в формате MP3 получить из него MIDI за небольшое время, или что тоже допустимо УХУДШИТЬ в реальном времени качество звучания MP3, чтоб он звучал как миди. Если кто с таким сталкивался - буду благодарен за помощь.
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 21-09-2006 15:27 » 

Sands, ухудшить и как MIDI - это разные вещи. Автоматом точно ничего не будет - это ручной труд.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Sands
Помогающий

ua
Offline Offline

« Ответ #2 : 21-09-2006 15:50 » 

Часть первая (относительно MIDI)
Я понимаю, что труд ручной, просто насколько я знаю то формат MP3 не есть открытым, посему я даже в потерях каким образом перевести его в MIDI.
Часть вторая (относительно ухудшения качества)
Просто прошла идея что можно просто "сэмулировать" звучание миди-хи путем ухудшения качества MP3, ну к примеру разложить сигнал по Фурье, и поменять ему несущие частоты. Вот и стоит вопрос как из MP3 ети частоты изьять
Записан
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #3 : 21-09-2006 15:58 » 

В самом общем случае - никак. Это два принципиально разных формата. MIDI это просто говоря нотная запись. Те известны частота и время звучания сигнала. Mp3 - алгоритм сжатия оцифрованного звукового сигнала. Аналоговый звуковой сигнал в свою очередь представляет собой очень сложные колебания. Можно попытаться разложить их на простые составляющие, например с помощью быстрого преобразования Фурье, но никто не гарантирует, что удастся восстановить нотную запись, да ещё для каждой партии. Известные мне программы дают, скажем так, неплохой результат для "одноголосых" композиций. Со сложными смешанными сигналами ни одна не справляется.
Ну а "ухудшить" всегда можно - уменьшай частоту дискритизации и битрейт.
Только оно надо?
Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
Alf
Гость
« Ответ #4 : 21-09-2006 21:14 » 

Доброго всем времени суток!
Суть вопроса состоит в следующем: как можно имея на руках файл в формате MP3 получить из него MIDI за небольшое время,

За небольшое - никак. Это задача примерно такого же плана, как по сообщениям на экране восстановить исходный код программы, которая их выводит.

За большое - сесть за миди-клавиатуру и сыграть все ручками. Или нарисовать нотами при помощи мышки, но это уж вариант для совсем трудолюбивых.

или что тоже допустимо УХУДШИТЬ в реальном времени качество звучания MP3, чтоб он звучал как миди.

Сама постановка задачи в корне неправильна. Мнение, что MIDI - испорченный вариант MP3, совершенно ошибочно.

Как справедливо заметил Джон, MIDI можно упрощенно считать форматом представления нотной записи. Этот формат понимают специальные программы - секвенсоры, которые в состоянии исполнить произведение по нотам. А тут уж немало зависит от инструмента, на котором будет исполнено произведение. Если самую волшебную музыку сыграть на раздолбанном расстроенном пианино с западающими клавишами, ничего особенно хорошего не выйдет. А вот если музыкант мирового уровня сядет за концертный рояль с теми же нотами, результат будет совершенно иным.

Так что один и тот же MIDI-файл будет звучать совершенно по-разному на интегрированной звуковой плате с кодеком AC97 ценою в доллар и на серьезном синтезаторе, причем различие на слух будет еще сильнее, чем между музыкальным комплексом Hi-End и штампованной китайской магнитолой. Например, я в своей маленькой домашней студии использую звуковую плату X-Fi Platinum, в которую подгружено этак с полгигабайта сэмплов лучших инструментов. Так что благодаря MIDI я могу использовать в своих записях звуки бас-гитары и барабанов, которые вряд ли в реале по карману какой-либо из местных групп. Недавно один приятель, тоже любитель музыки, заходил кое-что послушать. Заинтересовался, где это я записал такие барабаны. Не верил, что это MIDI, пока я при нем не изобразил то же самое живьем. А вы говорите - испортить MP3 до качества MIDI. Улыбаюсь

Кстати, эта тема уже поднималась ранее: https://forum.shelek.ru/index.php/topic,5156.0.html
Там в конце есть интересные ссылки, рекомендую поглядеть.

Резюме: поганый MP3 отнюдь не превращается в MIDI. Что уже и было сказано другими ранее.
Записан
Sands
Помогающий

ua
Offline Offline

« Ответ #5 : 22-09-2006 12:03 » 

Alf, спасибо за исчерпывающий ответ относительно MIDI ибо если чесно, я считал что ето формат для "простенькой" музычки.
Относительно вопроса, дабы не вызывать прений по поводу самих форматов, конкретизирую вопрос: допустим мы имеем у себя музыку в формате MP3 в нормальном качестве и есть у нас моб. телефон, который не знает MP3 как такового а знает MIDI ну и соответственно динамик у него сродни самых простых "пищалок". Как мы можем прослушать на компе наш MP3-файл так как его отыграл бы мобильник?
Записан
Alf
Гость
« Ответ #6 : 22-09-2006 12:18 » 

Пищалки на мобильниках, как правило, представляют собой примитивные миниатюрные динамики с небольшой площадью мембраны. Обычно у них: 1) весьма ограниченный частотный диапазон; 2) одна или несколько ярко выраженных резонансных частот.

Поэтому рекомендую оставить частоту дискретизации в покое, а попробовать поэкспериментировать с полосовыми фильтрами. Начать с классической телефонной полосы - от 300 до 3400 герц и поварьировать частоты среза. Можно также добавить резонанс где-то в районе герц 500 и подвигать его центральную частоту и амплитуду. Думаю, результат будет гораздо более похож на "мобильное" звучание, чем бессистемное ухудшение качества.
Записан
Sands
Помогающий

ua
Offline Offline

« Ответ #7 : 22-09-2006 12:27 » 

Спасибо, теперь главная задача - расковырять формат MP3, ато заголовки его найти можно, а вот представление самой аудиоинформации, мне нигде не встречалось. А моделировать мобилку-то надо руцями. Кстати попутно вопрос - никто нигде часом не встречался с описанием представления данных в MP3-хах? Или более широкий квест - кто какие варианты добычи частот из MP3 может предложить?
Записан
Alf
Гость
« Ответ #8 : 22-09-2006 12:36 » 

Частоты из МР3 так в явном виде не достанешь. Он хранит не спектр, а хорошо сжатую "осциллограмму".

А это непременное условие - обрабатывать сигнал собственным приложением? Нельзя ли использовать что-нибудь достаточно заточенное под такую работу, вроде CoolEdit'а, который и MP3 читать умеет, и спектр определять, и фильтры накладывать, и еще уйму всякого?
« Последнее редактирование: 17-12-2007 16:40 от Алексей1153++ » Записан
Sands
Помогающий

ua
Offline Offline

« Ответ #9 : 22-09-2006 12:41 » 

Если я понял задачу правильно то сигнал надо обрабатывать руками ибо предполагается работа данной фичи не только "у себя дома" но и на компютерах других пользователей, которые могут иметь свою фонотеку и хотеть проверить как оно будет звучать на мобиле
Записан
Alf
Гость
« Ответ #10 : 22-09-2006 12:55 » 

Кстати, если видел, сейчас в онлайне продается немало рингтонов, рекламируются по телевизору и в печатных изданиях. Так вот, обрати внимание, что для разных моделей телефонов обычно разные коды заказа. Это неспроста, потому что секвенсоры на мобилах имеют довольно ограниченные возможности: небольшое число голосов, бедный выбор инструментов и спецэффектов, а также встречаются нестандартные раскладки инструментов.

Если даже один MIDI будет по-разному звучать на разных телефонах, то достоверно имитировать на произвольном телефоне звучание МР3, который мог бы быть проигран этим телефоном, и вовсе нереально.

Кстати, какая достоверность имитации требуется от программы? И что потом происходит, если пользователю нравится звучание, и он хочет действительно загрузить такой MIDI в свой телефон?
Записан
Sands
Помогающий

ua
Offline Offline

« Ответ #11 : 22-09-2006 13:07 » new

Достоверность - "на слух" Улыбаюсь ну тоесть понятно, что математических критериев типа нормы близости никто не выдвигает, но похоже быть должно ибо только глухой не знает как звучит музыка на мобилах.
Относительно "потом": потом пользователю предлагается произвести заказ соответствующей мелодии - куда ж без этого.
А относительно твоего замечания про разные звучания на разных мобилках - полностью с тобой согласен, что предусмотреть всего и вся невозможно да и муторно. Но задача как таковая лично для меня интересна как возможность поприменять теорию на практике(ну в смысле разработать алгоритм, поковырятся со всем этим добром ручками) дабы приобрести самое ценное - опыт.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines