| Тайна таблиц ProTracker и RealSound - Разгадана! |
[jun. 17-a, 2009|01:16 am] |
Короче, все частоты всех нот в современном темперированном строе рассчитываются от камертона «Ля» первой октавы (A-4 в спектрумовской нотации), частотой 440 Герц по формуле: . таким образом, если мы контролируем максимальное приближение к "идеальному" равномерно темперированному звукоряду, а также считаем, что таблички ProTracker и RealSound никуда не смещены, то:
1) табличка 0 (ProTracker) идеально соответствует равномерно темперированному звукоряду при частоте музыкального сопроцессора 1823360 Hz!
На этой частоте: A-1 точно соответсвует 55 Hz = 1823360 / (16 * 2072) A-2 точно соответсвует 110 Hz = 1823360 / (16 * 1036) A-3 точно соответсвует 220 Hz = 1823360 / (16 * 518) A-4 точно соответсвует 440 Hz = 1823360 / (16 * 259)
небольшие расхождения начинаются лишь с A-5: 883,410852713178 = 1823360 / (16 * 129) что очень близко к 880 =)
2) RealSound (3) также точно фиксирует ноту «Ля» при частоте сопроцессора 1823360Hz!
тайна этих частотных таблиц - разгадана =)
до кучи, точная фиксация ноты «Ля» (от которой все остальные строятся) происходит для табличек:
SoundTracker (1) - при частоте 1774080 (что довольно близко к 1774400 Hz) ASM or PSC (2) - при частоте 1749440 (что довольно близко к 1750000 Hz).
P.S.Таблички брал из файла ToneTables.csv, который прилагался к VortexTracker'у.
Итак, повторим:
ProTracker (0) - при частоте 1823360 (что довольно непонятно откуда взялось). SoundTracker (1) - при частоте 1774080 (что довольно близко к 1774400 Hz) ASM or PSC (2) - при частоте 1749440 (что довольно близко к 1750000 Hz). RealSound (3) - при частоте 1823360 (что довольно непонятно откуда взялось).
P.P.S. Желающие могут проверить выкладки и расчёты в .xls-файле тут -> http://slil.ru/27764644 |
|
|
| Конвертация музыкальных модулей из одной частотной таблицы в другую. |
[jun. 16-a, 2009|05:15 pm] |
Конвертация музыкальных модулей из одной частотной таблицы в другую. Для того, чтобы перевести модуль из одной частотной таблицы в другую недостаточно просто сменить байт, отвечающий за её номер - так сменятся только частоты нот, которые берутся из таблицы. Период огибающей, который задаётся не нотой (хотя мог бы!), а прямой записью периода останется прежним, и зазвучит фальшиво. Кроме того, поломает басы, извлекаемые Тон+Огибающая (где период тона и огибающей в определённом соотношении).
Корректный способ - это пропорциональный перевод периода огибающей для модулей в частотных таблицах SoundTracker и ASM =)
из ASM в ST:
STenv = (ASMenv * (1773400/1750000)) * 2^(1/6) )
из ST в ASM ASMenv = (STenv* 1750000 / 1773400 / 2^(1/6) )
где
1750000 - это частота сопроцессора, для которой рассчитана табличка ASM. 1773400 - это частота сопроцессора, для которой рассчитана табличка SoundTracker.
2^(1/6), это ни что иное как 2^(1/12)*2^(1/12) - то есть корень двенадцатой степени из двух, во второй степени (то есть как раз та самая разница в два полутона между этими двумя табличками).
(эта коррекция в два полутона нужна оттого, что табличка SoundTracker рассчитана со смещением в 2 полутона: то, что в ней выглядит как C4 на самом деле звучит как Bb3 (A#3).)
ну и, естественно, 1750000 / 1773400 / 2^(1/6) это ни что иное как 1/(1773400/1750000)) * 2^(1/6)) =)
то есть: STenv = ASMenv * 1,13747096941248 или ASMenv = STenv * 0,879143316085256.
#4E F(asm) фа = 78dec 78 * 1,13747096941248 = ~89dec = #59hex = F(st) фа
В нижеследующей таблице присутствуют следующие данные: Нота -> (период огибающей Hex) период огибающей Dec из таблицы ST, затем период огибающей, рассчитанный по формуле из таблички ASM в ST и отклонение. Код:
C-1 -> (F0) 240 ST = 238 (ASM to ST) отклонение = 0.009 C#1 -> (E1) 225 ST = 224 (ASM to ST) отклонение = 0.004 D-1 -> (D6) 214 ST = 212 (ASM to ST) отклонение = 0.011 D#1 -> (C8) 200 ST = 200 (ASM to ST) отклонение = -0.001 E-1 -> (BE) 190 ST = 189 (ASM to ST) отклонение = 0.006 F-1 -> (B2) 178 ST = 179 (ASM to ST) отклонение = -0.003 F#1 -> (A8) 168 ST = 168 (ASM to ST) отклонение = -0.002 G-1 -> (9F) 159 ST = 159 (ASM to ST) отклонение = -0.002 G#1 -> (96) 150 ST = 150 (ASM to ST) отклонение = -0.001 A-1 -> (8E) 142 ST = 141 (ASM to ST) отклонение = 0.007 A#1 -> (86) 134 ST = 133 (ASM to ST) отклонение = 0.007 B-1 -> (7E) 126 ST = 126 (ASM to ST) отклонение = -0.002
На самом большом значащем периоде огибающей - отклонения очень маленькие, на более коротких периодах, которые обычно и используются для извлечения нот, погрешность будет ещё меньше.
(Но, разумеется, самым корректным и простым способом перевода периода огибающей - будет построение таблицы соответствия из 256 значений для одной частотной таблицы и, соответствующих им 256 значениям другой частотной таблицы.
Период огибающей, для генератора огибающей, соответствующий ноте - это ни что иное, как период ноты для генератора тона, поделёный на 16, таким образом в частотной таблице нот уже есть 96 значений, соответствующим нотам. Недостающие 160 промежуточных значений можно получить интерполяцией.
Возьмём два соседних значения, для Код:
C-1 D1hex 209 dec (ASM) - 240 (ST) C#1 C5hex 197 dec (ASM) - 225 (ST)
Таким образом, за 12 шагов (209-197) нам надо попасть из значения 240 в 255. Код:
ASM ST C-1 209 209 240 C#1 197 208 239 207 237 206 236 205 235 204 234 203 232 202 231 201 230 200 229 199 227 198 226 197 225
то есть: каждое последующее значение у нас будет отличаться пот предыдущего на (225/240)^(1/кол-во шагов).)
Ну да ладно, это всё понятно, рассчитать не сложно.
Внимание, вопрос! Для каких значений частоты сопроцессора расчитаны таблички Pro tracker (0), и Real Sound (3).
При каких значениях частоты сопроцессора они звучат нормально? (максимально не-фальшиво). Имеют ли они смещения в полутонах (как SoundTracker)? |
|
|
| Ха-ха-ха. |
[jun. 12-a, 2009|06:32 pm] |
Пропорциональный перевод периода огибающей для модулей в часотных таблицах SoundTracker и ASM =)
из ASM в ST:
STenv = (ASMenv * (1773400/1750000)) * 2^(1/6) )
из ST в ASM ASMenv = (STenv* 1750000 / 1773400 / 2^(1/6) )
где
1750000 - это частота сопроцессора, для которой рассчитана табличка ASM. 1773400 - это частота сопроцессора, для которой рассчитана табличка SoundTracker.
2^(1/6), это ни что иное как 2^(1/12)*2^(1/12) - то есть корень двенадцатой степени из двух, во второй степени (то есть как раз та самая разница в два полутона между этими двумя табличками).
ну и, естественно, 1750000 / 1773400 / 2^(1/6) это ни что иное как 1/(1773400/1750000)) * 2^(1/6)) =)
то есть: STenv = ASMenv * 1,13747096941248 ASMenv = STenv * 0,879143316085256.
#4E F(asm) фа = 78dec 78 * 1,13747096941248 = ~89dec = #59hex = F(st) фа |
|
|
| FreeRIDE |
[jun. 10-a, 2009|12:50 pm] |
How to run FreeRIDE without terminal window hanging around:
Type this and save as "freeRideLaunch.vbs":
set sh = WScript.CreateObject("WScript.Shell")
sh.Run "freeruby-win\bin\ruby.exe -rubygems freeride.rb",0,false
|
|
|
| Royksopp едет в Москву. |
[jun. 5-a, 2009|05:01 pm] |
Royksopp едет в Москву. (8-го Июля. Билет ~1300р)

Кто хочет съездить/слетать?
UPD: билет пермь-москва на SKYEXPRESS — 1000р (без топливных сборов). то есть билет туда-обратно + билет на концерт в районе 5300р выйдет. |
|
|
| (neniu temo) |
[maj. 30-a, 2009|03:12 pm] |
Мы хотели пати... нате:

3е Июня, "Друзья", 20:00. |
|
|
| ФД-тин-тин! |
[apr. 8-a, 2009|06:06 pm] |
Тест «Федор Двинятин» Правильных ответов: 16 из 16 |
| Вы знаете о «Федоре Двинятине» больше чем настоящий Федор Двинятин, и в знании творчества «Федора Двинятина» Вам позавидовал бы даже Вассерман! Вас можно брать в команду, если, конечно, Вы в ней еще не состоите! |
© «КВН для ВСЕХ» Пройти тест «Федор Двинятин»? |
|
|
|
| (neniu temo) |
[mar. 5-a, 2009|10:32 pm] |
|
Ха-ха! одновременно навернулись plurk и twitter =) |
|
|
| Join Plurk! =) |
[jan. 7-a, 2009|02:54 pm] |
| [ | Nuna muziko |
| | Новые праздники "Письмо". | ] |
Существительное. плюрк (plüer-kh) - Чрезвычайно приятный сайт, который позволит вам делиться событиями своей жизни с помощью изысканно удобоваримых ломтиков. Низкая жирность, 5 калорий на порцию, чуть более чем полностью питательны. Глагол. плюркать (plüer-khat') - Вести хронику событий вашей яркой, насыщенной, волшебной жизни. Пример использования: 'Ну и ну!, дети плюркают уже целый день, что мне делать?' Присоединиться к ним, конечно! Ведь Плюрк - для всех. Мы избавили блоггинг от излишней траты времени, запутанности, и глубокого самоанализа. Это не блог Анатолия Вассермана, нет, нет. Наоборот, Плюрк - простой способ вести летопись и рассказать близким людям о том, что вы делаете, чувствуете, что образует вашу жизнь. Это моменты вашей радости, вашей печали; это ваши победы, это - ВЫ". Вовлеките других в круговорот своей жизни, живите своей жизнью…. Плюркайте!
^___^ :P
http://plurk.com/oisee/invite =)
|
|
|
| via Фёдор Двинятин |
[jan. 3-a, 2009|12:23 am] |
| [ | Nuna muziko |
| | Новые праздники "Письмо" | ] | Я верю в таинственный свет Летних звёзд и чуть-чуть в любовь. Пускай через тысячу лет, Но тебя я увижу вновь. Ведь это так просто в словах: Кровь-любовь и война миров. Ведь это так просто в словах, Что, пожалуй я обойдусь без слов...
-> MP3.
http://www.novopraz.com/ |
|
|
| внезапно. |
[dec. 30-a, 2008|04:29 pm] |
Внезапно предложили выступить на Арт-Перми O_O".
Chiptune, 8bit, controllerism.
Это очень интересно... показать девайсы в действии.
Единственное что может помешать кроме возможности/невозможности подготовки программы (на это я повлиять могу) - это то, что во второй половине января я точно поеду в Одессу на неделю (командировка) сроки ещё не известны, но могут попасть либо на 18, либо на 24 (а вот на это я повлиять не могу). |
|
|
| (neniu temo) |
[dec. 3-a, 2008|01:20 pm] |
| [ | Nuna humoro |
| | cheerful | ] | До чего же погоды прекрасные стоят! =)
3d-екабря, и зелёная травка =) и +1.6! А ощущаемая, наверное, все +4 =)
Yahooo!!! =) |
|
|
| (neniu temo) |
[nov. 28-a, 2008|05:20 pm] |
Внезапно!
Продаётся MIDI-Клавиатура MIDIMan/MAudio Radium-61.

Обзор -> http://www.multimusic.ru/catalog/brands/midimanmaudio/radium61.shtml
Radium 61 это 5-ти октавная (61 клавиша),динамическая, USB MIDI клавиатура, которая создана с учётомпотребностей музыкантов, играющих современную электронную музыку.Radium 61 имеет 16 контроллеров (8 ползунковых и 8 вращательных) накоторые можно назначить различные MIDI-параметры в пределах вашейосновной аудио программы (это удобнее чем выбирать настройки впрограммном синтезаторе с помощью компьютерной мыши). Для подключенияклавиатуры к компьютеру не требуется стандартных MIDI-портов, всеMIDI-сообщения и питание подаются через USB интерфейс. Radium 61 является прекрасным выбором для работы спрограммным синтезатором в реальном режиме времени, виртуальногомикширования (8 слайдеров для микширования, 8 крутилок для управленияпанорамой и посылом на эффекты), программирования ударных, живыхвыступлений. Клавиатура имеет интуитивно понятный интерфейс, параметрына контроллеры назначаются очень легко. |
|
|
| navigation |
| [ |
viewing |
| |
most recent entries |
] |
| [ |
go |
| |
earlier |
] |
| |
|
|