>

Пакеты Conan>

openal-soft

openal-soft

Программная реализация кроссплатформенного 3D-аудио API OpenAL (Open Audio Library). Библиотека предоставляет возможности для позиционирования источников звука в виртуальном трёхмерном пространстве, применения эффектов и микширования. Она широко используется в играх и других интерактивных приложениях для создания реалистичной звуковой сцены.

Особенности

  • программный рендеринг с возможностью аппаратного ускорения через различные бэкенды;
  • расширенный набор эффектов (реверберация, окклюзия, поглощение воздуха) через расширение EFX;
  • поддержка различных выходных форматов: mono, stereo, 4.0, 5.1, 7.1, Ambisonics, HRTF;
  • возможность гибкой настройки через конфигурационные файлы.

Основные компоненты

OpenAL Soft реализует спецификацию OpenAL 1.1 и предоставляет ряд расширений для работы с современными аудиоформатами и эффектами (подробнее с документацией можно ознакомиться здесь).

Базовое API и пространственный звук

Ядро библиотеки позволяет разработчикам создавать источники звука, задавать их положение в трёхмерном пространстве и управлять характеристиками слушателя. Это основа для реализации доплеровского эффекта, затухания звука с расстоянием и направленности источников.

Основные функции:

  • alGenSources(), alDeleteSources() — создание и удаление источников звука;
  • alSource3f() — установка позиции, направления и скорости источника;
  • alListener3f() — управление положением и ориентацией слушателя;
  • alSourcePlay(), alSourcePause(), alSourceStop() — управление воспроизведением;
  • Поддержка состояния источника: AL_INITIAL, AL_PLAYING, AL_PAUSED, AL_STOPPED.

Расширения и продвинутые эффекты

OpenAL Soft включает реализацию расширения EFX (Environmental Audio Extensions), которое добавляет возможность применения цифровых аудиоэффектов к звуковой сцене. Это позволяет создавать более глубокие и реалистичные аудиовпечатления.

Расширенные возможности:

  • ALC_EXT_EFX — базовое расширение для работы с эффектами (реверберация, эквалайзер);
  • AL_EXT_MCFORMATS и AL_EXT_FLOAT32 — поддержка многоканальных форматов и чисел с плавающей точкой;
  • AL_EXT_BFORMAT — поддержка Ambisonics (B-Format) для объёмного звука;
  • Эмуляция эффектов поглощения воздуха (air absorption) и окклюзии (occlusion).

Управление устройствами и контекстами

Библиотека абстрагирует работу с конкретными аудиоустройствами через концепцию устройств (device) и контекстов (context). Это позволяет переключаться между разными звуковыми картами и выходными потоками без изменения логики приложения.

Ключевые функции управления:

  • alcOpenDevice(), alcCloseDevice() — открытие и закрытие аудиоустройства;
  • alcCreateContext(), alcMakeContextCurrent() — создание и активация контекста;
  • Автоматический выбор доступных бэкендов: ALSA, PulseAudio, PipeWire, WASAPI, CoreAudio, JACK, OSS и другие;
  • Поддержка виртуальных устройств для записи в файл (.wav) и loopback-устройств.

Работа с аудиоданными и буферами

OpenAL Soft работает с несжатыми PCM-данными, которые загружаются в буферы и затем привязываются к источникам. Поддерживаются различные форматы сэмплов, что позволяет эффективно использовать память и процессор.

Функции для работы с данными:

  • alGenBuffers(), alDeleteBuffers() — управление буферами;
  • alBufferData() — загрузка PCM-данных в буфер с указанием формата (моно/стерео, 8/16 бит);
  • alSourceQueueBuffers(), alSourceUnqueueBuffers() — поточное воспроизведение (streaming) для длинных аудиофайлов;
  • Получение информации о буфере: частота, разрядность, размер, каналы.

Использование в проекте

Документация по использованию Conan-пакетов для разработки приложений для ОС Аврора.

На сервере Conan библиотеки заранее собраны и размещены под различные версии ОС Аврора 4 и ОC Аврора 5. Для данных версий представлены архитектуры armv7hl, aarch64 и x84_64.

Библиотеку можно использовать в проекте с помощью данного conanfile.py

from conan import ConanFile

class Application(ConanFile):
    settings = "os", "compiler", "arch", "build_type"
    generators = "PkgConfigDeps"

    requires = (
        "openal-soft/1.23.1@aurora",
    )    

Процесс локальной сборки описан в документации.

openal-soft

OpenAL Soft is a software implementation of the OpenAL 3D audio API
Лицензия
LGPL
Версия
Автор
Vladislav Larionov <vladislav.larionov@fruct.org>
Скачать
armv7
738.21 Kb
MD5: e049f1ccf12ac93c6e85496c01766ac0
Updated: 29.10.2025, 13:53:33
armv8
758.74 Kb
MD5: 8ac17f570cd39de8c3b7aa3fd931ede8
Updated: 29.10.2025, 13:53:23
x86_64
790.31 Kb
MD5: 8fa9113e8177d4a27710849d3f1bfa8c
Updated: 29.10.2025, 13:53:34
Использование в проекте

Мы используем cookies для персонализации сайта и его более удобного использования. Вы можете запретить cookies в настройках браузера.

Пожалуйста ознакомьтесь с политикой использования cookies.