spamsink: (Default)
[personal profile] spamsink
Вдруг захотелось странного, но для этого у меня не хватает знаний по предметной области.

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

Раз у нас XXI век на дворе, то неудивительно, что существуют уже и автоматические системы выделения существенных деталей из текста (первое, что нашлось; говорит, что multilanguage, но русского не умеет; впрочем, видно, что их теперь как грибов после дождя).

С другой стороны, мы с того же детства знаем, что сжатию с потерями можно подвергать и сигналы. В частности, мало для кого секрет, что полоса пропускания проводной телефонной линии была от 300 до 3400 Гц (текст при этом остаётся разборчив для почти всех практических применений), ну и о разнообразных методах сжатия музыки с разным соотношением битрейта и качества тоже все наслышаны. Что можно "сжимать" музыку путем прослушивания её в ускоренном темпе, совсем уж очевидно, но для полноты надо и это упомянуть.

А теперь внимание, вопрос: можно ли скрестить эти два-три способа сжатия, и подвергать автоматизированному конспектированию музыкальные формы? И делалось ли это уже?

Навскидку кажется, что музыка, будучи записана как текст, а не как сигнал, должна гораздо более легко поддаваться сжатию, чем текст на естественном языке, поскольку в ней больше повторяемости. Так, может, если какую-нибудь полуторачасовую симфонию записать в нотации, пригодной для автоконспектировщика, и засунуть в него, от неё и останется минут 5-10, как от многостраничной болтологической статьи остается конспект на страничку-две?

В случае с песнями, многие из которых имеют структуру

куплет_со_вступлением - рефрен - [ ещё_куплет - рефрен ] x N раз - проигрыш - рефрен - кода

их можно в простейшем случае сжать до N = 1, или даже до N = 0, или, по максимуму, до

куплет_со_вступлением - рефрен - кода

но для этого уже нужен определенный интеллект.

А с музыкальными формами более сложной структуры неужели это никогда не пробовали? Хотя бы вручную.

Примечание для тех, кто понимает: я в очередной раз вспомнил про алгоритм, который по входной строке строит грамматику, порождающую данную строку.

Date: 2021-02-20 02:23 am (UTC)
sobriquet9: (Default)
From: [personal profile] sobriquet9
В узких частных случаях вполне возможно, и скорее всего даже делалось. Например, вместо того, чтобы записывать звук пианино, можно записать моменты нажатия клавиш, со скоростью и временем (например, в виде MIDI файла). "Декомпрессия" будет заключаться в прогоне этого MIDI файла через какой-нибудь Vienna Instruments Pro или ещё какой-нибудь виртуальный рояль с сэмплами настоящего Стейнвея.

Наверняка точно так же можно взять звуковой файл, пропустить его через преобразование Фурье со всякой фильтрацией и сделать по нему MIDI.

Но если вместо пианино у нас саксофон или аккордеон, то выйдет конфуз.

Date: 2021-02-20 06:05 am (UTC)
sab123: (Default)
From: [personal profile] sab123
Мы, наверное, все это делаем, когда узнаем песню по припеву, а остальное нифига не помним. Так что алгоритм должен быть примерно такой: пропустить проигрыш, взять немножко из начала, потом припев (т.е. часто повторяющаяся часть), и немножко конец.

А вот, кстати, еще такой момент: аранжировка для оркестра - это как бы "расширение" базовой мелодии. Соответственно, урезание оркестровки до нотации для одного инструмента - обратно сжатие.

Date: 2021-02-20 02:21 pm (UTC)
sobriquet9: (Default)
From: [personal profile] sobriquet9
Если говорить про конспектирование в смысле выделения главных кусков, то для музыки есть thumbnailing, причём народ научился это делать прямо по MP3, используя его сжатие в корыстных целях.

Для превращения музыки из аудио файла в ноты (AMT, Automatic Music Transcription) нонче используют CNN. Причём распознавалка умеет даже ошибки исправлять и менять аранжировку. Представление музыки внутри такой распознавалки можно было бы назвать конспектом, только нечеловеческим, поскольку читать его умеют только роботы.

Date: 2021-02-20 02:29 am (UTC)
juan_gandhi: (Default)
From: [personal profile] juan_gandhi

А просто закодировать ноты маловато будет?

Date: 2021-02-20 04:05 am (UTC)
juan_gandhi: (Default)
From: [personal profile] juan_gandhi

Ну как, вот целая нота ля, 440 герц, тянется сколько, секунду? 440 колебаний, оцифровано. Очень много бит. А закодировать ноту - ну сколько там, пара байт максимум.

Date: 2021-02-20 06:00 am (UTC)
sab123: (Default)
From: [personal profile] sab123
Ну так сначала в ноты как текст, а потом напустить сжатие текста. Алгоритм по ссылке, кстати, очень напомниает классических Лемпел-Зива. Так что, наверное, и другие медоды сжатия можно использовтаь для эти целей.

Date: 2021-02-20 09:00 am (UTC)
sab123: (Default)
From: [personal profile] sab123
В качестве простой идеи: взять того же Лемпел-Зива на нотной записи и вести учет, сколько раз повторился какой фрагмент. Потом выбрать из "достаточно длинных" фрагментов то, что чаще повторяется. Поскольку в музыке они любят повторять те же фрагменты со сдвигом вверх или вниз, то кодировать ноты не в абсолютном виде, а в дифференциальном от предыдущей ноты ("стартовый тон" каждого использования можно хранить вместе со счетчиком повторений).

Гм, а в виде "сырого звука" есть же сжатие МП3. Вот в нем и порыться тем же образом на предмет повторов.

Date: 2021-02-20 01:34 pm (UTC)
sobriquet9: (Default)
From: [personal profile] sobriquet9
Нет в MP3 ничего на предмет повторов. Его принцип больше похож на JPEG, чем на Лемпеля-Зива. Вместо того, чтобы смотреть назад, MP3 раскладывает звук в спектр и оцифровывает разные частоты с разным огрублением. Если в звуке громкая нота ля частотой 440 Гц, то она маскирует соседние частоты (439 и 441) и их можно передавать с огрублением или не передавать вообще.

Date: 2021-02-20 06:05 am (UTC)
juan_gandhi: (Default)
From: [personal profile] juan_gandhi

Ну вот ноты это и обеспечивают.

Date: 2021-02-20 09:04 am (UTC)
sab123: (Default)
From: [personal profile] sab123
Кстати, конспект - это такая запись, по которой мождет понять предмет человек, уже несколько с этим предметом знакомый. В отличие от полноценного учебника, который разжевывает незнакомому человеку.

Date: 2021-02-20 04:38 am (UTC)
nicolas83: (Default)
From: [personal profile] nicolas83
Популярную песню "Ветер с моря дул" можно ужать в 2 раза вообще без потери смысла.

Date: 2021-02-20 06:05 am (UTC)
nicolas83: (Default)
From: [personal profile] nicolas83
Равнозначен ли будет стейк с бокалом вина beef jerky с чайной ложкой винного порошка? Кому-то да.

Date: 2021-02-20 06:06 am (UTC)
juan_gandhi: (Default)
From: [personal profile] juan_gandhi

Вот.

Есть еще идея, что гугл стрит вью вполне заменяет прогулку по Монмартру или по Толедо.

Date: 2021-02-20 06:20 am (UTC)
juan_gandhi: (Default)
From: [personal profile] juan_gandhi

Вот, органика.

Date: 2021-02-20 06:25 am (UTC)
fenikso: (Default)
From: [personal profile] fenikso
Тогда нужно ещё впридачу тестового манекена со среднестатистическим восприятием музыки, чтобы законспектированная музыка воспринималась так же (вызывала те же эмоции, etc. - definition required).

Date: 2021-02-20 07:59 am (UTC)
From: [personal profile] dijifi
Па-па-па-пам!

Date: 2021-02-20 02:29 pm (UTC)
nicolas83: (Default)
From: [personal profile] nicolas83
- Па-бам! Пара-па-ба-бам!
- Тата-рам да-рам дам!

Date: 2021-02-20 06:58 pm (UTC)
From: [personal profile] dijifi
Осталось придумать игру, набрать данных, надрессировать модель и всё
dememax: (Hacker Emblem)
From: [personal profile] dememax
Очень интересная тема, но музыка тут, конечно, лишь приложение.
Мне кажется, наибольший рассвет в этих алгоритмах должен наблюдаться сейчас в области анализа генетических последовательностей.

Но жизнь, конечно, намного сложнее оказывается, насколько я понимаю.
Вспомнить тот же анекдот, когда Вовочку заставляют извиниться и три раза повторить одну и ту же фразу. (точнее, наоборот)
:-)

В общем, как уже указали, если есть ноты, то я не вижу особой разницы с анализом других последовательностей.
dememax: На остановке Декарт в ожидании 53А (what)
From: [personal profile] dememax
Кстати, а чего в музыку-то ударяться!?
Будто в нашей области люди мало копи-пастят, ведь актуальная проблема!
Много кто пользуется утилитами, которые бы сказали: вот тут у вас, молодой человек, три функции, а отличаются - одной переменной, вот вам текст, как их объединить в одну!
Edited Date: 2021-02-22 10:59 am (UTC)
From: [personal profile] dememax
О, спасибо!
А то я был в курсе только одного проекта, который даже в дебиане в виде пакета присутствует:

https://www.dickgrune.com/Programs/similarity_tester/

Забавно, что в моём дистрибутиве есть dev-php/phpmd, но нет самого PMD, от которого он зависит.
Page generated Feb. 23rd, 2026 05:50 pm
Powered by Dreamwidth Studios