PDA

Просмотр полной версии : Синтезатор во Flash. Нужна помощь (исходник прилогается)


Alex_Hitch
26.05.2007, 07:22
Создаю синтезатор во флеш.
Вроде бы получается. Покаместь это пианино, но в скором добавлю возможность переключения режимов. Я как раз работаю над этим.

Но у меня есть проблемка, и в тоже время вопрос. Хотелось бы знать можно ли это осуществить во Flash.
Я хочу сделать так, чтобы после проигранной мной произвольной мелодии на синтезаторе ее можно было бы повторить. Тоесть осущаствить запись мелодии.
Еще добивать окно, которое будет показывать текущий прогресс записи.

Буду очень признателен если вы посмотрите и подскажите как это можно сделать.

Исходник Здесь (http://unlock.ucoz.ru/Piano.rar)


P.S.
Флеш начал изучать совсем недавно

Вот моя ася. буду вам очень признателен если найдете пару минут чтобы объяснить...
Ну или пообщатся! )))
Как получится в общем! :victory:
451823315

etc
26.05.2007, 14:19
Загонять время и код клавиши в массив, затем воспроизводить по таймеру.

kruasan
26.05.2007, 15:32
Еще добивать окно, которое будет показывать текущий прогресс записи.
Буду очень признателен если вы посмотрите и подскажите как это можно сделать.
Можно отображать так как это делают в миди-секвенсорах. Т.е либо в виде клавишного редактора (например в Apple Logic такое окошко называется Matrix), либо в виде нот.

screamge
26.05.2007, 16:05
Писать придётся не мало и тот вариант что у вас (код на каждой клавише) точно не подойдёт, во всяком случае замучаетесь очень сильно.

Alex_Hitch
27.05.2007, 18:36
Писать придётся не мало и тот вариант что у вас (код на каждой клавише) точно не подойдёт, во всяком случае замучаетесь очень сильно.
А как можно по другому?!
Пожалуйста посоветуйте!
Можно отображать так как это делают в миди-секвенсорах. Т.е либо в виде клавишного редактора (например в Apple Logic такое окошко называется Matrix), либо в виде нот.
А по подробнее...
Для меня многое не понятно...
Загонять время и код клавиши в массив, затем воспроизводить по таймеру.
Это как во флеше делать?

И еще как сделать так, чтобы все сохранялось откомпелировано в одном файле? Без кусочков по нотам.

Вы уж меня простите что я такой нуб.
Просто я как уже говорил Flash начал изучать совсем недавно, и у меня очень много вопросов.
Синтезатор у меня первый проект.
Заранее вам всем спасибо!

kruasan
28.05.2007, 02:26
onPress, onRelease, getTimer

Определяем ноту, время нажатия, время отпускания. Визуализируем ноту в виде прямоугольничка на координатной сетке, где по горизонтали - время, а по вертикали - клавиши.
http://www.samplesmith.com/articles/Fingerpicking%20Demo%20Editing/images/Fig%202%20.%20Key%20Editor%20Bars%201-4.jpg

Alex_Hitch
28.05.2007, 03:19
onPress, onRelease, getTimer

Определяем ноту, время нажатия, время отпускания. Визуализируем ноту в виде прямоугольничка на координатной сетке, где по горизонтали - время, а по вертикали - клавиши.
http://www.samplesmith.com/articles/Fingerpicking%20Demo%20Editing/images/Fig%202%20.%20Key%20Editor%20Bars%201-4.jpg
Принцип понял, а во флеше как такое сделать?
И что за прога на скрине?

P.S.
Вот моя ася. буду вам очень признателен если найдете пару минут чтобы объяснить...
Ну или пообщатся! )))
Как получится в общем! :victory:
451823315

kruasan
28.05.2007, 14:12
Создай кнопку Record. При нажатии Record фиксируй время начала записи с помощью getTimer. При нажатии клавиши узнаем номер клавиши и время нажатия (относительно времени начала записи). При отпускании - длительность ноты. На базе этих данных отрисовываем соответствующий прямоугольник. Либо аттачим мувик с прямоугольником и изменяем его координаты и ширину.

Читаем в хелпе про onPress, onRelease, onDragOut, getTimer, drawing API (lineTo, moveTo и т.д.), attachMovie

На скрине - Cubase. Это общепринятый стиль отображения миди-партий в секвенсорах (наряду с нотами и event-lists).