Компьютерная симуляция звуков воды

    Сгенерированные компьютером изображения и видео сегодня достигли такого совершенства, что их практически невозможно отличить от реальности. Однако со звуком ситуация прямо противоположная. Во всех компьютерных играх и в фильмах звуки делают из сэмплов, записанных в реальности. До настоящего момента не удавалось генерировать реалистичные звуки прямо из математических моделей, в которых симулируются физические процессы.

    Однако, вскоре компьютеры смогут делать саундтрек к фильму с нуля — так же успешно, как и видеоряд. Учёные Даг Джеймс и Чанзи Женг из Корнелльского университета продемонстрировали технологию, которая может стать первым кирпичиком в здании компьютерных звуковых симуляций.

    Учёные решили создать модель для генерации различных звуков воды. Они перерыли литературу по акустике и выяснили, что в потоке воды звук генерируется вибрацией маленьких пузырьков воздуха диаметром от 0,5 до 5 мм.

    Разработанная модель покрывает звуки капающей воды, льющегося ручья, всплесков воды, а также журчащей воды. Создание девяти секунд звука журчащей воды требует четырёх часов работы 20 четырёхядерных процессоров Xeon.

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

    Свою работу Джеймс и Женг представят на конференции SIGGRAPH в августе.

    Дополнительно:
    Научная работа (PDF), 28,3 МБ
    Сопроводительное видео, H.264, 60 FPS, 133 МБ
    Видеоролики меньшего размера: 1280х720, 67 МБ, 1024х576, 46 МБ, 854х480, 34 МБ

    via New Scientist
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 48

      +3
      ну и?
      где подробности? где модель?
      я думал, тут будет описание разработки модели или куски препринта хотя бы.

        0
        Тык это. Постмодернистская интернет-наука. Какие модели? Какие подробности? О чём вы? Вам же видеоролик показали, остальное — не важно. People хавает.
          +3
          хорошо хоть не британские ученые!..
        +7
        Добавил ссылку на научную работу, там есть все формулы и ссылки на исследования по этой теме. Очень полезный документик. Прошу прощения, что сразу не выложил.
          0
          — До чего техника дошла!
          — Это не техника дошла, это я сама сюда дошла, на лыжах…
          • НЛО прилетело и опубликовало эту надпись здесь
              0
              Да, журчание совсем какое-то неживое.
                0
                Журчание надо было записывать в сортире, а потом разложить по фурье и пытаться сопоставить с теорией %) Авось что-нибудь получилось бы :)
              +4
              Если пописать не можешь, пригодится…
                0
                А если попробовать написать модель с использованием, например, CUDA? Может это позволит хотя бы ускорить процесс генерации?
                  0
                  CUDA, да еще как поможет
                    +6
                    откуда вы знаете, если не знаете алгоритма? =))
                    вот попробуйте «ещё как ускорить» генерацию интегральных изображений, или каскадный любой алгоритм, или любого алгоритма не с изолированным от смежных вычислений ядром =)
                      +1
                      Кстати, как человек который немного разбирается в CUDA (сидя в офисе NVIDIA, чтобы не быть голословным), утверждаю что построение интегрального изображения весьма неплохо параллелится.
                      Вообще, за много лет существования CPU было придумано множество алгоритмов с элементами рекурсии. Самые популярные причины возникновения рекурсии — это борьба за локальность доступа к памяти (кэш), переиспользование вычислений. Однако сейчас с появлением NVIDIA CUDA, ATI CTM (или как это у них называется теперь, увы не отслеживаю), стало модно переосмыслять алгоритмы в терминах неограниченного многоядерного масштабирования.
                      Впрочем, у Вас есть очень правильный посыл — можно выделить целый класс алгоритмов которые ни при каком переосмыслении не будут распараллелены.
                        +1
                        Был бы очень признателен за пояснения в реализации вычисления интегрального изображения!!! так как это единственное, что из «тяжолого» осталось на cpu, при реализации детекции лиц методом ВиолоДжонса =(

                        Был бы ооочень благодарен!

                        а такими темами не увлекались? Software Configurable Processors
                          0
                          К сожалению, что по ссылке я не понял. Поясните? Если что-то типа FPGA, то нет, я с этим знаком поверхностно.
                          На CUDA интегральное изображение считается из левого верхнего угла в правый нижний, весь процесс разбивается на стадии (слои матрицы вида i+j=C), внутри стадии пиксели считаются независимо. Соответственно, максимальное число тредов, которое можно задействовать, равно min(W,H). Возможно понадобятся атомарные операции для синхронизации стадий. Кстати, не исключаю что можно еще подумать и придумать как порвать барьер на число нитей в min(W,H).
                            0
                            Забыл спросить, а Вы для чего делаете фейсдетекшн на куде? Любопытство =)
                    0
                    это конечно очень интересно, но…
                    во первых: как мне кажется надо не усиливать клиентские машины, а оптимизировать данный алгоритм
                    во вторых: написание полноценного саундтрека требует знания в совершенно других областях, таких как, основы композиции и арранжировки) данный алгоритм будет имитировать звуки (например живых инструментов), но никак не писать саундтреки)
                      +2
                      Здесь речь идет о написании программой не саундтрека, а шумовой дорожки, т.е. генерации природных шумов: скрип двери, шум толпы, шум воды в данном конкретном случае.
                      Так-то!
                      +1
                      Интересно, следующим шагом будет генерация запахов?
                      Прикольно было бы играя в Farcry ощущать запах леса или моря…
                        +7
                        Или запах зомби в L4D.
                          0
                          <a href=«www.3dnews.ru/news/uchshnie_reshili_dobavit_v_igri_zapah/>Вот здесь.

                          А вообще насколько я помню сделать плату с ограниченным набором запахов уже пробовали во времена riva tnt.
                            +1
                            Вот здесь. (извиняюсь)

                            А вообще насколько я помню сделать плату с ограниченным набором запахов уже пробовали во времена riva tnt.
                              0
                              Прикольно, спасибо за информацию :)
                          0
                          Работа полезна только с научной точки зрения. Для практического применения (например в игра) не подойдет.
                          Нужно делать по принципу 3D: вместо куба — полигоны и текстуры плюс простейшее описание физики.
                            +2
                            Любое практическое применение начинается с научных изысканий. Уж так повелось.
                            +1
                            а что, классная тема. А то, я уже думал что звуковым картам некуда рости. Скоро будут SPU в каждой )
                              0
                              Ну дык они и так уже есть :) И были задолго до GPU. Взять тот же EAX. Вот только направленность будет несколько иной
                              +5
                              Если кому интересно, ролик есть на YouTube: www.youtube.com/watch?v=l95tZCl7YlQ
                                +6
                                Создание девяти секунд звука журчащей воды требует четырёх часов работы 20 четырёхядерных процессоров Xeon.

                                Как же все-таки у людей проще. Создание полутора минут звука журчащей воды требует всего пару литров пива.
                                  0
                                  Мне кажется что со звуком, в отличие от видео, действительно проще работать «в натуре». Чем испокон веков занимались и занимаются звукооператоры.

                                  Можно ли вообразить э… такой случай, когда рассчет звука был бы дешевле прямой записи? Хотя конечно, можно возразить насчет качества записи, хотя современная аудиоаппаратура имхо уже подошла к фактическому рациональному пределу :-)
                                    +1
                                    ИМХО, насколько я понимаю, дело не в дешевизне — так или иначе либо способ генерации звуков ускорят, либо компы в тысячу раз мощнее станут. Идея такова: в FarCry (просто как пример) при падении осколков от взорвавшейся в воде лодки, если использовать генерацию и расчёт звуков на-лету, а не ограниченное количество записанных сэмплов, то каждый из обломков с учётом его веса, формы и скорости падения будет падать в воду со своим звуком, что не может не добавить реалистичности.

                                      0
                                      Ну это да, конечно.
                                  +2
                                  «когда домашние компьютеры достигнут нормальной мощности (то есть станут хотя бы в тысячу раз производительнее, чем сейчас)»


                                  хорошо сказано!
                                    0
                                    Тут не увеличение производительности, а оптимизация алгоритма нужна.
                                      0
                                      это займет максимум 10к лет.
                                      как щас вспомню свой первый компьютер купленный в 98м, эх… 300Мгц, 16Мб рам, 2Гб хдд, мощьная была системка, 1000$ за неё отвалил
                                        –1
                                        Согласно закону Мура — около 20 лет.
                                        • НЛО прилетело и опубликовало эту надпись здесь
                                            +2
                                            Нравится придираться к словам?
                                        0
                                        Точно, сейчас у них «ненормальная» мощность…
                                        0
                                        Подумал о применении таких алгоритмов.
                                        Получается их можно использовать в программах, скажем, релаксации, это если с пользой!
                                        А вот если для вреда — представьте соседа, у которого круглосуточно и громко капает вода! И звук не от болгарки, и придраться особо не к чему, а через сутки — трое, если захочется наказать людей, то они точно на стенку полезут…
                                        У каждой новинки есть две стороны медали, и у этой тоже.
                                          +1
                                          А что мешает записать звук капающей воды, и мучать соседей уже сегодня?
                                        • НЛО прилетело и опубликовало эту надпись здесь
                                            0
                                            Блин, а вот была же у меня мысль, что звуки надо генерить… Если написать толковый звуко-физический движок, то там и до речевых генераторов недалеко:)
                                              0
                                              Вы бы ещё расчёт ядерных взаимодействий предложили использовать для генерации речи. Гвозди микроскопом забивать, конечно, можно, но дорого и неудобно. Для генерации речи используются (и вполне успешно) совсем другие алгоритмы.
                                                0
                                                а что, вы представьте, что есть физ движок, который рассчитывает какие будут звуковые волны про столкновениях объектов разных плотностей и материалов, то там можно и голос синтезировать вибрацией «голосовых связок»
                                                  0
                                                  Да я понял, о чём вы говорите, я просто сделал следующий шаг — материалы-то состоят из молекул и атомов, поэтому если использовать движок, моделирующий межатомные и межмолекулярные взаимодействия (с ядерными я переборщил, признаю :-) ) — то моделирование голоса будет ещё достовернее ;-)
                                              0
                                              >>Теоретически, когда домашние компьютеры достигнут нормальной мощности

                                              Сейчас Ray-tracing нигде не используется.

                                              Во первых, алгоритмы можно переписать под технологии OpenCL (Cuda).
                                              Во вторых, сами технологии можно упростить до состояния, в котором они будут тянуть на компах.
                                              В третьих, появятся специализированные ускорители (а скорее всего, просто видеокарты смогут это делать).

                                              Так что всё лишь в развитии технологии.
                                                0
                                                Спасибо. Отличная статья!

                                                По поводу процедурного аудио — у всех существующих программ, которые позволяют реализовывать сложные звуковые модели (PD, CSound, SuperCollider, Max/Msp, NI Reactor и т.п.) есть один очень существенный недостаток — общая регидность и качество звучания модулей. Поэтому, несмотря на то, что можно создать очень детальную и реалистичную модель — звук получается значительно хуже чем ожидается.

                                                В мире синтезаторов основной характер инструмента создаётся фильтрами. Это касается и программных и железных синтезаторов. Тот же Monark от NI, моделирующий звучание аналогового Mini-Moog, хоть и сделан на движке Реактора, но фильтры, переписывались и калибровались с нуля, т.к. со стандартными фильтрами Реактора получить такое звучание невозможно. А смоделировав аутентичные фильтры — получаем требовательный к ресурсам инструмент, который может воссоздавать звучание только одного конкретного синтезатора. А для того, чтобы получить, например, фирменный звук Roland TB-303, нам нужно заново создавать и калибровать модель фильтра.

                                                Поэтому для эффективного развития процедурного аудио (в его текущем направлении) нужно создавать очень много качественных физ. моделей. Не только для фильтров, но для всего. Как например существующие уже физ. модели фортепиано, rhodes, некоторых типов перкуссии и струнных инструментов, где существует математически описанная физ. модель возбудителя (жесткий молоточек, мягкий молоточек, смычок...) и физ. модель тела (цилиндр, конус, пластина, струна...). Такие же модели должны быть созданы для всех вариантов взаимодействия в игре: модели поверхностей (песок, камень, дерево, ткань...), тел (деревянный дом, картонная коробка, металлическая контейнер, лиственный лес...) и т.п. А это уже серьёзное программирование, которое чуждо среднестатистическому звуковому дизайнеру. Равно как чужды понятия, «ламповая теплота», «мягкая сатурация», «реверберация лиственного леса» среднестатистическому программисту :)

                                                Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                                Самое читаемое