The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Google опубликовал Oboe, С++-библиотеку для обработки звука

12.10.2018 13:15

Компания Google представила новую библиотеку обработки звука Oboe, нацеленную на создание звуковых приложений, работающих с минимальными задержками. Библиотека написана на языке C++ и изначально поддерживает сборку с Android NDK для разработки высокопроизводительных мобильных приложений для платформы Android с использованием упрощённого API на основе потоков. Код распространяется под лицензией Apache 2.0.

Основные особенности Oboe:

  • Совместимость с 16-й версией API Android SDK, что обеспечивает совместимость с 99% всех имеющихся в обиходе Android-устройств;
  • Возможность выбора звукового API: на системах с Android SDK API 16+ (Android 4.2+) работа может осуществляться через OpenSL ES, а на устройствах с API 27+ (Android 8+) через звуковую систему AAudio;
  • Возможна как эксклюзивная обработка звукового потока (только одно приложение прикрепляется к звуковому устройству), так и обработка с микшированием потока;
  • Автоматическая корректировка задержек (latency) и возможность обработки звуковых потоков в режиме реального времени;
  • Высокопроизводительный код с удобным API (используется стандарт C++11);
  • Встроенные средства для обхода известных проблем и ошибок в звуковых подсистемах. Автоматический выбор оптимального поведения, в зависимости от частоты дискретизации и форматов данных в обрабатываемых звуковых потоках;
  • Поддержка работы с популярными приложениями и фреймворками.


  1. Главная ссылка к новости (https://android-developers.goo...)
  2. OpenNews: Анализ причин задержки обработки звука в Linux и Android
  3. OpenNews: Представлен мультимедийный сервер PipeWire, идущий на смену PulseAudio
  4. OpenNews: Выпуск звукового сервера PulseAudio 12.0
  5. OpenNews: Intel представил проект по развитию открытых прошивок для звуковых чипов
  6. OpenNews: Google передаёт систему объёмного звука Resonance Audio сообществу
Лицензия: CC-BY
Тип: Программы
Короткая ссылка: https://opennet.ru/49433-audio
Ключевые слова: audio, lin, android, google
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (43) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 13:27, 12/10/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –21 +/
    > на современном C++11
    > 2018
     
     
  • 2.3, Andrey Mitrofanov (?), 13:48, 12/10/2018 [^] [^^] [^^^] [ответить]  
  • +5 +/
    >> на современном C++11
    >> 2018

    На дворе C++1x, C++1x и C++1z, а вы всё со своим "18" носитесь [I]!!!

     
     
  • 3.21, Аноним (21), 15:35, 12/10/2018 [^] [^^] [^^^] [ответить]  
  • –2 +/
    там только одно 19 осталось, остальные уже C++2...
     
  • 2.4, Аноним (4), 13:49, 12/10/2018 [^] [^^] [^^^] [ответить]  
  • +4 +/
    В оригинале "Convenient C++ API (uses the C++11 standard)"
     
  • 2.8, trolleybus (?), 14:08, 12/10/2018 [^] [^^] [^^^] [ответить]  
  • +9 +/
    Ну как бы, капитан Очевидность напоминает, что в C++14 и 17 довольно незначительные изменения по сравнению с 11 (не то, что C++11 по сравнению с 98)
     
     
  • 3.34, topin89 (?), 23:33, 12/10/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну не знаю.
    https://www.gnu.org/software/gcc/projects/cxx-status.html
    C++14 можно с натяжкой назвать небольшим изменением. C++17 сопоставимо с C++11.

    Тут больше дело в старом софте и старых компиляторах, где только C++11 и можно. Или софт был написан, когда C++>=14 ещё не было. Или эти доп. возможности банально не нужны.

     
     
  • 4.39, КО (?), 09:25, 13/10/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >Или эти доп. возможности банально не нужны.

    Краткое резюме по всем изменениям в стандартах языка C++ :)

     

  • 1.2, Аноним (2), 13:42, 12/10/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    >Совместимость с 16 версией API Android SDK, что обеспечивает совместимость с 99% всех имеющихся в обиходе Android-устройств;

    "Спасибо" современным батареям - иначе я бы своим телефоном с 4.0.3 (API 15) ещё бы пользовался и пользовался.

     
     
  • 2.6, Аноним (6), 14:01, 12/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Неужели нет прошивок для 16+?
     
     
  • 3.10, Andrey Mitrofanov (?), 14:10, 12/10/2018 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > Неужели нет прошивок для 16+?

    Про батарею перечитай.  Несъёмная, вангую.

    Поэтому у меня, по результатам "невиданного успеха" эксплуатации предыдущего девайса, при смене тф требованиями были съёмный акк. и наличие живых сборок их исходников на XDA.  [Цена там же где-то... :/]

    По мелочи: 3.5мм разъём, слот micro-SD, 2 SIM (не разделяемые с SD)  -- для понтов и "шоб как було"...

     
     
  • 4.20, J.L. (?), 15:16, 12/10/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> Неужели нет прошивок для 16+?
    > Про батарею перечитай.  Несъёмная, вангую.
    > Поэтому у меня, по результатам "невиданного успеха" эксплуатации предыдущего девайса,
    > при смене тф требованиями были съёмный акк. и наличие живых сборок
    > их исходников на XDA.  [Цена там же где-то... :/]
    > По мелочи: 3.5мм разъём, слот micro-SD, 2 SIM (не разделяемые с SD)
    >  -- для понтов и "шоб как було"...

    и что, такие существуют??

     
     
  • 5.23, Andrey Mitrofanov (?), 15:57, 12/10/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > и что, такие существуют??

    Да.  Разной степени хреновости, да...  И неопределённости в части "живых"/полных сборок...

     
     
  • 6.25, J.L. (?), 16:26, 12/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >> и что, такие существуют??
    > Да.  Разной степени хреновости, да...  И неопределённости в части "живых"/полных сборок...

    а можно озвучить варианты?
    я хоть и жду librem-5, но если выпустят фуфло надо ж знать чем заменять свой разваливающийся андройд-телефончик

     
     
  • 7.30, Michael Shigorin (ok), 22:24, 12/10/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > надо ж знать чем заменять свой разваливающийся андройд-телефончик

    Я вот в прошлом году, оказывается, полностью прохлопал ушами Inoi R7 -- эти гении маркетинга додумались не поинтересоваться наиболее вероятной целевой аудиторией да хоть анонсы раскидать по таким сайтам...

     
     
  • 8.37, гг (?), 04:19, 13/10/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Не стыдно такое убожество показывать на али телефоны в 2 раза лучше, и стоят де... текст свёрнут, показать
     
  • 8.52, J.L. (?), 18:32, 15/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    как-то совсем не воодушевляет реализация Недостатки - Практически нет но... текст свёрнут, показать
     
     
  • 9.53, Michael Shigorin (ok), 18:48, 15/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Меня слабо интересует перепев рабиновичем песни Плач о майнстриме , в том-то и ... текст свёрнут, показать
     
  • 7.38, Andrey Mitrofanov (?), 08:54, 13/10/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >>> и что, такие существуют??
    >> Да.  Разной степени хреновости, да...  И неопределённости в части "живых"/полных сборок...
    > а можно озвучить варианты?
    > я хоть и жду librem-5, но если выпустят фуфло надо ж знать

    съёмные аккумуляторы, например, нашлись по спекам в:

    Huawei Y6  aka  Honor 4A             //нет в продаже
    Honor 5A                               //нет в продаже
    Lenovo Vibe K5 Plus                  //нет в продаже
    LG K8 (2017) X240
    LG K7 (2017) X230
    LG G5 SE H845 || H850               //нет в продаже
    Samsung Galaxy S5 mini SM-G800F
    Samsung Galaxy J5 (2016) SM-J510F

    Да, это грустно, это "ничего ж нет" и "всё г--но".

    > чем заменять свой разваливающийся андройд-телефончик

    Я бросил искать, купил один из (да, новый, да в магазине), ломаю голову, как бы загрузчик сломать и пр. ...

     
     
  • 8.41, Аноним (-), 10:27, 13/10/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Еще не хватало чтобы хомяки из своего бэкдор-шпиона батарейку выколупывали ... текст свёрнут, показать
     
  • 8.44, Анонимм (??), 12:08, 13/10/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Я с доступности загрузчика начинаю выбор телефонов Leeco в этом плане хороши и... текст свёрнут, показать
     
  • 3.11, trolleybus (?), 14:10, 12/10/2018 [^] [^^] [^^^] [ответить]  
  • +5 +/
    > Неужели нет прошивок для 16+?

    Прошивки 16+ - это при установке которых требуется серьезное насилие над телефоном?
    (P.S. На 18+ прошивку интересно было бы посмотреть)

     
     
  • 4.29, Аноним (29), 21:31, 12/10/2018 [^] [^^] [^^^] [ответить]  
  • +4 +/
    >> Неужели нет прошивок для 16+?
    >
    > Прошивки 16+ - это при установке которых требуется серьезное насилие над телефоном?
    > (P.S. На 18+ прошивку интересно было бы посмотреть)

    Прошивки 18+ - это когда при установки прошивки в JTAG втыкаться приходится

     
  • 2.24, Анонимм (??), 16:18, 12/10/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > "Спасибо" современным батареям - иначе я бы своим телефоном с
    > 4.0.3 (API 15) ещё бы пользовался и пользовался.

    Да, но паяльник не пробовали? А в радиомагазинах полный вагон разноформатных аккумуляторов - запросто можно подобрать и по размеру и по ёмкости.

    Сам давеча решал подобную задачу (Sams s2), но нашёл на рынке новый аккум (не оригинал, есьно). Если бы не нашёл - п.1

     

  • 1.5, Аноним (5), 13:59, 12/10/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –10 +/
    Какова вероятность такого поворота событий?

    Arch, Debian, Gentoo и RedHat приняли решение заменить PulseAudio на новую библиотеку обработки звука Oboe, которую разработала компания Google.

     
     
  • 2.7, Yappi Dor (?), 14:03, 12/10/2018 [^] [^^] [^^^] [ответить]  
  • +11 +/
    ты библиотеку со звуковым сервером путаешь
     
     
  • 3.14, Andrey Mitrofanov (?), 14:12, 12/10/2018 [^] [^^] [^^^] [ответить]  
  • –5 +/
    > ты библиотеку со звуковым сервером путаешь

    Но, всё-таки!!, какова вероятность, что и "Arch, Debian, Gentoo и RedHat" перепутают?!  ><WWW"->

     
  • 3.31, Michael Shigorin (ok), 22:27, 12/10/2018 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Главное, что не гобои с обоями...
     
  • 2.15, x (?), 14:16, 12/10/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    поддержку апи OpenSL ES (https://www.khronos.org/opensles) если только могут сделать в пульсе-альсе, и то сомнительно.

    а недобиблиотек и так куча

     
  • 2.17, Zenitur (ok), 14:45, 12/10/2018 [^] [^^] [^^^] [ответить]  
  • +3 +/
    В какой-нибудь Убунте могут поменять звуковой сервер PulseAudio на AudioFlinger, переименовав его в  Druzhba и призвав сообщество портировать всё и вся не на PipeWire, а на Дружбу
     
  • 2.26, Аноним (26), 17:53, 12/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Какова вероятность такого поворота событий?

    нулевая, это вообще о другом

     

  • 1.16, Аноним (16), 14:41, 12/10/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Так это для ведра, про десктопы ничего не сказано.
     
  • 1.33, Business Edition (?), 23:24, 12/10/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Google хорошо работает только в пределах, СШП ну кроме поиска и почты. Все остальные их сервисы бесполезных за пределами их государства.
     
  • 1.36, Аноним (36), 03:49, 13/10/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    поясните   по простому зачем оно ? Ну тоесть какие приложения можно создавать  на ней ?  Типа    LMMS?  Или "простенький сэмплер"  типа   Записал  гитарных семплов склеил  получилась  музыка? или чего еще ?
     
  • 1.40, Аноним (40), 09:44, 13/10/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Не обое, а оба!)
     
  • 1.42, Анонимный БСДун (?), 10:32, 13/10/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Чем лучше csound, наример? Я понимаю, что чем больше велосипедов, тем больше выбор...
     
  • 1.43, Аноним (43), 11:32, 13/10/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Гугл в свое время прощелкал хорошее звуковое API для андроида, а гады китайцы на своих трубках не обновляются на новые версии. Теперь приходится библиотеки делать и рассчитывать на NDK.
     
  • 1.45, Андрей (??), 15:37, 13/10/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    нужно больше всяких недобиблиотек с зависимостями друг от друга, чтобы мощности современных цп утилизировать, ну и батарейка деградирует в мобильниках быстрее ещё.
     
  • 1.46, Омоним (?), 20:56, 13/10/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Не читал, но осуждаю. Жизненный цикл гугловых решений столь скоротечен, что призыв готовиться к закапыванию автор статьи мог бы и сам разместить сразу же в её постскриптуме. Или лучше эпиграфом.
     
  • 1.47, Аноним (47), 22:59, 14/10/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Нашел у них в библиотеке оператор goto
    https://github.com/google/oboe/blob/master/src/aaudio/AudioStreamAAudio.cpp:177
    Позор!
     
     
  • 2.48, имя (?), 03:44, 15/10/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Это гоферы не смогли defer в сиплюсплюсе найти просто.
     
     
  • 3.49, topin89 (?), 08:19, 15/10/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > не смогли defer в сиплюсплюсе найти просто.

    Или finally. Вообще этого finally в плюсах очень не хватает, лучшее, что есть -- это самопальные классы с деструктором, вызывающим заданную в конструкторе лямбду. Но её нужно создать в начале блока, а не в конце. Жаль, что finally не вводят по чистой идеологии.

    P.S. В Go можно в любой строке прописать "выполняться после return"? Серьёзно? Это тот же goto, с теми же проблемами (нужно найти все defer'ы, чтобы понять код), но вредным не считается.

     
     
  • 4.50, InuYasha (?), 12:54, 15/10/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    что плохого в goto finish;?
     
  • 2.51, антончик (?), 15:14, 15/10/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Это исключительный пример нормального goto, Линус одобряет.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2020 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру