LINUX.ORG.RU
ФорумTalks

Посоветуйте учебник по теории музыки

 ,


2

3

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

Пришлось вместо чтения учебников написать свой учебник. Так как на русском я разучился говорить, учебник написан на TypeScript (это такой верификатор типов для JavaScript).

https://github.com/olegchir/sharpnumbers/blob/master/Tonspace.ts

Собираюсь продолжать изучать и писать :) Посоветуйте учебник музыки, который достаточно точен, чтобы переносить эту информацию в код, спасибо)

★★★★☆
Ответ на: комментарий от zendrz

Сам удивился что нашёл применение сабжу.

phoen ★★
()

Пришлось вместо чтения учебников написать свой учебник.
Так как на русском я разучился говорить, учебник написан на TypeScript

Стиви, ты упоролся?

Zhbert ★★★★★
()
        teoset.push(new Tonality(new Note(Tone.A, Accidental.SHARP), SMode.MAJOR));
        // B-sharp major
        teoset.push(new Tonality(new Note(Tone.B, Accidental.SHARP), SMode.MAJOR));
        // B-sharp minor
        teoset.push(new Tonality(new Note(Tone.B, Accidental.SHARP), SMode.MINOR));
        // C-flat minor
        teoset.push(new Tonality(new Note(Tone.C, Accidental.FLAT), SMode.MINOR));
        // D-sharp major
        teoset.push(new Tonality(new Note(Tone.D, Accidental.SHARP), SMode.MAJOR));
        // E-sharp major
        teoset.push(new Tonality(new Note(Tone.E, Accidental.SHARP), SMode.MAJOR));
        // E-sharp minor
        teoset.push(new Tonality(new Note(Tone.E, Accidental.SHARP), SMode.MINOR));
        // F-flat major
        teoset.push(new Tonality(new Note(Tone.F, Accidental.FLAT), SMode.MAJOR));
        // F-flat minor
        teoset.push(new Tonality(new Note(Tone.F, Accidental.FLAT), SMode.MINOR));
        // G-flat minor
        teoset.push(new Tonality(new Note(Tone.G, Accidental.FLAT), SMode.MINOR));
        // G-sharp major
        teoset.push(new Tonality(new Note(Tone.G, Accidental.SHARP), SMode.MAJOR));

Что это за говно? Нельзя нормально написать было?

crutch_master ★★★★★
()
Последнее исправление: crutch_master (всего исправлений: 1)
Ответ на: комментарий от leave

Таки нет, это ж стиви, он написал на екмаскрипте как на жабке.

deep-purple ★★★★★
()

И вообще, у тебя 12 нот, а AF#d - это всё представление. Как ты будешь понижать тон на квинту в этой твоей структуре? Очевидно вроде должно быть, что тон - это тупо signed int с обёрткой.

crutch_master ★★★★★
()
Последнее исправление: crutch_master (всего исправлений: 1)

надо было научиться расставлять диезы и бемоли в выбранной тональности
у гуманитариев всё очень плохо с говорением ртом

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

meliafaro ★★★★★
()

у гуманитариев всё очень плохо с говорением ртом

Это ты гуманитариями назвал своих друзей не программистов?

papin-aziat ★★★★★
()
export enum Flats {
    B = PitchSpace.B, 
    E = PitchSpace.E, 
    A = PitchSpace.A, 
    D = PitchSpace.D, 
    G = PitchSpace.G, 
    C = PitchSpace.C, 
    F = PitchSpace.F
}

А в ts нельзя сделать

const Flats = "B,E,A,D,G,C,F"
        .split(",")
        .reduce((obj, tone)=>{
             obj[tone] = PitchSpace[tone];
             return obj;}, {})
Только копипаста?

crutch_master ★★★★★
()
Последнее исправление: crutch_master (всего исправлений: 1)

надо было научиться расставлять диезы и бемоли в выбранной тональности

Поковыряй lilypond, может найдешь нужные алгоритмы на scheme.

papin-aziat ★★★★★
()
Ответ на: комментарий от deep-purple

микрооптимизация вже

Ага. Вот как теперь этот метод называется.

crutch_master ★★★★★
()

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

Можно ли переносить не знаю, но всё же посмотри это: Тюлин «Краткий теоретический курс гармонии».

papin-aziat ★★★★★
()

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

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 1)

Вчера встретился с проблемой: надо было научиться расставлять диезы и бемоли в выбранной тональности.

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

papin-aziat ★★★★★
()
Ответ на: комментарий от deep-purple

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

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 2)

точный безошибочный алгортим они назвать затрудняются

Есть точные алгоритмы как построить лад от тона, например натуральный мажорный так: тон, тон, полутон, три тона, полутон.

papin-aziat ★★★★★
()

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

papin-aziat ★★★★★
()
Ответ на: комментарий от Iron_Bug

Да-да, я эту тему про квинтовый круг постоянно слышу, и у меня уже начал формироваться пул вопросов для «собеседования», прежде чем с человеком можно дальше обсуждать вопрос :)

  • Почему при нахождении тональности, параллельной для ля-бемоль минора - получается до бемоль мажор, а не си мажор?

  • Как искать тональность, параллельную ми диез мажору и ми диез минору?

  • При поиске параллельной тональности, как в точности выбирается знак альтерации у ноты, являющейся новой тоникой?

У меня прям уже флешбеки с собеседований по жабе

stevejobs ★★★★☆
() автор топика
Ответ на: комментарий от stevejobs

ми диез

Не бывает, как и фа-бемоля, си-диеза и до-бемоля.

как в точности выбирается знак альтерации у ноты

Помню, что правило есть, а какое, не помню.

ПДФ-ки посмотрел?

deep-purple ★★★★★
()
Ответ на: комментарий от stevejobs

Почему при нахождении тональности, параллельной для ля-бемоль минора - получается до бемоль мажор, а не си мажор?

Энгармонически равные тональности. Но си-мажор диезная тональность, она отстоит очень далеко по квинтовому кругу.

Как искать тональность, параллельную ми диез мажору и ми диез минору?

Квинтовый круг не замкнут, знаки при ключе можно добавлять бесконечно, но на практике такие тональности при записи не используются.
http://all-krage.narod.ru/Musicschool/tonalnosti001.html

meliafaro ★★★★★
()
Ответ на: комментарий от papin-aziat

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

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

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 1)
Ответ на: комментарий от deep-purple

Не бывает, как и фа-бемоля, си-диеза и до-бемоля.

Бывает.

Вообще, ТС-у надо на музыкальный форум, а лучше в музыкалку. А то местные дофига умные «технари» ему понарасскажут, потом вообще в голове полная каша будет.

meliafaro ★★★★★
()
Ответ на: комментарий от deep-purple

бывают-бывают. ещё и дубль-бемоли и дубль-диезы бывают. выбор обозначения как раз и зависит от тональности.

Iron_Bug ★★★★★
()
Ответ на: комментарий от Iron_Bug

бывают-бывают

Без меня, пожалуйста.

дубль-*

Вот чтобы это говно не всплывало — дубль-* нужно считать чистой нотой, а-ля «##I это II» так и писать сразу «II».

deep-purple ★★★★★
()
Ответ на: комментарий от deep-purple

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

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 2)
Ответ на: комментарий от deep-purple

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

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

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 1)
Ответ на: комментарий от Iron_Bug

обычный джаз весь в диатонике
терции часто пропущены

Соглашусь не соглашусь.

джаз в нотах выглядит жутковато

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

модуляции

Частный случай. Можно сделать на одних модуляциях, а можно без единой.

deep-purple ★★★★★
()
Ответ на: комментарий от deep-purple

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

Iron_Bug ★★★★★
()
Ответ на: комментарий от Iron_Bug

надо прописывать партитуры

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

deep-purple ★★★★★
()
Ответ на: комментарий от deep-purple

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

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 1)
Ответ на: комментарий от deep-purple

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

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 1)
Ответ на: комментарий от Iron_Bug

У маленькой, но серёзной банды — тоже. Обусловлено это тем, что при смене состава в любом случае новому участнику нужно сделать один в один как было, а не потому что там народу пшик, а тут целый автобус.

deep-purple ★★★★★
()
Ответ на: комментарий от deep-purple

когда народу «целый автобус», всё становится намного сложнее. и партитуры, в том числе джазовые, пишут нотами. в полный рост. без вариаций, если не считать солиста, который может вставить какие-то каденции от себя и то если он виртуоз.

Iron_Bug ★★★★★
()
Ответ на: комментарий от Iron_Bug

в каждом такте тогда проставлять ключи придётся

Не перегибай в крайность.

одна-две фразы

А в контр-пример вот взяла не крайность — так не честно ))

временные знаки не перегружают текст

Именно, что разово объявленные знаки в начале (разве что бекар потом проскочит), лучше чем знаки у всех и каждого.

deep-purple ★★★★★
()
Ответ на: комментарий от Iron_Bug

когда народу «целый автобус»

Нет разницы автобус или мопед. Если и те и другие занимаются серьёзно, то ноты будут написаны обязательно.

deep-purple ★★★★★
()
Ответ на: комментарий от deep-purple

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

Iron_Bug ★★★★★
()
Ответ на: комментарий от deep-purple

Отнять и поделить, слышали, знаем. Современную нотацию не дураки придумывали. Есть, например, такая штука, как отклонение в родственную тональность. Дальше сам сообразишь?

meliafaro ★★★★★
()

По классике - Способин Элементарная теория музыки
Чтобы понять почему нот семь, если их 12 и т.п. очень полезная - Олейников Построение музыкальных систем

ist76 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.