К какому языковому уровню в иерархии Хомского относятся последовательности аккордов классической музыки?

Формальные языки

В теории языка и теории грамматики язык — это результат, созданный грамматикой .

Скажем, «грамматика» — это правила , а «язык» — это предложения и слова , которые могут быть получены с помощью этих правил.

Например, мы можем сказать, что этот текст «Что-то хотя-бы вот-вот закончится под худым, потом над нами когда». не является частью английского языка, хотя пунктуация правильная, а слова принадлежат английскому языку. Это выражение не является предложением в английском языке, потому что не может быть сгенерировано с помощью правил грамматики (например: предложение => подлежащее + предикат, подлежащее => xxxx, предикат => [дополнения] + глагол + [дополнения]) и т. д.

Теория музыки

Что касается последовательности аккордов, я знаю, что то, «что звучит хорошо», будет зависеть от вашей «культуры», стиля музыки, эпохи/века, в котором находится ваш аналитический корпус, и так далее. Это не то же фламенко, чем джаз, чем китайская популярная музыка. Полностью согласен. Сузьте этот вопрос до западной классической музыки.

Итак... есть последовательности аккордов, которые "нарушат классические правила". Эй, я уже знаю , что можно использовать любую последовательность аккордов. Но есть последовательности аккордов, которые считаются «грамматически правильными», а другие — «неправильными».

Что касается этого вопроса, меня не волнует, существовали ли «правила много веков назад» или правила обнаружены сейчас, когда мы анализировали музыку веков назад. Для этого вопроса предположим, что правила просто существуют в книгах по теории классической музыки.

Вопрос

Я хотел бы знать, способны ли «порождающие правила» «формальной грамматики» определить, является ли «следующий аккорд в последовательности» «частью языка или нет» (т.е. принадлежит ли набору, который может быть сгенерирован правила грамматики) относятся к уровню языка 0, 1, 2 или 3 в классификации Хомского и ПОЧЕМУ эти правила находятся на этом уровне.

Для более конкретных ссылок:

Ссылки на скомпилированные правила аккордовой последовательности

Есть старый VST-плагин «Harmony Improvisator», который мог «генерировать» варианты аккордов в зависимости от текущего аккорда. Я не знаю, было ли предложение также обусловлено предыдущими аккордами перед текущим.

  • Официальная страница здесь: http://www.synleor.com/improvisator.html
  • Видео с использованием версии 1 плагина здесь:
  • Видео с использованием версии 2 плагина здесь:

Мой интерес к этому вопросу ограничивается лишь набором правил, которые могли бы быть теми, которыми могли бы воспользоваться авторы «Гармонического импровизатора».

Они говорят на своей странице:

Сочинение по правилам классической гармонической теории

и

выучить функции и правила наизусть, чтобы создавать классически правильную, красочную музыку

Связанные вопросы на этом сайте

На этом сайте SE есть и другие вопросы, которые ссылаются на теорию грамматики Ноама Хомского:

Этот спрашивает о генеративной музыке: каковы новейшие инновации в генеративных теориях музыки?

Другой сравнивает «изучение музыки» с изучением «родного языка»: почему музыке учат, читая ноты?

работа Хомского

Хомки посвятил свою жизнь теории любой грамматики для любого изобретённого или изобретённого языка. Это включает в себя человеческие языки, такие как английский, французский или каталонский, компьютерные языки, такие как C++ или Java, или многие другие языки, состоящие из «последовательностей вещей».

Итак, вопрос

Как я могу сказать, на каком иерархическом уровне Хомского находятся «классические правила аккордовых последовательностей»?

Допускает ли Хомский существование языка, в котором отсутствуют какие-либо {субъект, глагол, объект}? Я не понимаю, как вы могли бы сопоставить их с последовательностью аккордов.
Поскольку это вопрос о выразительных возможностях формального языка, я думаю, вам придется точно указать свой алгоритм, прежде чем на него можно будет ответить. (Обратите внимание, говоря об «уровнях», вы имеете в виду работу Хомского по математической логике, а не по естественным языкам). Вполне может быть, что упомянутый вами VST использует, например, марковскую модель и не использует «порождающую грамматику» в каком-либо полезном смысле.
Возможно, это предполагает, что взгляд Хомского на язык верен, и он хочет вписать в него музыку. Может и не быть, есть конкурирующие теории языка.
Я должен сказать, что нахожу это увлекательным вопросом, но он может быть отклонен голосованием из-за его характера. Вы также размещали сообщения на бирже стека философии? Опять же, чтобы спросить: «Как я могу определить, на каком иерархическом уровне Хомского находятся «классические правила аккордовых последовательностей»?» предполагает, что Хомский прав (а я, возможно, не прав).
Основная посылка о том, что музыка — это язык, поэтому она должна подчиняться определенным правилам, ошибочна. Возьмите любые три диатонические ноты или аккорда, и они могут идти в 6 различных порядках, и все равно будут приемлемыми. Словами этого не сделаешь !
@ Тим, я пнул красный мяч. Красный мяч, который я пинал... Мяч, который я пинал, был красным. Вы можете изменить порядок слов. И некоторые последовательности аккордов необратимы. iv6 Fr+6 Vнельзя случайно переупорядочить.
@MichaelCurtis - для каждого из этих примеров есть десятки работающих примеров . Красный мяч пнул I . И ваш 3-й пример обманул! Я был выбитым красным мячом .
Обманули? Мяч, который я пнул: красный. Я полагаю, вам нужно поставить точку с двоеточием, чтобы использовать только слова исходной строки. Я бы также сказал, что повторные заказы не все эквивалентны, они могут иметь разные последствия. Дело в том, что и в языке, и в музыке существует некоторая степень гибкости.
Последовательности аккордов являются частью семантики, а не частью синтаксиса или лексической структуры. Они вообще не вписываются в иерархию Хомского.
Язык. Ущерб? Я тоже иду в магазин, чтобы купить два яблока. Которая 2 ведьма ( э... которая...).
Я смотрел на этот вопрос уже 20 минут, и я действительно думаю, что в том виде, в каком он написан, на него нет ответа. Кажется, что он смешивает концепции порождающей грамматики Хомского (по-видимому, связанные с естественными языками, как пытались сделать некоторые теоретики музыки) с теорией иерархии грамматики Хомского (которая в основном имеет отношение к вычислительной логике). И затем он, кажется, ограничивается вопросом, какие алгоритмы мог использовать какой-то конкретный плагин, о котором здесь нет ответа, поскольку мы не знаем внутренностей этого приложения. Если бы у него не было активной награды, я бы проголосовал за закрытие.

Ответы (9)

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

Теперь давайте возьмем пример правил, например « Упражнения Перси Гетчиуса по написанию мелодий ». Здесь аккорды сгруппированы в разные классы. Например, аккорд класса Tonic может перейти в любой другой класс, тогда как аккорд класса Dominant, скорее всего, перейдет в класс Tonic. И так далее. Здесь вы должны увидеть, что каждый аккорд (т. е. литералы нашего формального языка) имеет некоторое ассоциированное состояние (класс). Этот класс явно конечен, и легко построить конечный автомат, который принимает эти правила (если кто-то действительно захочет это сделать, что я нахожу довольно сомнительным). Это показывает, что этот формальный язык правил последовательности аккордов является регулярным (или типом 3).

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

Наконец, я согласен с комментарием helveticat о том, что для таких случаев использования, как Harmony Improvisator, цепи Маркова кажутся гораздо более применимыми. В конце концов, правила часто формулируются такими словами, как «тенденция». И я бы отнесся к рекламе Harmony Improvvisator с долей скептицизма. :)

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

Некоторые музыканты называют музыку «языком». Это служит многим полезным целям, одна из которых состоит в том, чтобы показать новым ученикам, что важнее «играть» и прийти к пониманию того, почему одни идеи работают, а не другие, чем выучить набор правил, а затем пытаться играть. Однако это аналогия, а не обязательное подтверждение того, что музыка на самом деле является законным языком. Даже в западной классической музыке эти «правила» на самом деле являются рекомендациями для лучших практик, которые развивались на протяжении веков (возможно, правила грамматики одни и те же, набор лучших практик, которые развивались миллионы лет).

Нестандартный порядок аккордов — это не то же самое, что запрещенный порядок слов. Никакой порядок аккордов не способен вызвать связную мысль типа «Дикие собаки приближаются и нападут на нас менее чем через 4 минуты». Единственная мысль, о которой я могу думать, это: «Эй, эта последовательность аккордов звучит так, как будто большинство других, о которых мне говорили, следуют «правилам» музыки» или «Это интересный выбор порядка аккордов». Но в обоих случаях на ум приходит ряд слов на моем языке, чтобы описать состояние ума, в котором я нахожусь при восприятии аккордов. Сами по себе «аккорды» никак не передают ту или иную мысль.

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

Я понимаю, что вы сформулировали вопрос «с точки зрения последовательности аккордов» и «западной классической музыки», но само это ограничение может быть огромным отвлекающим маневром.

Что ж, когда вы беретесь за фуги, симфонии и оперы, вы определенно выходите за рамки контекстно-свободной грамматики. В таком компьютерном языке, как Java, значение a + b зависит от объявления a и b; т.е. целочисленное сложение или сложение с плавающей запятой? Чтобы понять смысл симфонии Бетховена или оперы Вагнера, необходимо обратить внимание на декларацию мотива, например, на первые четыре ноты Пятой симфонии Бетховена или Зигфридовой валторны, и заметить, как он появляется позже в измененной форме. Это касается семантики музыки, но для меня синтаксис и семантика связаны в музыке так же, как и в литературе.

Мне нравится анализ в других ответах здесь, но, учитывая концепции тональности и модуляции в классическом контексте, я думаю, что последовательности аккордов должны быть не более Типа 2 (контекстно-свободная грамматика) или ниже. Контекстно-свободная грамматика более мощная, чем обычная грамматика, которая может кодировать только последовательности и повторения, поскольку она может кодировать локальный контекст или скобки (например, предыдущий ключ во время секции модуляции).

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

Я предполагаю, что модуляция в новую тональность всегда сочетается с модуляцией обратно в исходную тональность позже, образуя структуру фразы. Поскольку эти структуры также могут быть вложенными (т. е. A модулирует E, который модулирует B перед модуляцией обратно в E и, наконец, обратно в A), представление этой структуры в грамматике выходит за рамки возможностей обычного языка.

Используя категории аккордов от Goetschius, вот удар по такой грамматике:

<тоник> := I | ви
<доминанта> := V | V7 | В9 | VII° | vii°7 | III
<субдоминанта> := ii | II7 | IV | II9 | IV7
<от-тоник> := <тоник>
              | <тоника> ( <от-тоника> | <от-доминанта> | <от-субдоминанта> )
<от-доминанта> := <доминанта> <от-тоника>
<из-субдоминанта> := <субдоминанта> ( <из-доминанта> | <из-тоника> )

Пока что это обычная грамматика. Думаю, как заняться остальным... (продолжение следует).

Я не совсем уверен, правильно ли я Вас понял, но поскольку существует только конечное число возможных модуляций (и еще меньшее число, которое «имеет смысл»), не должно ли быть возможным просто втыкать автоматы для разных новых ключи вместе с переходами обратно в исходный ключ? Это все равно будет конечный автомат. Может быть, я что-то упускаю, но я не вижу здесь ничего явно контекстно-свободного.
Я рассматриваю модуляцию-прочь и модуляцию-обратно как структуру брекетинга, как сбалансированные круглые скобки . В конечных автоматах вы не можете пронести в памяти «исходный ключ» больше, чем конечное число шагов. Конечно, вы можете построить конечные автоматы для любого конечного списка примеров, но он не в состоянии описать сбалансированную структуру в целом. Отсюда распространенное мнение, что регулярные выражения — неправильный инструмент для разбора html или любого текста со скобками или скобками, которые должны быть сбалансированы.
Но обнаружение сбалансированных скобок не является регулярным только потому, что может быть бесконечное количество этих скобок, поэтому вы не можете построить конечный автомат, который обнаруживает произвольное количество этих вложенных уровней (вам потребуется бесконечное количество состояний). Однако в этом суть моего возражения: не существует бесконечного числа возможных модуляций, поэтому рано или поздно вы должны вернуться к исходной тональности.
Я думаю, что моя точка зрения больше касается вложенности, чем количества возможностей как таковых. Предположим, у вас есть произведение, которое начинается с А, затем модулируется до Е, а затем внутри этого раздела модулируется до В, прежде чем вернуться к Е, а затем обратно к А. Рекурсивная природа явления, IMO, требует грамматики, способной описать эту структуру. ... Но меня очень убедил ответ @MarkLutton. Описание темы или мотива (и распознавание его повторения), кажется, требует больше памяти, чем даже у CFG.
Я думаю, вы должны указать в своем ответе, что вы предполагаете, что для каждой модуляции требуется обратная модуляция (например, блоки в структурированном языке программирования). Я предположил, что вы относитесь к модуляциям больше как к путешествию (вам не нужно возвращаться точно таким же путем). Что касается рекурсии: предположим, что у нас есть LISP-подобная грамматика SExpr, которую мы хотим ограничить глубиной до 3. Затем мы можем ввести нетерминалы sexpr0, sexpr1, sexpr2, sexpr3 для каждой глубины. Таким образом, мы можем исключить рекурсию, если у нас есть ограниченная глубина (мое предположение). Но я согласен, что работа с мотивами и т. д. меняет все.
(перечитывая это позже с более свежим взглядом) Думаю, я понимаю, к чему вы клоните. Вы можете быть правы. Если мы сможем установить максимальную глубину на что-то вроде 4 или 5, тогда ее можно будет сгладить в обычную грамматику. И мы, вероятно, можем. 5 кажется мне разумной границей после некоторых предположений. Я согласен со всем, кроме 3, и слушатель, вероятно, забудет исходную тональность (на 3+ уровня выше) и просто воспользуется ею. Таким образом, небольшой резерв для крайних случаев приводит меня к 5 как разумной жесткой границе для всего, что вы, вероятно, будете анализировать таким образом.

Начнем с того, что между классической гармонической теорией и классической гармонической теорией существует довольно существенное различие. Похоже, вы задаете вопрос в отношении классической гармонической теории (гармоническая теория, характерная для европейской классической музыки), но на опубликованном вами снимке экрана они используют слово «классический» с большой буквы. Вы можете понимать это по-разному, но я готов предположить, что они имеют в виду классическую теорию музыки в том смысле, который большинство людей назвало бы просто «теорией музыки». Свинговые ритмы и блюзовые гаммы являются хорошей игрой в теории классической музыки, но не в такой степени в теории классической музыки. «Классический» — одно из самых скользких слов, доступных для регулярного использования.

Тем не менее, я собираюсь сопротивляться инстинкту воскликнуть: «Музыка — это мистическая сила, несовместимая с обыденной машинной работой языковой теории», и попытаюсь на самом деле посмотреть, подходит ли это. Как и любой другой разумный пешеход, я никогда не слышал об иерархии Хомского, но википедия говорит мне, что вам нужны терминальные, нетерминальные и начальные символы. Кажется, это хорошее место, чтобы начать выяснять, какими будут наши нетерминальные элементы в этой модели. Если вы просто говорите о последовательности аккордов, а не о музыке, то мы можем игнорировать:

  1. тот факт, что аккорды состоят из нот
  2. амплитуда (и, следовательно, звук, динамика и т. д.)
  3. время (и, следовательно, темп, ритм и т. д.)

Может показаться, что я обхожу ваш вопрос здесь, но я думаю, что вы спрашиваете только о последовательности аккордов, которые представляют собой резкий слой абстракции, а не о самой музыке. Если я правильно помню свой урок истории музыки, композиторы классической музыки руководствовались правилами, касающимися гармонии, которая уже была абстрагирована, если нашей атомарной единицей здесь является аккорд, поэтому рассматриваемый язык не был бы таким же, как те, композиторы «говорили».

Однако это было бы рекурсивно перечислимо, поскольку любая последовательность аккордов по определению состоит исключительно из аккордов, и ни один из них, насколько мне известно, не является бесконечно длинным.

Я должен остановиться здесь, потому что я начинаю осознавать временные затраты, но каждый не стесняется разорвать это в клочья или построить на этом, как вы считаете нужным.

Это хорошее начало. Можете ли вы добавить немного больше?

Моя первая догадка заключалась бы в том, что музыку можно описать только языком типа 0. Однако я не мог придумать быстрый пример. Кроме того, это зависит от того, что включено в вопрос; необходима только последовательность аккордов или ритм (который мы можем наложить на последовательности аккордов, потребовав или допустив гармонический ритм в дополнение к номинальному ритму музыки). грамматику) можно сделать регулярным путем повторения. Я думаю, что большинство нерегулярных ритмов можно упорядочить повторением. Я думаю, что (поскольку при нерегулярном типе повторения могут возникать нерегулярности) описание мелодии или ритма, по крайней мере, неограниченно зависит от контекста; неясно, нельзя ли рассматривать последовательности аккордов аналогичным образом. Неправильный «атональный»

За последние несколько лет было предпринято несколько попыток установить связь. Большинство этих статей, по-видимому, относятся, по крайней мере, к Типу 1 (ограничение контекста слишком ограничительно).

https://royalsocietypublishing.org/doi/10.1098/rstb.2014.0097 https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3367686/ http://webprojects.eecs.qmul.ac.uk/marcusp /papers/RohrmeierPearce2018.pdf https://puredata.info/groups/pd-graz/label/book/bang_10_juri_80-89.pdf https://mtosmt.org/issues/mto.15.21.2/gjerdingen_bourne_structure.html

Одним из примеров проблем в таком описании является последовательность Folia: iVi-VII-III-VII-iVi, где первая Vi на самом деле не является каденцией (или не должна ею быть), но если композиция заканчивается, как здесь, последняя Ви есть. Каденциальное качество VII-III может быть изменено (я обычно заканчиваю фразу на первой VII, поэтому VII-III не встречается в каденциальной позиции.

Точно так же примеры цикла квинт в миноре могут иметь минорный аккорд v до тех пор, пока последняя пара тактов не переключится на Vi. В книге Букофцера о музыке барокко есть аранжировка Greensleeves как Romanesca, которая идет i-VII-ivi-VII-iVi-III-VII-iv-III-VII-iVi. Другие используют открытие i-VII-iV. Дело в том, что обычный i-VII-iV не обязательно является каденцией, но для понимания этого нужен, возможно, неограниченный контекст.

Еще один вклад в проблему анализа (и почему мне нравится тип 0) заключается в том, что некоторые функции могут быть опущены. Часть маршей (или польки) «трио» традиционно находится в субдоминанте, но на этом музыка часто заканчивается. Является ли это пропущенным I в общей структуре I-IV-I или I-IV или VI, обманчиво написанным как I-IV?

Я думаю, нет.

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

Это похоже на то, как вы не можете анализировать исходный код C++, фактически не отслеживая семантику (доступные конструкторы и функции).

Попробуйте использовать модуль Mingus в Python (используйте pip install mingus, чтобы получить его). [Mingus — это пакет для Python, используемый программистами, музыкантами, композиторами и исследователями для создания и исследования музыки.] Вы получите от него все, что вам нужно (я думаю). Таким образом, вам не нужно беспокоиться о программировании языка для музыки.

Добро пожаловать на Music.SE, @Sam! Спасибо за участие. Этот вопрос не о программировании; речь идет о возможном сходстве между гармонией и лингвистикой. Надеюсь, все будут добры, но будьте готовы к немалому количеству голосов против...
Спасибо за предупреждение ... Я не знал о такой связи, но когда я прочитал вопрос, я почувствовал, что это больше связано с программированием, чем с чем-либо еще. Не беспокойся ! Я всегда получал минусы за большинство своих ответов (кроме Quora) ☺ ..
Но хотя бы одного голоса будет достаточно..... поэтому, пожалуйста, даже если этот ответ ничего не стоит, пожалуйста, проголосуйте ☺
Требуется ли, чтобы я удалил свой ответ? 😅

Короткое доказательство того, что без контекста недостаточно:

  • предположим, у вас есть песня, в которой просто повторяется куплет V. Это делает ваш язык V^nправильным.
  • Скажем, стих состоит из трех строк, что делает его (abc)^nконтекстно-свободным.
  • Но теперь в финальном куплете вы повторяете последнюю строчку 3 раза (до финального аккорда, но давайте проигнорируем это), очень распространенный прием. Теперь у вас есть (abc)^n abccc, и это больше не является контекстно-свободным, потому что это не удовлетворяет лемме о накачке.