Форум: "Прочее";
Текущий архив: 2017.01.15;
Скачать: [xml.tar.bz2];
ВнизНемного музыки Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.051 c