Как стать автором
Обновить
223
0
Павло @TheShock

Senior JS Developer

Отправить сообщение
Появление NaN в Perl — это весьма интересная история, ведь в Perl строки и числа являются одним и тем же типом — scalar.
Разработчики языка ввели поддержку NaN и Inf без возможности ее отключить. И ввели качественно:
  • NaN пролезал через такие стандартные методы экранирования как int, sprintf
  • NaN просачивался через защитные условия — операция сравнения с ним всегда возвращала false:
    return ERROR_NO_MONEY if ($money < $account_balance); # в случае NaN не сработает.
  • NaN расползался как вирус, потому как любая операция с NaN возвращала NaN

В кратчайшие сроки оказались уязвимыми многие биллинговые и торговые системы. И хотя прошло около десяти лет, но до сих пор кое-где можно ввести NaN в поле "количество" или "сумма" и обеспечить кучу проблем.
А знаете, зачем разработчики языка это сделали? Ради ухода от ошибки "division by zero". Такого бессмысленного и беспощадного издевательства сообщество не простило и в том же году популярность Perl начала резко снижаться, хотя до этого понемногу росла.
Кстати, о получении CMake проекта для работы с UE4 в CLion читайте статью на английском от нашего коллеги


1. Необходимость патчить билд-систему не выглядит как win. Ваш коллега отправил эти изменения в виде pull request'а в движок?
2. Научите его, пожалуйста, использовать diff'ы. Хуже текстового описания модификаций файлов только скриншоты с этими самыми модификациями.
3. Получившееся на выходе шевелится с хоть сколько-нибудь приемлемой скоростью? Мы пробовали CLion + UE4 весной и пользоваться этим было невозможно, одно открытие проекта занимало несколько десятков минут.

НЛО прилетело и опубликовало эту надпись здесь
Это пока ещё только инициатива, рано ещё беспокоиться.

Это пока ещё только законопроект, рано ещё беспокоиться.

Закон принят пока ещё только в первом (втором) чтении, рано ещё беспокоиться.

Закон ещё не утверждён Советом Федерации, рано ещё беспокоиться.

Закон ещё не подписан Президентом, рано ещё беспокоиться.

Закон опубликован и неизбежно вступит в силу, чего уж теперь беспокоиться.

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

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

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

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

БАС-ГИТАРА
Нижние частоты бас-гитары и бас-барабана лежат в области 40 Гц и менее. Чтобы придать этим звукам мощь (атаку), регулируйте частоту 80 Гц. Многие современные микрофоны, разработанные для бас-барабана, имеют небольшой пик на этой частоте, что позволяет добится хорошего, густого звука.

При обработке звука некоторых бас-гитар необходимо убрать некоторое количество нижней середины (опять же — не переусердствуйте, иначе получите тонкий нечитаемый бас). Так же, часто необходимо поднять усиление в диапазоне около 2000 герц (значительно больше, чем вам кажется, когда вы находитесь в режиме
«Соло»). Иногда хорошо бывает поднять «низ» около 40 герц для придания звуку плотной основы.

ЭЛЕКТРО-ГИТАРА
Нижняя частота электрогитары — 80 Гц. Для устранения бочковатости надо вырезать частоту 200 Гц; для устранения неприятного резкого призвука — ослабить в районе 1 кГц. В любом случае, sweep эквалайзер надо настраивать на слух. Чтобы добиться высокого резкого звука, используйте фильтр плавного нарастания и спада (hi shelving control). Можно также поэкспериментировать с bell equaliser (6 кГц — 10 кГц). Чтобы «добавить яду», сделать «жалящим» звучание рок-гитары, просмотрите область от 1.5 кГц до 4 кГц, найдите нужную частоту и убирайте ее до тех пор, пока атака не станет такой, как нужно.

Эквализация гитары
Обычно при обработке звука гитары бывает необходимо лишь украсить его «поднятием» усиления в диапазоне от 3000 до 6000 герц и слегка опустить бубнящие 300 герц.

АКУСТИЧЕСКАЯ ГИТАРА
Основная проблема с акустическими гитарами, как правило состоит в том, что они звучат бочковато (из-за неподходящих микрофонов, положения микрофона, акустических характеристик помещения — или просто из-за того, что инструмент плохой). Для исправления этого недостатка можно использовать sweep equaliser:
область «вредной» частоты обычно находится между 200 Гц и 500 Гц; ее надо вырезать. Усиление в области нижней середины скорее всего сделает звук резким, поэтому всегда лучше применять верхний фильтр плавного нарастания и спада, если требуется придать звуку гитары особую яркость.

ВОКАЛ
Вокал также занимает большую часть частотного диапазона, при этом область 2-4 кГц регулируется для улучшения артикуляции. Стремитесь по возможности избегать большого усиления, так как естественное звучание голоса может быть потеряно. Пользуйтесь верхним фильтром плавного спада и нарастания для придания голосу яркости, если нужно; bell equaliser здесь вряд ли применим.

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

Кроме того, наше ухо очень чувствительно к естественности звучания голоса, голос должен звучать лучше любого звука в мире, поэтому, важно эквализировать вокал как можно скупее — лишь немного убрать 300 герц, и так же немного 3000 — 4000 герц. Подъем АЧХ исходного сигнала в области верхней середины обусловлен не только гармонической структурой, присущей звуку, но, может быть и следствием применения при записи дешевого или просто плохого микрофона. Так же полезно использовать ВЧ фильтр с частотой среза 60 герц, что бы избавиться от любых низкочастотных шумов и призвуков.

УДАРНЫЕ
Эквализация большого барабана
Звукорежиссеры часто пытаются получить один из трех типов барабанного звука:
1. «Мертвый глухой стук», характерный для барабанов с одним заглушенным пластиком и тяжелым предметом (кирпич, мешок с песком, основание микрофонной стойки) на корпусе или внутри него, Резонансный звон, получаемый от барабана с двумя пластиками с небольшим отверстием в переднем, «Унылый бум» от барабана с двумя пластиками без отверстий в них, характерный для рэпа, хип-хопа и техно.

Первые два типа имеют обычно избыток «мутной нижней середины» в районе 300 Hz — вплоть до 10 дБ — и подъем на несколько дБ верхне-средней части АЧХ (5000 — 6000 Hz). Третий тип тоже имеет небольшой избыток «мути» на 300 герцах и значительный подъем АЧХ в нижней части диапазона (от 40 до 100 герц). Можно слегка придавить и «верха», уменьшив тем самым нежелательную атаку звука.

Эквализация малого барабана
Звук малого барабана обычно имеет подъем в районе около 5000 — 6000 Hz, и, иногда, небольшой подъем в области 60 — 100 герц позволяющий тонкому барабану звучать «жирнее». Иногда следует «прибрать» усиление на 300 герцах и уменьшить «шлепок» на частотах от 800 до 1000 герц для придания звуку барабана «округлости».

Эквализация хай-хэта
Прежде всего, необходимо убрать все, находящееся в нижней и средней части диапазона, что бы избавиться от «мусора», создаваемого бочкой. Если в вашем распоряжении есть фильтр ВЧ, вы можете использовать его, установив значение частоты среза в районе 300 — 700 герц, причем, это не отменяет использование эквалайзера для подавления «мусора» от ударной установки в целом.

Иногда неплохо добавить суперверха для получения чистого и яркого тембра и уменьшить уровень СЧ в диапазоне от 1000 до 4000 герц. Не забывайте при этом то, что было сказано о полосе пропускания фильтра СЧ — если вы выберете слишком широкую полосу подавления, результатом будет «унылый» шипящий звук.

Эквализация бас-гитары
При обработке звука некоторых бас-гитар необходимо убрать некоторое количество нижней середины (опять же — не переусердствуйте, иначе получите тонкий нечитаемый бас). Так же, часто необходимо поднять усиление в диапазоне около 2000 герц (значительно больше, чем вам кажется, когда вы находитесь в режиме «Соло»). Иногда хорошо бывает поднять «низ» около 40 герц для придания звуку плотной основы.

ОБРАБОТКА

Delay
Самый простой способ определить необходимое время задержки — это подмешать delay к звуку любого инструмента, играющего постоянный паттерн (например, малый барабан), что бы легко услышать соответствие времени задержки темпу исполняемого произведения. Как только вы найдете искомое, можете быть уверены, что все кратные ему значения вам тоже подойдут. Задержка более 100 миллисекунд привносит в произведение легкий романтический шарм и используется преимущественно в медленных песнях с румовым объемом.

Delay занимает так много места в миксе, что иногда его включают только в конце строки — именно там, где для него есть место и где он может быть слышен. Вы часто могли слышать задержку 60 — 100 миллисекунд, обычно называемую «слэпом» на фонограммах многих артистов, например, Элвиса Пресли. Этот эффект может быть весьма полезен в случаях, когда «тонкий» звук инструмента (особенно голоса) необходимо сделать полнее, или если необходимо скрыть несовершенную вокальную технику. Фактически, слэп может похоронить несовершенство интонирования практически любого инструмента. С другой стороны, слэп может сделать вокал менее персонифицированным. Если ваш вокалист обладает невероятным голосом — избегайте задержки, дайте его голосу сиять в атмосфере лишь легкой реверберации. Delay в диапазоне от 30 до 60 миллисекунд обычно называют «удвоение», поскольку он создает эффект, будто бы партия на инструменте была исполнено дважды. «Битлз» использовали удвоение регулярно — для увеличения кажущегося количества исполнителей и инструментов. Задержка в диапазоне от 1 до 30 миллисекунд используется для уплотнения обрабатываемого сигнала. Уши и мозг не в состоянии уловить разницу между прямым и отраженным сигналом в случае, когда время задержки менее 30 миллисекунд — в этом случае мы слышим один звук, но как бы более плотный. Помимо реверберации, удвоение — один из самых используемых эффектов в студии — возможно, потому, что вообще не воспринимается, как эффект.

Если вы поместите исходный сигнал в один стереоканал, а задержанный менее, чем на 30 миллисекунд — во второй, получается звук, «растянутый» между динамиками.

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

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

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

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

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

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

Рассмотрим типичное размещение некоторых инструментов в панораме микса. Но помните — не мешайте самой музыке диктовать свое панорамирование.

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

Но в случае, когда звучит ударная установка с двумя большими барабанами (double-kick), при их панорамировании может возникнуть интересная дилемма. В зависимости от того, как часто играет второй большой барабан, оба барабана слегка панорамируют — в левый и правый канал. Некоторые звукорежиссеры первый барабан оставляют в центре, а панорамируют только второй. Глубокое панорамирование двух барабанов по каналом обычно не применяется, хотя иногда и к этому можно подойти творчески.

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

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

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

Почти всегда против правил размещение лидирующего вокала где-либо еще, кроме центра. Если вокал прописан двумя микрофонами, спет дважды или обработан каким-либо эффектом со стереозвучанием, голосовые каналы размещают слева направо — в диапазоне между 11:00 и 01:00. Панорамирование бэк-вокальных треков всегда зависит от вокальной аранжировки. Когда у вас есть только одна партия бэков, вы не можете поместить ее в центре, так как там уже присутствует основной голос.

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

Солирующее фортепиано обычно записывается стереопарой и панорамируется. Низкие стринги панорамируются налево, высокие — направо — именно так они расположены на фортепианной клавиатуре. Это, вероятно, самое строгое правило панорамирования. Вам лучше застрелить пианиста до записи, чем поместить высокие звуки фортепиано в левый канал!

Панорамирование гитар основано на тех же принципах. Часто оно продиктовано необходимостью размещения в миксе «чего нибудь еще» — для уплотнения. В этом случае можно уплотнить звук гитары, стереофонизировав его. Духовые и стринги тоже лучше стереофонизировать. Для этого можно использовать при записи несколько микрофонов, или записать их партию дважды, на разные треки. На худой конец, можно использовать временную задержку. В случае, когда микс достаточно заполнен, эти инструменты не следует максимально разводить по панораме — вполне достаточно будет «частичного стерео» или даже моно. Эффекты, как задержка, флэнжер, хорус фэйзер, гармонайзер, ревербератор могут быть панорамированы независимо от инструментов, от которых эти эффекты произведены.
И тоже не написал подробностей. В changleog'е ничего нет на этот счёт.
(будет много букв, сразу предупреждаю)

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

Кстати, это верно для всего сайта hooktheory, потому что весь он крутится вокруг их собственной Musical Theory for Songwriters, в которой допущены все те же ошибки (точнее, я думаю, что порядок обратен — ошибки из MTfS перетекли в «исследование»). Жаль, что многие скачают обучалку/прочитают исследование, и будут считать, что понимают, как устроена мелодия и гармония, хотя на самом деле их вводят в заблуждение.

(да, это почти срыв покровов, шок, видео не будет)

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

«Самые популярные гаммы аккордов для всех песен.»
(в оригинале: what keys are most popular for the songs in the database?, верный перевод: какие тональности наиболее популярны)
Надо сказать, что Ализар в своем переводе выкинул абзац про собственно БД и алгоритм ее составления. Там есть важный момент: The entries contain raw information about the chords and melody, while throwing out information about the arrangement and instrumentation. И вот это «выкинув информацию об аранжировке и инструментовке» и сказывается в анализе.

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

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

В качестве примера возьмем шесть виолончельных сюит Баха. Вот их тональности: G, d, C, Es, c, D. Строй виолончели: C, G, d, a. Видите совпадения? Пять из шести сюит написаны так, чтобы использовать открытые струны инструмента (а оставшаяся, Es, считается самой технически сложной).

Гитаристам предлагаю вспомнить наиболее часто употребимые тональности для гитары (я сейчас говорю не об академической гитаре и не о народных строях). Правильно, это будет E, e, A, a, G. Почему? Потому что они позволяют взять основные аккорды тональности с использованием открытых струн (обратите внимание, что g используется намного реже). Следующими пойдут D и d, которые уже менее удобны (если мы не берем скордатуру, которая характерна для народной музыки, с которой, собственно, ассоциируется D), и C.

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

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

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

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

Возьмем, например, аккорд, написанный как «Bb». В миноре это совершенно нормативное созвучие, аккорд, построенный на седьмой натуральной ступени (оговорюсь сразу, я пока вынужден использовать терминологию авторов «исследования» в части «аккорд построен на», хотя методолгически это неверно, и я к этому еще вернусь). Этот аккорд, в частности, используется во фригийском обороте, золотой секвенции, и так далее. А в мажоре? А в мажоре это альтерированная ступень, не встречающаяся в нормативном использовании вообще. Надо ли после этого говорить, что 2%, насчитаные в исследовании, для мажора и минора будут выглядеть совершенно по-разному (я бы ставил на 10-15% для минора и пренебрежимую величину для мажора)?

Или, скажем, «em» и «E» (аккорды третьей ступени, соответственно, минорный и мажорный). Для мажора первый нормативен (это доминантовая параллель), второй — только в отклонениях (как доминанта к тонической параллели). Для минора первый ислючителен, второй — нормативен, причем как сам по себе (тоническая параллель), так и в отклонениях (доминанта к субдоминантовой параллели).

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

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

«Как и ожидалось, До мажор (С) часто встречается в гамме До мажор (С), но настолько же часто мы видим Фа мажор (F) и Соль мажор (G), причём их даже чаще!»
Этот, гм, «феномен» я уже объяснял выше. Человеческому уху в рамках функциональной тональности не нужно звучание тоники, чтобы знать, где она, при этом введение тоники останавливает движение. Так что нет ничего удивительного в том, что тоника употребляется реже остальных ступеней, особенно тех, которые создают основное движение. Кстати, сильнее всего этот эффект будет проявляться в «промежуточных» участках (развивающая зона или motus по терминологии Асафьева).

«Даже для начинающих музыкантов эта информация даёт богатую пищу для размышлений. Например, из частотности аккордов понятно, что им лучше вообще не использовать Ля мажор (А), если они на 100% не уверены в своих действиях, лучше взять Ля минор (am), это менее рискованный вариант.»
Как уже писали выше, это просто бред. И вырастает он как раз из смешения мажора и минора в одной статистике. Мажорное трезвучие на шестой ступени в мажоре, несомненно, звучит дико (при этом в реальности в поп-музыке подобных ходов много, просто это не мажор на самом деле, а уж куда его классифицировали авторы исследования, я не знаю). Но мажорное трезвучие на шестой ступени в миноре — это норма, это элемент все того же фригийского оборота, и не рекомендовать его использовать — это просто запредельная глупость. Эй, гитаристы, сколько из вас слышало или играло оборот Am G F (для ля-минора)? Готовы выкинуть его из оборота только потому, что это «рискованно»?

«Анализ последовательности аккордов принёс ещё больше поразительных открытий. Например, если посмотреть на мажорную гамму До — как вы думаете, какой аккорд будет следовать после Ми минор? [...] Оказывается, в 93% случаев сразу за ним следуют Фа мажор или Ля минор.»
Капитан Очевидность говорит, что это называется «правила разрешения» и «тяготение». Обратите внимание, что тональности, в которые идет разрешение — параллельные. Кстати, запомните этот пример, он нам еще пригодится.

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

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

Рассмотрим сначала «классическую» модель (именно она, только в еще более упрощенном виде, изложена на hooktheory). В ней каждый аккорд оценивается в зависимости от того, на какой ступени тональности он стоит. Возьмем ля-минор. До-мажор стоит на третьей, ре-минор — на четвертой, ми-минор — на пятой. В гармонической миноре на пятой будет стоять ми-мажор. Первая, четвертая и пятая ступени — специальные, они называются соответственно тоника, субдоминанта и доминанта. Все остальные ступени обозначаются римскими цифрами.

Проблема этой теории в том, что она совершенно не учитывает _отношения_, которые возникают между аккордами. Например, «аккорд третьей ступени» в миноре — это, на самом деле, параллельный мажор (равно как и «аккорд шестой» в мажоре, и это _одно и то же отношение_), и таким образом не дает достаточно информации для анализа гармонической структуры произведения (BTW, это именно то, чем, вроде бы, занимались авторы hooktheory). Функциональная теория отвечает на эту проблему, выделяя минимальное количество функций (отношений), которые может выполнять (занимать) аккорд в тональности. В зависимости от сложности гармонической системы количество этих отношений меньше или больше, так, в классицизме можно говорить о тонике, параллели, субдоминанте, доминанте и двойной доминанте; в романтизме добавляются медианты и (позже) атакты, и так далее.

(замечу, что вся эта методология работает только с тональными гармоническими системами, и только с теми из них, которые обладают выраженной функциональной связностью; но в нашем случае это 99% материала)

Соответственно, каждый аккорд в рамках произведения будет рассматриваться в зависимости от той функции, которую он сейчас выполняет. «Аккорд третьей ступени» в миноре станет Tp (тонической параллелью), «аккорд шестой» в мажоре — им же, и при анализе мы будем понимать, что их роль (и ощущение слушателя от перехода T-Tp) одинакова. «Аккорд второй» — DD (двойной доминантой) или Sp (субдоминантовой параллелью) или (внимание, сюрприз) доминантой-без-прпмы-и-терции (извините, записать это в плейнтексте весьма проблематично), и его функция — отношение с тональностью, степень напряжения, задаваемая зона — будут радикально отличаться в зависимости от этого.

Помните пример с «ми-минором, разрешающимся в фа-мажор или ля-минор»? Хорошая демонстрация возможностей функциональной системы. Давайте считать, что мы в до-мажоре (в миноре эта конструкция маловозможна).
(1) Ми-минор (т.е., трезвучие на третьей) разрешается в фа-мажор (т.е. трезвучие на четвертой). Рассмотрим ми-минор с позиции фа-мажора. Это трезвучие на седьмой, то есть, на самом деле (учитывая разрешение в тонику) — верхние три звука доминантсептаккорда. Получаем «стандартное» D->T. В рамках до-мажора вся эта конструкция стремится к субдоминанте, т.е. (D->)S (на бумаге вместо скобок рисуется этакое «корыто», направленное к S, и показывающее, что вся конструкция считается от S)
(2) Ми-минор (т.е., трезвучие на третьей) разрешается в ля-минор (т.е. трезвучие на шестой). Рассмотрим от ля-минора, получим разрешение минорной доминанты в тонику. Такое встречается, но ненормативно (существенно более часто разрешение мажорной доминанты), и, что самое важное, такой оборот не дает адекватного закрепления разрешения, так что рассматривать это как оборот в рамках вспомогательной тональности опасно (необоснованно). А вот в рамках до-мажора это намного более занятно. Трезвучие на третьей — доминантовая параллель, трезвучие на шестой — тоническая параллель. Получаем Dp -> Tp, ход, параллельный автентической каденции. Такая трактовка намного более вероятна.

Обратите внимание, что получить эту информацию из соотношения «III -> S» или «III -> VI» практически невозможно. Собственно, именно поэтому я считаю, что объяснять (и тем более — анализировать) гармоническое устройство произведение на основании ступеней — это профанация.

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

Как-то так. Простите за многабукав, не удержался.
Считаю, что надо стараться отказаться от идеи функции clearAll и очищать только участки, которые реально поменялись)
На практике изменение dom-параметра привязано к ситуации и вызывает reflow, что на тестовой вёрстке незаметно, а в боевом интерфейсе вызовет непонятные тормоза.

clear rect:


change width:
Из вики:
«За время руководства Элопа доля смартфонов Nokia на рынке упала с 29% (VI квартал 2010 года) до 7% (I квартал 2012 года). Некоторые авторы прямо говорят о том, что это непосредственный результат деятельности Элопа на посту главы Nokia.»
Линусу вероятно даже обидно.
Нет, сколько хочу друзей столько и завожу :)

Насчет копирайта вы ошибаетесь, раньше конфликты были даже серьезнее, почитайте как издатели сопротивлялись созданию публичных библиотек. Или вот хотя бы хроника 20 века:

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

В конце двадцатых годов, после массового начала музыкальных радиотрансляций, держатели авторских прав выступили с коллективным иском, требуя возместить их ущерб. Их прибыль упала с $75 млн. в 1929 году до $5 млн. через четыре года. Спад совпал с Великой Депрессией.

В тридцатых годах, с появлением звуковых фильмов, с протестами выступал профсоюз музыкальных исполнителей. До этого музыканты сопровождали своей игрой каждый немой фильм.

В сороковых годах киноиндустрия выступала против показа фильмов по телевидению — «Какой идиот будет ходить в кино, если будет возможность посмотреть фильм дома бесплатно?»

В 1972 году ассоциации книжных издательств пыталась запретить производство и продажу ксерокса — «Не за горами тот день, когда никто не станет покупать книги».

В семидесятых годах возмущение музыкальной индустрии вызвало появление кассетных магнитофонов, на которых было легко копировать любую запись — «Кассета убьет музыку!»

В восьмидесятых годах киноиндустрия выступила с коллективным иском к производителю видеомагнитофонов. «Записывающий видеомагнитофон для производителей американских фильмов и американского народа это тоже самое что серийный убийца (в оригинале — Бостонский душитель) для одинокой женщины». Дело против Betamax рассматривалось в Верховном суде и было выиграно с перевесом всего в один голос…

torrentfreak.com/the-copyright-industry-a-century-of-deceit-111127/
Вот вам цитата на эту тему в коллекцию:

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

Р.Э. Хайнлайн, «Линия жизни»
Скопирую пару аятов, чтобы было примерно понятно, о чем речь.

Сражайтесь с теми, кто не верует в Аллаха [...]

Коран 9:29

А когда вы встретите тех, которые не уверовали, то — удар мечом по шее; а когда произведете великое избиение их, то укрепляйте узы.

Коран 47:4-6

Началась между нами и вами вражда навсегда, пока вы не уверуете в Аллаха единого.

Коран 60:4

И сражайтесь с ними, пока не будет больше искушения, и вся религия будет принадлежать Аллаху.

Коран 8:39 (2:193)

Если же они будут сражаться с вами, то убивайте их: таково воздаяние неверных!

Коран 2:187

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

Коран 47:3

Прошу прощения за эту фигню, и там еще очень много в таком духе.

А теперь возвращаемся к разговорам о мирном атоме в руках добродушных воинов Аллаха.
Ну так известный прием. Сначала мы создаем или активно эксплуатируем какой то стереотип, а потом выстреливаем на его ломке. Очень показательна в этом плане игра «Уездного города» из КВН когда они часть сезона активно играли на созданные образы, а потом из в одном из выступлений сломали (помним Женю выехавшего в кожанке на харлее?).
Кроме того, что eval медленно выполняется сам по себе, так он ещё не позволяет браузерам оптимизировать:




Ну и IDE его не разбирают.
А я вижу — путать людей не посвященных в JavaScript :) Вот вам quiz:
var N = 3;
while (1..N) {
    alert(0); // <<< Сколько раз отработает alert?
}

// или вот так
var N = 3;
while (a in [1..N]) {
    alert(a); // <<< Сколько раз отработает alert и что выведет?
}
Но статистика бывает разная. Очень разная. Например, по этой все версии IE в России занимают около 21%
Урок супер! Спасибо! Жду с нетерпением следующего! ;)
Судя по таблице у MIT совсем нет копилефта, тогда вам подходит её аналог в мире контента — безкопилефтная Creative Commons Attribution (CC-BY). Она как бы говорит нам: «делайте всё что угодно, только указывайте моё авторство». Кстати, для России что общественное достояние, что CC-BY — фактически одинаковы, по закону всегда надо указывать автора (а вот в США для произведения в ОД можно не указывать).

LGPL имеет слабый копилефт. Больше свободных лицензий имеющих слабый копилефт я и таблица не знаем. Но нормальный копилефт имеет Creative Commons Attribution ShareAlike (CC-BY-SA).

Информация

В рейтинге
Не участвует
Откуда
Киев, Киевская обл., Украина
Дата рождения
Зарегистрирован
Активность