Звук Linux: как "слушать" произвольный звук, воспроизводимый произвольным источником?

Ладно, привет друзья вундеркинды и другие люди ^^

Мне всегда было интересно, есть ли "хороший" (также известный как общепринятый) способ перехвата / перехвата потоков данных и действий в Linux, например, "Как написать фрагмент кода, который получает информацию о создании / модификации / удалении файл?", " Как написать фрагмент кода, который может регистрироваться для того, что обрабатывает нажатия клавиш, движения мыши, касания сенсорного экрана?", " Как написать фрагмент кода, который получает информацию о процессоре / графическом процессоре / памяти / диск / батареи темы? " и тому подобное.

Возможно, ты такой: "Ну, читай долбаные документы, чувак!" сейчас, но на самом деле меня беспокоит тот чертов факт, что Linux должен быть открытым. По источникам, конечно. Но с точки зрения поведения это кусок 11-мерной грязи. Чего не хватает? Правильно: API (имеется в виду: один!).

Что ж, вдохнем, выдохнем, давайте еще раз остынем.

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

Чтобы получилось глупо (сейчас я не справляюсь с этим, но это простой и понятный пример), как я могу слушать любой звук, воспроизводимый в системе, и позволить светодиодному индикатору на Raspberry мигать для каждого удара, например, что-то ниже 40 Гц, громче -6 дБ и короче 100 мс?

Просто чтобы добавить подсказку, почему все это может быть полезно для того, чтобы сделать Linux лучшей системой... Предположим, вы можете перехватить аудио из видеопотока, как я сказал. Даже не самое современное оборудование способно распознавать речь в текст и использовать внешний API (например, google или open*) для перевода. Таким образом, вы могли бы написать приложение, которое перехватывает звуковую часть фильма, преобразует речь в текст и отображает перевод на экран, то есть субтитры, без написания совершенно нового проигрывателя.

В том же направлении давайте обработаем звук ядром. Поставщики оборудования могли перехватить маршрутизацию звука в Userland, чтобы оптимизировать звук в соответствии со своими платами, динамиками и наушниками без сложных модулей драйверов. Допустим, существует библиотека loudspeaker.sa, которая может быть преобразована в библиотеку mono_speakers.sa или в библиотеку phones.sa, собранную конфигурацией, а затем использованную библиотекой sound.sa, которая может использоваться как одна phone.sa или 7+1 mono_speakers.sa, который, в свою очередь, может использовать 1, 2, 3 loudspeaker.sa-s каждый, настроенный с помощью некоторой конфигурации XML или JSON.

Извините, мне снится...;)

0 ответов

Другие вопросы по тегам