Язык генерации звука
Чебоксары
Программное обеспечение

Выберите вознаграждение

Здравствуйте уважаемые пользователи BOOMSTARTER!

Разрешите представить Вашему вниманию мой проект - "Язык генерации звука"! 

Название звучит несколько туманно, попробую развеять Ваши сомнения. Частенько, рассматривая фотографии с диска или в сети Интернет, я ловил себя на мысли о том, как было бы здорово, если бы в дополнение к ним звучала звуковая дорожка! Нет, не какой-нибудь популярный трек или классическая музыка, а своя, индивидуальная звуковая дорожка.

Возьмём картину известных русских живописцев - Ивана Шишкина и Константина Савицкого - Утро в сосновом бору. Когда я долго смотрю на неё, я начинаю слышать звуки - рычание медведев, хруст дерева, завывание ветра... Вот если бы эти звуки были реальными. Тут есть одно НО! Если с каждой картинкой или фотографией хранить хотя бы пол-минутный звуковой файл приличного качества, то он может весить (занимать место на диске) почти как само изображение!

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

ВЕТЕР, громкость 0.5
МЕДВЕДЬ, громкость 0.5
ВЕТЕР, громкость 0.7
МЕДВЕДЬ, громкость 0.8
МЕДВЕДЬ, громкость 1, эхо 3, баланс 0.1
ХРУСТ, громкость 0.6, баланс 1

Команды написаны на русском языке, хотя я планирую использовать латинский алфавит с возможностью использования словаря для мэпинга русских названий. Видно, что в данном примере меняется громкость звуков, их баланс (стерео эффект) и эхо. В перспективе есть желание использовать и другие  эффекты (fade, 3d-motion, фоновая звуковая дорожка и т.д.) но в более далёкой перспективе. Сейчас же я хотел бы сконцентрироваться на создании базы звуков, а именно:

  • Создание групп звуков (животные, техника, человек, природа, материалы и т.д.)
  • Наполнение групп (например, животные: медведь, волк, лиса, собака, кошка, котёнок, ...). Т.е. создания ключевых слов, к которым и будет идти привязка звуков из коллекции звуковых файлов.
  • Наполнение коллекции звуковых файлов (на первом этапе до 1000 звуков)

Если взять среднюю продолжительность звуков в 5 секунд, то 1000 звуков будет занимать приблизительно 70-100 МБ. Отдельно, я хотел бы остановиться на следующем моменте. В вышеприведённом примере звук МЕДВЕДЬ повторялся несколько раз. Будет неестественно, если звучать всё время будет один и тот же звук. Поэтому я планирую хранить не один, а несколько звуков, относящихся к одному и тому же названию, но при этом с возможностью указания некоторого абстрактного экземпляра, например:

ВЕТЕР-1, громкость 0.5
МЕДВЕДЬ-1, громкость 0.5
ВЕТЕР-2, громкость 0.7
МЕДВЕДЬ-2, громкость 0.8
МЕДВЕДЬ-3, громкость 1, эхо 3, баланс 0.1
ХРУСТ, громкость 0.6, баланс 1

В таком случае, если  в коллекции есть два экземпляра звука МЕДВЕДЬ, то МЕДВЕДЬ-1 - это первый экземпляр, МЕДВЕДЬ-2 - это второй экземпляр, а МЕДВЕДЬ-3 - это снова первый экземпляр. Это даст возможность уйти от конкретных деталей при создании звуковых сценариев, но в зависимости от количества экземпляров в коллекции звуковая дорожка будет звучать по разному.

Еще один момент - это база звуков. У меня есть некоторая коллекция, но она, явно недостаточная. Поэтому, после создания групп и виртуальных названий я опубликую их на своём веб-сайте с возможностью для посетителей загрузить свои звуки чтобы сделать коллекцию как можно более полной и разнообразной.

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

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

Спасибо за внимание!