Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 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.045 c
4-1280080992
korbin dalas
2010-07-25 22:03
2017.01.15
Как узнать размер чужого окна, изменить его а потом восстановить?


15-1450733404
Юрий
2015-12-22 00:30
2017.01.15
С днем рождения ! 22 декабря 2015 вторник


15-1435899159
Any
2015-07-03 07:52
2017.01.15
Где найти фрилансеров


15-1448570868
DayGaykin
2015-11-26 23:47
2017.01.15
Добавление зависимых записей.


2-1429430826
Олег Г.
2015-04-19 11:07
2017.01.15
Не находится существующий файл





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский