Pull to refresh

Comments 21

На заметку:
if Note.find(".") != -1:
можно превратить в куда более логичное
if "." not in Note:
Спасибо, учту. Почему — то не пришло в голову.
Вы зачем везде вместо дефиса тире-то ставите?
Честно говоря, до сего момента, я почему-то не знал, что это два разных знака. Теперь — знаю. Спасибо
А я наоборот писал когда-то пианинку, чтобы эти ноты в текстовом виде генерить. Пытался в ней же из миди сделать конвертер (мидишки тогда очень популярны были), но там какие-то подводные камни были всё время, и лень победила :)
Несколько дорожек, наверное.
Похоже, многие писали свои нотные редакторы. Когда-то мы с друзьями делали игралку музыки по IPX-сети, на мне был как раз редактор, выглядело это как-то так:

Требование: отображать „нормальные” ноты и диезы-бемоли псевдографикой

Можно было бегать по трекам, вставлять-удалять ноты, транспонировать, а вот блочное выделение я, кажется, так и не доделал…
Надо было вот эту картинку приложить, не такую скучную:

Thomasina's Waltz by Rick Adams
UFO just landed and posted this here
Надо было не синусоиду, а меандр — звучало бы более похоже.
Частоту ноты легко вычислить без словарей, по формуле
fn = f0 * (2^(1/12))^n,
где f0 — самая нижняя частота, например, 27.5 — нотя ля, а n — интервал относительно этой ноты.
Формула работает потому, что та же нота следующей октавы имеет в 2 раза большую частоту, а октава в разбивается на 12 равных частей со времен Баха.
Т.е.
f12 = f0 * (2^(1/12))^12 = f0 * 2 #нота ля следующей октавы
f24 = f0 * (2^(1/12))^24 = f0 * 4
и т. д.
Звучит всё-же как-то не так. Но зато я знаю, что я сделаю на raspberrypi и пищалке в новогодние праздники… ;)
Плохо!
Чистая синусоида — это вообще один из самых худших (для восприятия) звуков. Никаких гармоник, никакой экспрессии!
Попробуйте, для сравнения, сгенерировать пилу! Кардинально другое восприятие!

А вообще лучше делать на основе реального звука. Берёте один период волны какого-нибудь [реального] звука. Нормируете количество сэмплов под нужную базовую тональность (к примеру, около 1000 штук, чтоб получилось 440 герц — «Ля»). А дальше — дело техники. Для разнообразия можно в зависимости от высоты ноты использовать разные звуки — тот же человеческий голос может звучать в естественной тесситуре (один образец), на переходных нотах (другой) и фальцетом (третий)
Бемоль слитно всю жизнь писался.
Ну и это, в тексте на русском языке обычно не встречается такое количество тире. Use commas, Luke!
Возьмем 1/32 ноты как «единичную ноту».

Музыканты негодуют!
Недавно писал парсер для подмножества похожего языка MML. Когда встал вопрос через что проигрывать, выбор естественным образом пал на MIDI. Но генерировать wav с нуля — это сильно.
Sign up to leave a comment.

Articles