?

Log in

No account? Create an account

Previous Entry | Next Entry

Дорическое


Major Scaled #1 : Metallica - "Nothing Else Majeur" from major scaled on Vimeo.

Там еще 3 есть: Джанго, Дорз и R.E.M. Минорный лад сменен мажорным. Есть у кого-нибудь идеи, как такое может быть сделано (имея в виду математику преобразования, конечно)? Дискретную обработку сигналов вообще я понимаю.

Tags:

Comments

( 24 comments — Leave a comment )
sempire
Jan. 24th, 2013 09:10 am (UTC)
Подобрали похожие инструменты, голос, записали сами.

В Guitar Hero, в ранних частях, когда не было денег на лицензии на оригинальные записи, они сами записывали каверы, некоторые совсем очень сильно похожи.
ushastyi
Jan. 24th, 2013 09:19 am (UTC)
Тоже думаю, что в данном случае -- это не автоматом. Слышно, что это не Металлика. Я помню эту композицию :)

В общем случае задача интересная, хотя и практически бесполезная.
fregimus
Jan. 24th, 2013 09:35 am (UTC)
Перепели Моррисона, переиграли Джанго. Нет, это какой-то безумный и дорогой проект загадочных музыкантов-виртуозов, почему-то пожелавших остаться неизвестными. Я не говорю, что это невозможно, и богачи шизофренией страдают — просто это слишком уж маловероятно.

Посмотрите комментарий ниже — там коммерческая программа, которой подобные вещи делают.
palm_mute
Jan. 24th, 2013 09:38 am (UTC)
Есть и такие, кто переигрывает, но у них заметно отличается звук и скорость выхода каверов пониже: http://www.youtube.com/watch?v=OBmM79YadYM
ushastyi
Jan. 24th, 2013 09:47 am (UTC)
Я немного понимаю в музыке, и мне кажется, что это невозможно. В общем случае по ноте или последовательности нот нельзя определить, куда ее нужно смоделировать при смене лада. Это очень зависит от мелодии. Более того, я не уверен, что даже тональность можно однозначно определить автоматически. Кроме того, тональности меняются.

Единственный вариант, который мне кажется возможным, это сильно ручной режим. Сначал "распознать" разные музыкальные партии, после этого вручную промодулировать по нотам, проигрывая это и слушая, а потом уже изменить исходный музыкальный сигнал в соответствии с новой мелодией. Идеально, если есть разложенная по инструментам партия (то есть многоканальный мастер), чтобы не пришлось "вырезать" разные инструменты и их партии.

Но куда более правдоподобным мне кажется вариант другой. Сампы для всех инструментов есть. Сэпмлы для голоса сделать тоже не трудно. Ноты партий есть. Компьютерный вариант после этого делается лего. А потом уже -- меняй, как хочешь.
fregimus
Jan. 24th, 2013 07:34 pm (UTC)
Сэмплы голоса сделать трудно — так же трудно, как распознать pitch в полифонической записи, если только не иметь доступа к оригинальному мультиреку. Для 4 разных обработанных клипов, к тому же выложенных без всяких упоминаний прав и всего прочего, на чем студии помешаны, это не кажется возможным.

Задача полифонического распознавания мне казалась всегда нерешаемой (цифровой обработкой музыки я занимался профессионально). В то время — а это только начало «DAW-революции», 2000 г. примерно, только появлялись гармонизаторы для вокала. У меня есть такой ящик, который с гитары выдает MIDI в реальном времени — но он тоже фактически монофонический многоканальный, на гитару ставится специальный датчик с катушкой на струну.

Я не говорю, будто это какая-то программа с одной кнопкой «перевести в другую тональность» — безусловно, это ручная работа. И все-таки, если видео на сайте Celemony не врет, кто-то умудрился эту проблему все-таки разрешить достаточно надежно для практического применения.

http://fregimus.livejournal.com/208009.html?thread=5907081#t5907081 -- артефакт на глиссандо слышно.
ushastyi
Jan. 24th, 2013 07:45 pm (UTC)
Мне кажется, что сэмплы голоса сделать не трудно, если есть оригинальные примеры. Вернее, не совсем сэмплы, но возможность голос одного человека преобразовывать в голос другого. То есть поет кто-то другой, стараясь подражать интонациям, а тембр голоса изменяется компьютером по образцу.

Полифоническое распознавание штука сложная. Но тут не симфонический оркестр, так что почему бы не. Не знаю.

В общем, дело темное. Интересно, а спросить тех, кто выложил клипы, можно?
ushastyi
Jan. 25th, 2013 11:52 am (UTC)
Немного еще подумал на досуге.

Мажор от минора отличается в трех ладах. То есть зная тональность, надо промодулировать на полтона три ноты (в любой октаве, и обертоны, если есть). Казалось бы, ничего сложного. Задаем на входе тонику, для нее известны все частоты (диапазоны), которые надо изменить. Осталось выделить их из общей звуковой картины. Если бы это была фортепьянная музыка, то почти тривиально. Но проблема в глиссандо. На гитаре и вокале. Глиссандо надо выделять в сигнале и изменять отдельно. Но в целом, это уже мне не кажется настолько невозможным, как по началу.
fregimus
Jan. 25th, 2013 06:12 pm (UTC)
В глиссандо там как раз дефекты.
erofeich
Jan. 26th, 2013 10:52 am (UTC)
мне тут пришла идея
а почему обязательно нужно работать с окончательным звуком как с данностью?
можно взять миди, синхронизировать с оригиналом, отработать все преобразования вручную, пусть и некоторым образом автоматизированно - это достаточно легко когда знаешь музыкальную теорию и основы программирования
потом финализировать обе миди-записи с той же частотой дискретизации, посчитать разницу на каждый шаг и применить то же преобразование к оригиналу
это решение в лоб - оно скучное и использует скудный матаппарат, но я думаю что работать будет вполне эффективно
с голосом та же петрушка
безуловно будут артефакты, ну так и этот пример не без них
и на голосе, кстати, их более всего слышно
вообще все глиссандо и вибрато во всех их разновидностях - прием применяемый в основном для имитации инструментом звука человеческого голоса(в большинстве случае) и других звуков
например, губной гармошкой первым делом стали имитировать паровоз

Edited at 2013-01-26 10:57 am (UTC)
kovelani
Jan. 26th, 2013 03:19 pm (UTC)
С обертонами всё не так просто. Например мы имеем в миноре ноту G которую в мажоре необходимо заменить на G#. Но например у ноты C второй обертон также будет G (если пренебречь темперацией), а так как нота C при переходе от минора к мажору не меняется, то и все её обертоны обязаны остаться на месте. Возникает сложность различения тех G которые надо повышать от тех, которые не надо.
palm_mute
Jan. 24th, 2013 09:28 am (UTC)
не скажу ничего о математике преобразования, но где-то видел, что использовался http://www.celemony.com/cms/index.php?id=products_editor
fregimus
Jan. 24th, 2013 09:31 am (UTC)
Ого! Теперь только разобраться, как это делается. Пожалуй, надо стоит скачать trial и побаловаться!
ilia_yasny
Jan. 24th, 2013 09:46 am (UTC)
Мажор только в основной тональности, все остальное так в миноре и осталось, неаккуратно.
kovelani
Jan. 24th, 2013 04:17 pm (UTC)
Тональность на протяжении всей песни не меняется. Ми-минор основная и единственная тональность, других тут и нету.
kovelani
Jan. 24th, 2013 04:12 pm (UTC)
Оригинальную запись обработать так, чтобы из минора получить мажор не реально. Ни в ручную, ни с помощью техники. Мне думается, что весь инструментал записали заново, а голос где-то надыбали отдельной дорожкой и отредактировали вручную - это не сложно. Не знаю на счёт Металлики, но например Дрим Театр выпускали какой-то альбом отдельными треками - специально для фанов. Хотя не исключаю, что и вокал переписали, но тембр Хэтфилда очень узнаваем.
fregimus
Jan. 24th, 2013 07:24 pm (UTC)
Явный артефакт примерно в 0:57. На исходном видео, между целым тактом Em и сразу перед вступлением вокала, глиссандо вниз на второй гитаре: http://youtu.be/Tj75Arhq5ho?t=49s -- послушайте, что с ним сделалось в обработанном клипе. Оно в середине вдруг подпрыгивает (на тон примерно).

Edited at 2013-01-24 07:39 pm (UTC)
kovelani
Jan. 25th, 2013 12:00 pm (UTC)
Скачок интересный, и вправду больше похож на артефакт, чем на умышленно записанный. Только одно уточнение - глисандо там 2: терция соль - си на первую долю (в левом канале), и вторая, кажется, тоже терция соль - си-бемоль на четвёртую долю (в правом канале).
В мажоре первая терция логично подправлена на соль-диез - си (также слева), а на месте второй какая-то непонятная нота, похожая на мой слух на недотянутую си-диез, причём уже отпанорамированная по центру.

Edited at 2013-01-25 12:01 pm (UTC)
fregimus
Jan. 25th, 2013 06:25 pm (UTC)
А, вон откуда там (в оригинале) такой эффект немного диссонантного, пространственного (spacey) звука в этом глиссандо — там два раза записано, да еще со стереоэффектом. Я-то пока эти клипы только на лаптопе слушал, это примерно как “Весна-306”.

Металлика как раз этими слоистыми наложениями знаменита, говорят. Кажется, в Lightning и Master эффект очень плотной «стены звука» ритм-гитары получен наложением 30 takes, ежели моим учителям на звукорежиссерских курсах для чайников верить.
raiv_ixx
Jan. 25th, 2013 01:46 am (UTC)
Ну вообще - фурье, потом сдвиг частот, потом обратно фурье... ) Я бы так делал. Математика там не сверхсложная вроде, если на длину не заморачиваться. Полутона потеряются местами... Но в целом в задаче "выделить частоту, посчитать громкость и полученную картину применить к другой частоте" - не вижу ничего сверхъестественного, если обработка не идет на лету.
Матрица м на н, где м - частоты, а н - нарезка по времени. Тут кстати судя по не очень высокому качеству звука и точек было не так много... А дальше руками передвигать строки в матрице) Я думаю, что если выкинуть шумы мы получим пару десятков разных частот, не больше...

Ну и металлический звук отчасти намекает на потери от прямого - обратного фурье.

Edited at 2013-01-25 01:55 am (UTC)
fregimus
Jan. 25th, 2013 05:24 am (UTC)
Это не работает на практике, потому что музыкальный сигнал существенно нестационарный, а преобразование в частотный домен теряет некоторую часть временно́й информации. «Некоторая» часть оказывается слишком большой — именно это означает, что он нестационарный существенно. Иными словами, если надо получить высокое разрешение по частоте, это автоматически означает длинные окна преобразования, а все изменения на протяжении окна теряются: нельзя восстановить момент внутри окна, на котором случилось изменение.
raiv_ixx
Jan. 25th, 2013 02:36 pm (UTC)
Качество звука слышно что не лучшее. И возможно что они както это подогнали... По крайней мере с распознаванием голоса используется похожая на описанную мной техника, но там одна "дорожка", и при нескольких говорящих оно начинает безбожно глючить. Так что хз... Просто я сталкивался с преобразованиями голоса, а не музыкальных композиций, и специфики именно музыки я не знаю. Но с длинными окнами - возможно брать окна внахлест, чтобы получить высокое разрешение по частоте, и дальше както выделять изменения при сдвиге окна, и работать уже с ними. Математику процесса я себе пока слабо представляю, но если бы мне как программисту поставили подобную задачу, я бы копал именно туда.
fregimus
Jan. 25th, 2013 06:09 pm (UTC)
Совершенно верно, так и делают: окна складывают внахлест, и каждое еще умножают на функцию, равную 1 в середине окна и 0 по краям (“window function”), чтобы эффекты, связанные с нарезкой на окна, уменьшить. (Из математических соображений, обычно это функция sinc x = (sin x)/x).

Еще можно избежать ограничений, подняв частоту дискретизации — как бы пересчитать все не в 44.1 КГц, а в 44 МГц, например, в 1000 раз выше, так что каждый исходный отсчет дает 1000 отсчетов), затем обработать, а потом результат перевести обратно в низкую частоту дискретизации. Тут есть некоторые способы оптимизации, чтобы избежать прямого перевода и многократного увеличения данных, когда это делается «виртуально», в процессе вычисления (“multirate processing”); но, само собой, числа операций тут не уменьшишь, ресурс процессора тоже требуется тысячекратный.

Ну, и еще есть всякие сумасшедшие нелинейные методы, типа кепстрального анализа (буквы «спектрального» переставлены), которыми можно сигнал в логарифмической шкале по частоте кромсать, что для музыки естественнее. Этой математики я толком не понимаю.
raiv_ixx
Jan. 25th, 2013 08:32 pm (UTC)
ясненько)
( 24 comments — Leave a comment )