Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2017.01.15;
Скачать: CL | DM;

Вниз

Немного музыки   Найти похожие ветки 

 
Dimka Maslov ©   (2016-01-20 11:08) [0]

Имеется, скажем, видео. Такое вот например:
http://www.youtube.com/watch?v=i7wjjTB5qaw

Делается это элементарно: каждому пузырю задаётся несколько периодических функций, на основании значений которых определяется положение и размер объекта на каждом кадре. Так генерируется нужное количество кадров, которые затем сводятся в видео ролик.

Теперь хотелось бы сделать так, что пузыри летали не абы как, а в такт какой-нибудь мелодии.  Вопрос как это лучше сделать? Ответ напрашивается сам: надо взять wav файл с мелодией, прочитать из него данные и на основании этих данных и строить уже функции движения пузырей. Загвоздка в том, что я так и не смог понять толком, что же за информация хранится в файле (функция амплитуды/частоты от времени?) и как она там хранится.

Может кто подскажет?


 
кгшзх ©   (2016-01-20 11:15) [1]

не все так просто.
даже если из вава вынуть "мелодию" и каждому пузырю приделать еще одну функцию, то будет лажа.
пузырики конечно будут елозить по мелодии, но если все одинаково, то будет некрасиво.


 
Dimka Maslov ©   (2016-01-20 11:22) [2]

Можно и не одинаково: играясь коэффициентами, но в целом глаз должен видеть движение в такт музыке. Тут вообще возникает огромный простор для творчества, но проблема всё таки в том, что есть данные wav?


 
pavelnk ©   (2016-01-20 11:50) [3]

Насколько я понимаю проще всего привязать амплитуду движения пузырей к амплитуде звука, и действительно ввести коэффициент амплитуды от диаметра пузыря например.


 
Dimka Maslov ©   (2016-01-20 11:57) [4]

Как тогда получить из файла значение амплитуды в момент времени?


 
Inovet ©   (2016-01-20 12:42) [5]

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


 
Dimka Maslov ©   (2016-01-20 15:17) [6]


> Inovet ©   (20.01.16 12:42) [5]


Т.е. если в файле указано 44 кГц, то на каждую секунду приходится 44000 чисел, каждое из которых есть значение амплитуды в свою 1/44000 секунды?


 
Inovet ©   (2016-01-20 15:22) [7]

> [6] Dimka Maslov ©   (20.01.16 15:17)

Ну да, только стандартно 44100, 48000 и кратные им, с амплидутой тоже разрядность может быть разная, при том в файле может быть несколько каналов. Параметры единые для всего файла. Это уже формат данных надо смотреть.


 
Inovet ©   (2016-01-20 15:26) [8]

Ну и всё-таки амплитудой это называть неправильно, это значение в момент времени.


 
Dimka Maslov ©   (2016-01-20 15:31) [9]

Понятно, спасибо.


 
megavoid ©   (2016-01-20 15:47) [10]

FFT всё равно придётся же делать, так может лучше сразу? :)



Страницы: 1 вся ветка

Текущий архив: 2017.01.15;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.022 c
2-1421218510
Drowsy
2015-01-14 09:55
2017.01.15
Нужен компонент типа PaintBox.


2-1430918293
Zheksonz
2015-05-06 16:18
2017.01.15
Определить тип активного компонента


15-1454794206
Юрий
2016-02-07 00:30
2017.01.15
С днем рождения ! 7 февраля 2016 воскресенье


15-1454425447
Дмитрий Белькевич
2016-02-02 18:04
2017.01.15
Не работает доступ к WebDAV диску из-под сервиса


15-1447853173
Юрий Зотов
2015-11-18 16:26
2017.01.15
Назад, в прошлое!