Flash Ripper RSS Readers

Ди-джейский пульт от Антона Волкова

Новая работа от Антона Волкова: ди-джейский пульт (770Kb).


Слова Автора:

О пульте

"Идея не нова -- имитация рабочего стола DJ'я. Основной упор делался на "фотореалистичность" и детали. В качестве визуала использовалась аппаратура Technics (кто знает, тот поймёт).

Из особенностей отмечу:

  • перетаскиваемость винила по столу;

  • скрэтч по клику на виниле;

  • обработка поворота винила, если он на вертушке или скрэтчится;

  • псевдо-правильный, но ведущий себя хорошо индикатор уровня звука;

  • цветные кнопки по середине - сэмплер (в мире такого не существует);

  • имитация движения винила.

О технологии создания


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

Момент №1

Flash-плеер не может одновременно проигрывать больше 8 сэмплов, поэтому надо правильно распределять звуковые потоки и всегда "затыкать" не используемые звуки (например с нулевой громкостью).

Момент №2

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

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

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

Единственным правильным решением остаётся все лупы делать длиной кратной 46.43 мс, и осуществлять запуск в кратные 46.43 мс точки тайм-лайна.

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

sync.tick.start(0, 1); // первоначальный запуск сихро-звука
sync.tick.onSoundComplete = function() {
// делаем засечку
this.start(0, 1); // опять запускаем синхро-звук
};


Схематично выглядеть это будет так:

 первый start
|
0 -------------- 46.43 ------------ 92.86 ------>
|
onSoundComplete
|
засечка
|
start ------------>|
|
onSoundComplete
|
засечка
|
start ------------>|

Остаётся только запускать лупы по засечкам и синхронизация будет безупречной.

Спасибо franky за статью "Flash MX Sound Synch".

[Конец цитаты]

Писал Rost, 3 Август 2004 19:02

Найдены баги:

Супер полезная инфа про звук. Спасибо!

Nek - 4 Август 2004 1:29

Да, правда, идея не новая... Но этот пульт лучше того, что я видел 4 года назад(!):
http://www.musicfanclubs.org/chemical/chem.htm.
Респект, так держать! Мне лично очень понравилось. Реалистичность на высоте... Как флешер-флешеру: СуперКлассная практика по Sound'у - THX 80)

KeyCee - 13 Август 2004 23:15

Вот еще очень клевые турнтейблы:
http://www.extrajetzt.de/media/applications/basement_mx/

ARray - 16 Август 2004 13:22

в начале статьи миллисекунды названы микросекундами, т.е.10^-6 вмсто 10^-3

комментарий спустя год :))

Nox Noctis - 1 Октябрь 2005 12:56



Это запись из категории 'Good Job!'. 10 еще cвежих:

Архивы по категориям:

3D-18, Adobe AIR-30, Animation-1, Apache Ant-1, Architecture-1, ARP-1, Art-25, Articles-26, AS3-52, Books-7, Business-3, Cairngorm-2, CI-1, Classes-10, Coding-30, Community-113, Components-19, Contests-28, Cool-Job-5, Debug-18, Design-26, Development-84, EMO-1, Events-13, Extensions-2, FAQ-8, FDS-1, Flash and html-5, Flash Player-35, Flash Updates-8, Flash-scene-1, flash10-4, FlashLite-2, Flex-30, Flex 2-80, Flickr-1, FMS-1, FPUG-46, frameworks-1, Games-11, Good Job!-35, HaXe-14, Health-2, Humor-10, Ideas-13, JavaScript-1, Job-26, JSFL-8, Links-2, Linux-1, Maps-1, Math-8, Money-11, MXML-1, Open Source-15, Optimization-2, Patterns-2, Personalities-27, Politics-1, Preloading-3, Productivity-9, PureMVC-10, Pv3d-1, Rafpug-4, Red5-3, Remoting-11, Resources-21, Ruby-6, SAAS-1, Security-11, SEO-8, Silverlight-5, Sound-3, Strategy-120, Tamarin-1, Tools-113, Training-2, Trash-8, URAFPUG-13, Urgent-1, Usability-6, Video-6, VoIP-5, Wallop-1, Wishlist-2, Архив всех записей (большой)

За последние месяцы:

Июл 2008: Международная встреча разработчиков URAFPUG завершена, URAFPUG - трансляция студии Flex-фреймворка Mate, весь Июл

Июн 2008: Попытка предварительных выводов о встрече аниматоров, Онлайн трансляция встречи аниматоров в Донецке, весь Июн

Май 2008: Если 3D, то по-взрослому: официальный запрос в Adobe по поводу контроля над мип-маппингом. Нужна ваша поддержка!, В этом году «Russian Flash Awards» пройдет в «космическом стиле», весь Май

Апр 2008: Программирование под флэш платформу. Cтатья (местами спорная), Advanced Flash Components бесплатно раздает все свои AS2-компоненты, весь Апр

Мар 2008: Зарплаты программистов в 2007 году, FlashPhone как технология года? Технология года? В Рунете?, весь Мар

Фев 2008: ЙА ФПУГ — регистрация на первую встречу UAFPUG продолжается, Закулисы Flex и секрет успеха опенсорс-проекта, весь Фев





Примечания:
Статус документа
: в процессе
   2002-2007 Производство: Рост Прибыли · О проекте · Подписка на новости (RSS)