?

Log in

неуместный · человек

Свежие записи · Архив · Друзья · Личная информация

* * *
* * *

Source code: https://gist.github.com/x-or/33108c3961555253d452
В коде приведен пример использования алгоритма быстрого двоичного построения.
* * *
Наконец-то удалось выразить свои эти штуки через кватернионы.

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

Исходный код: https://gist.github.com/x-or/9f16646f226ca9cba276
* * *
* * *
* * *
Когда превращал поведение регистров синтезатора речи SDRV в звуки, то случайно заметил, что в одном месте один регистр дает незамысловатую мелодию. После обработки вот что получилось:

* * *
Здесь не идет речь о теории кодирования или вычисление CRC. Всего лишь элементарная алгебра.

Не буду обобщать и вводить лишние формальности. Просто приведу пример.

Возьмем многочлен 3й степени от переменной x:  x3 + a2 x2 + a1 x + a0. Согласно следствию основной теоремы алгебры этот многочлен раскладывается на множители вида (x-r0)(x-r1)(x-r2), где r0, r1, r2 — корни многочлена, константные символы. Теперь раскроем скобки, но не абы как, а с полным сохранением порядка символов получаемого выражения: множители не переставлять, и не объединять одинаковые множители в степени, слагаемые тоже не переставлять. Не важен лишь порядок раскрытия скобок. Получаются этапы:
Читать дальше...Свернуть )
* * *
Есть у меня легковесный движок синтезатора русской речи на ассемблере 8086 процессора. Исходник получен путем дизассемблирования резидентного драйвера sdrvs.com. Еще известный как "Фонемафон", "Ньюфон".
Меня просят его портировать под Android.
У меня есть опыт портрирования движка с 8086 на i386. Потом я вылавливал мелкие ошибки влияющие на качество синтезированной речи. И хоть 100% соответствия исходному движку так и не получилось, результат всех устраивает.
Для портирования под Android нужно портировать в совсем незнакомый мне ассемблер. А может и не на один процессор. Это я даже не рассматривал. Я решил пойти путем написания легковесного эмулятора инструкций 8086 процессора. Результат очень даже успешный.
Очень удобным оказался вывод потока выполняемых инструкций и промежуточных значений регистров в текстовый файл трассировки. Это позволило очень быстро выловить критические баги эмуляции инструкций.
Можно получить два файла трассировки на различных входных данных и смотреть их diff. Я таким образом пробовал исследовать некоторые проблемы движка, но толком таки ничего и не вышло.
Потом у меня появилась идея записать значения всех регистров после выполнения каждой инструкции и слабать какой нибудь звук. Вот что из этого получилось:
Метки: , ,
* * *
* * *
Ошибка в эксперименте привела к созданию этой красоты
* * *
* * *

Previous