Моя музыка.

Новинки, Вкусы, Стили, Альбомы, Треки, создание музыки и всё, что с этим связано
Аватара пользователя
BDK
Сообщения: 6835
Зарегистрирован: 17 май 2015, 23:27
Откуда: Беларусь
Благодарил (а): 196 раз
Поблагодарили: 1018 раз

Re: Моя музыка.

Сообщение BDK »

Я это всё к чему.

Я всё размышляю о подходе к написанию музыки. Вот я выше набросал и вышло впринципе неплохо. Я не сильно делал что-то для качества. Если не сказать что не делал вообще ничего. Я просто скомбинировал звуки по времени и громкости - чтобы качало. Структура и ритм.

Мы слышим музыку как структурированный во времени спектр. Просто расставить на свои места бас, средние частоты, высокие. ну грубо говоря. Плюс к этому грамотная работа с гармонией. И дело в шляпе.

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

Можно сформулировать вопрос иначе - как загнать художественную ценность в алгоритм. То есть понять принципы - что же именно нам доставляет в музыке. По каким законам должна развиваться структура чтобы нам это было клёво слушать. И просто загнать эти законы в агоритм.

Со всей очевидностью это не могут быть слишком простые законы. Слишком однообразные монотонно повторяющиеся структуры не вставляют. Известное правило в музыке - звучание должно изменяться как минимум раз в 15 секунд чтобы держать интерес слушателя. Если всё повторяется дольше чем 15 секунд - слушателю начинает надоедать.

Но в то же время если звучит вообще не структурированный хаос - это тоже не интересно. Мы любим ритмику, цикличность.

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

Но и это еще не всё. Мы слышим не просто обезличенный спектр. Мы узнаём звуки - например бас похож на низкий мужской голос и вызывает соответствующие ассоциации, более высокие частоты могут иметь сходство с женским голосом и тоже вызывать соответствующие ассоциации. То есть мы слышим не просто частоты как абстрактные частоты но соотносим это с какими-то узнаваемыми звуками. И это тоже имеет большое значение в плане художественной ценности.

Вот эти все вещи нужно как-то увязать в общую схему.
=====

Что еще я думаю о музыке. Я вот размышлял как вообще она возникла эволюционно - почему у людей возник интерес к определенному структурированию звуков и почему это производит на людей сильный психологический эффект? Наверное на заре эволюции это имело вид синхронных танцев вокруг костра. Синхронные танцы позволяли выработать навыки синхронного движения в группе что потом пригождалось на охоте. Скорей всего корни музыки идут именно оттуда. Музыка - это оптимальная упаковка во времени синхронных движений нескольких человек которая позволяет им двигаться более скоординированно вместе и быть более успешными на охоте.

Музыка - это такая расстановка звуков во времени чтобы с одной стороны можно было упаковать в единицу времени больше звуков и при этом чтобы сохранялась максимальная прозрачность и прослушиваемость микса - возможность отделить один звук от другого в миксе, чтобы они не сливались в неразборчивую кашу. И именно здесь вступает в ход математика и информатика. Разумеется древние люди не осознавали математики процесса, она выработалась эволюционно и работала неосознанно - просто как чувство ритма а позже еще и как чувство музыкальной гармонии. В нас просто эволюционно выработались нейронные связи которые распознают эти закономерности. Музыкальное чувство является врожденным и не зависит от культуры и воспитания. Но это никогда не имело вид осознанного понимания правил музыки а только как бессознательного музыкального чувства - мы просто слышим и чувствуем когда вставить звук в какое место когда слышим музыку в реальном времени - скорей всего так спонтанно рождались миксы во время танцев племени вокруг костра. И собственно сейчас мой интерес вот в чем - проанализировать это эволюционно сформированное музыкальное чувство человека и описать его уже в виде вполне себе формальных правил и закономерностей. Чтобы загнать их в алгоритм. Или возможно в нейросеть.
=====

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

Наше музыкальное чувство может найти абсолютно новый стиль но при этом он будет звучать музыкално - не будет просто шумом. То есть я бы хотел выявить такие фундаментальные правила музыки которые не просто позволяют подражать известным стилям но которые позволяли бы находить новые стили при этом не теряя музыкальность.
Аватара пользователя
BDK
Сообщения: 6835
Зарегистрирован: 17 май 2015, 23:27
Откуда: Беларусь
Благодарил (а): 196 раз
Поблагодарили: 1018 раз

Re: Моя музыка.

Сообщение BDK »

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

Чем дальше мы углубляемся в миниатюризацию мелодических деталей тем больше получается количество звуков - оно растет экспоненциально. И если каждый звук прописывать вручную - это невозможно. На это просто не хватит времени жизни. А вот алгоритм может запросто строить такие структуры по рекурсивным и фрактальным закономерностям. Вопрос лишь в том чтобы это были правильные закономерности - именно такие которые порождают структуры которые нам доставляют. Которые нам в кайф слышать. Потому что слушать просто какие-то чисто технические и монотонные структуры - ну поначалу прикольно но потом надоедает. То есть здесь нужно увязать не просто формальные закономерности но и психологию восприятия человека.
Аватара пользователя
BDK
Сообщения: 6835
Зарегистрирован: 17 май 2015, 23:27
Откуда: Беларусь
Благодарил (а): 196 раз
Поблагодарили: 1018 раз

Re: Моя музыка.

Сообщение BDK »

Пожалуй могу сформулировать еще одно правило - музыкальная композиция имеет древовидную структуру и сходство с живыми организмами.
Аватара пользователя
BDK
Сообщения: 6835
Зарегистрирован: 17 май 2015, 23:27
Откуда: Беларусь
Благодарил (а): 196 раз
Поблагодарили: 1018 раз

Re: Моя музыка.

Сообщение BDK »

На каком языке программирования лучше писать VSTi


GPT-3.5-Turbo
Poe

Для разработки VSTi (Virtual Studio Technology Instrument) можно использовать несколько языков программирования и технологий, в зависимости от ваших предпочтений, опыта и требований к проекту. Вот несколько популярных вариантов:

C++: Одним из наиболее распространенных языков программирования для создания VSTi является C++. Этот язык предоставляет высокую производительность и возможность доступа к низкоуровневым операциям, что важно для реализации аудио-процессинга.
JUCE (C++): JUCE (Jules' Utility Class Extensions) - это фреймворк и библиотека для разработки аудио-приложений на C++. JUCE предоставляет удобные инструменты для создания VSTi, а также поддерживает кросс-платформенную разработку.
Max/MSP: Max/MSP - это визуальный язык программирования для создания музыкальных и звуковых приложений. Он может быть использован для разработки интерактивных VSTi с уникальными звуковыми возможностями.
Pure Data (Pd): Pure Data - это еще один визуальный язык программирования, который может быть использован для создания аудио-приложений, включая VSTi. Он предоставляет широкие возможности для обработки звука и синтеза звука.
Python: Хотя Python не является основным языком для разработки VSTi из-за своей относительной медлительности в аудио-процессинге, он может быть использован для разработки дополнительных инструментов, плагинов или сценариев для поддержки и расширения функциональности VSTi.
Выбор языка программирования зависит от ваших навыков, целей проекта и требований к производительности. C++ с фреймворком JUCE является стандартным выбором для создания высококачественных и производительных VSTi, но также есть альтернативы для тех, кто предпочитает визуальное программирование или другие языки.
JUCE предоставляет возможность писать графический интерфейс на OpenGL ?


GPT-3.5-Turbo
Poe

Да, JUCE (Jules' Utility Class Extensions) предоставляет возможность создавать графические интерфейсы с использованием OpenGL. OpenGL является кроссплатформенным стандартом для разработки приложений с 2D и 3D графикой, и JUCE предоставляет интеграцию с OpenGL для создания более сложных и выразительных пользовательских интерфейсов.

С помощью JUCE вы можете создавать кросс-платформенные приложения с графическим интерфейсом, который использует мощные возможности OpenGL для отображения графики. Это позволяет создавать интерактивные и визуально привлекательные пользовательские интерфейсы с поддержкой аппаратного ускорения.

Использование OpenGL через JUCE дает разработчикам больше гибкости и контроля над визуализацией и анимацией элементов пользовательского интерфейса. Однако, при использовании OpenGL, важно учитывать особенности работы с графикой на разных операционных системах и уделять внимание производительности при разработке графически сложных приложений.
JUCE платный или свободный?


GPT-3.5-Turbo
Poe

JUCE (Jules' Utility Class Extensions) является коммерческим продуктом, но также предоставляет свободную (open-source) лицензию для определенных типов использования. Вот некоторые особенности в отношении лицензирования JUCE:

JUCE Personal: Для некоммерческих проектов, обучения и разработчиков-одиночек JUCE предоставляет бесплатную лицензию под названием JUCE Personal. Эта лицензия позволяет использовать JUCE для проектов, которые не приносят доход.
JUCE Indie: Для небольших компаний с годовым доходом до определенного уровня доступна лицензия JUCE Indie, которая предоставляет доступ к полной функциональности JUCE по более низкой цене.
JUCE Pro: JUCE Pro предназначен для крупных компаний и коммерческих проектов с более высоким доходом. Эта лицензия предоставляет расширенную поддержку и дополнительные возможности.
Open-Source (GPLv3): JUCE также доступен под лицензией GPLv3 для открытых исходных кодов проектов. Это означает, что вы можете использовать JUCE бесплатно для проектов с открытым исходным кодом, но при этом ваш проект также должен быть распространен под лицензией GPLv3.
JUCE предлагает различные варианты лицензирования, обеспечивая гибкость для разработчиков в зависимости от их потребностей и типа проекта. Подробную информацию о лицензировании и доступных опциях можно найти на официальном сайте JUCE.
Блин, этот фактор для меня в данном случае определяющий. Мне нужна полная лицензионная чистота.

Таким образом склоняюсь к чистому C++
=====

Собственно меня не интересуют библиотеки для работы с конкретно аудио - здесь у меня всё своё. Но я слабо знаю работу с API для VSTi. Какие библиотеки посоветуешь. Желательно бесплатные.
GPT-3.5-Turbo

Poe

Если вам нужно разрабатывать VSTi на чистом C++ без использования фреймворков типа JUCE, а также если у вас уже есть свои собственные библиотеки для работы с аудио, то вам придется работать более непосредственно с API для VSTi.

Для работы с API для VSTi (VST SDK) и создания собственных VST инструментов вам понадобятся следующие библиотеки и ресурсы:

VST SDK (Steinberg): VST SDK - это официальный набор инструментов и библиотек от Steinberg для создания VST плагинов. Вы можете загрузить SDK с официального сайта Steinberg. Важно соблюдать лицензионные условия при использовании VST SDK.
ASIO SDK: Если вам нужно работать с аудио в реальном времени в Windows, вам может потребоваться ASIO SDK от Steinberg для низкоуровневой работы с аудиоинтерфейсами.
VSTGUI: Для создания графического интерфейса для ваших VSTi на чистом C++ можно использовать VSTGUI. VSTGUI представляет собой библиотеку для создания кросс-платформенных графических интерфейсов для VST плагинов.
Plug-in Hosts: Для тестирования ваших VSTi инструментов может быть полезно иметь доступ к plug-in хостам, таким как Carla, Cantabile, или другим, чтобы проверить их работу в реальном времени.
Эти библиотеки и ресурсы помогут вам начать работу с созданием собственных VSTi на чистом C++. Не забывайте официальные документации и примеры кода, предоставляемые соответствующими SDK, для более подробного понимания работы с VST API.
Возможно ли писать VSTi на C# ?


GPT-3.5-Turbo
Poe

Да, технически возможно писать VSTi (Virtual Studio Technology Instrument) на C#, но есть несколько важных соображений, которые следует учитывать:

Язык программирования: VST SDK (Software Development Kit) от Steinberg, который используется для создания VST плагинов, преимущественно предназначен для использования с C++ из-за его производительности, низкоуровневых возможностей и возможности работы с памятью.
Использование C#: Поскольку VST SDK не является нативным для C#, вам придется использовать мост (wrapper) или механизм интероперабельности для взаимодействия между кодом на C# и нативным кодом, который требуется для создания VST плагинов.
Производительность и низкоуровневый доступ: Использование C# может создать некоторые ограничения в производительности и доступе к низкоуровневым функциям, которые могут быть важны при работе с аудиоданными в реальном времени.
Поддержка платформ: При использовании C# для разработки VSTi вы также можете столкнуться с проблемами поддержки на различных платформах, так как поддержка .NET может быть разной на разных операционных системах.
Если вы все же решите разрабатывать VSTi на C#, вам может потребоваться использовать специализированные инструменты или библиотеки для взаимодействия с VST SDK на C#. Однако, наиболее распространенным и рекомендуемым способом остается использование C++ для создания VST плагинов из-за своей производительности и соответствия стандартам индустрии.
Ясно. Значит придется писать на С++.
Аватара пользователя
BDK
Сообщения: 6835
Зарегистрирован: 17 май 2015, 23:27
Откуда: Беларусь
Благодарил (а): 196 раз
Поблагодарили: 1018 раз

Re: Моя музыка.

Сообщение BDK »

Начать бизнес - это как решиться подойти познакомиться с симпатичной девушкой. Один момент решает - либо что-то будет либо не будет ничего и ты ее не увидишь больше никогда .
Аватара пользователя
BDK
Сообщения: 6835
Зарегистрирован: 17 май 2015, 23:27
Откуда: Беларусь
Благодарил (а): 196 раз
Поблагодарили: 1018 раз

Re: Моя музыка.

Сообщение BDK »

С изготовлением VST-плагинов всё оказалось очень просто. Я по видео уроку врубился в процесс за час. И написал первый тестовый плагин. Вставил его в FLStudio и всё отлично заработало. Дальше собственно буду развивать это направление
Аватара пользователя
BDK
Сообщения: 6835
Зарегистрирован: 17 май 2015, 23:27
Откуда: Беларусь
Благодарил (а): 196 раз
Поблагодарили: 1018 раз

Re: Моя музыка.

Сообщение BDK »

Ну вот, это судьба - рынок пошел в нужную мне сторону.

Применение нейросетей для создания музыки привело к интересному эффекту - эксплюзивные вещи созданные без нейросетей пошли расти в цене.

;)

Блин, как же я раньше не понимал этого эффекта! Я то думал замена музыкантов нейросетями оставит музыкантов без работы. Но экономика работает вовсе не так! :dance3:

Блин! Это золотое время! Я то думал это время проблем, а оказалось это время возможностей!

Всё я определился - моей музыке быть. То есть это то чем есть смысл заниматься. Тем более когда все массово переходят на нейросети - смысл только возрастает. Из хобби которое требует на себя неоправданных затрат времени это может превратиться в неплохой и очень даже оправданный бизнес.

Суть - делать не как все. А это как раз то что я хорошо умею. И это особенно эффективно работающая стратегия в условиях когда мир добровольно и в массовом порядке решил шаблонизироваться и типизироваться. Прям щедрая фора в мою пользу!
Аватара пользователя
BDK
Сообщения: 6835
Зарегистрирован: 17 май 2015, 23:27
Откуда: Беларусь
Благодарил (а): 196 раз
Поблагодарили: 1018 раз

Re: Моя музыка.

Сообщение BDK »

В этой жизни самое важное - выбрать правильные приоритеты. Я всегда раньше не мог понять чему отдать приоритет. Но сейчас у меня сформировалось абсолютно четкое понимание.

До тех пор пока мы не имеем развитых возможностей мы вынуждены выбирать между нелюбимой но денежной работой и любимым но безденежным делом. Но по мере наработки возможностей появляется уникальная ситуация - возможность непротиворечиво соединить первое и второе.
Аватара пользователя
BDK
Сообщения: 6835
Зарегистрирован: 17 май 2015, 23:27
Откуда: Беларусь
Благодарил (а): 196 раз
Поблагодарили: 1018 раз

Re: Моя музыка.

Сообщение BDK »

phpBB [audio]


Тест генерации музыки на чистом C#. Не использовалось никакое сторонее ПО и семплы.

Решил взять быка за рога. Это первый тест. Дальше хочу довести это до профессионального звучания при этом не используя никакого стороннего ПО и семплов. По мере прогресса буду выкладывать примеры того что получается.

Кароча - чо там всё думать думать. Делать надо! Теперь у меня есть четкое видение как.
Аватара пользователя
BDK
Сообщения: 6835
Зарегистрирован: 17 май 2015, 23:27
Откуда: Беларусь
Благодарил (а): 196 раз
Поблагодарили: 1018 раз

Re: Моя музыка.

Сообщение BDK »

phpBB [audio]


Тест функции Sidechain