Как передать звук из одного приложения в другое

Я пока ещё не придумал зачем, но есть утилиты, которые позволяют передать звук из одного приложения в другое. Оказалось, что это даже кому-то нужно. Например, для тех, кто работает с цифровыми звуковыми рабочими станциями (DAW). Поэтому вот вам пост с такой утилитой.
На macOS
BlackHole — небольшая утилита, которая помогает передавать звук из одного приложения в другое без задержек.

- 16 аудиоканалов с возможностью увеличения до 256 и более;
- аудиочастот 44.1kHz, 48kHz, 88.2kHz, 96kHz, 176.4kHz и 192kHz;
- работу на macOS 10.10+
Для начала работы с BlackHole нужно закрыть все аудиоприложения на компьютере, установить утилиту и перезагрузить систему.
Loopback поможет передать аудио из одного приложения в другое.
Это поможет комбинировать звук из нескольких источников с аудио-устройствами и отправить их в третье приложение.

Утилита поддерживает любые приложения и устройства ввода аудио. Также есть поддержка мультиканальности и возможность замкнуть устройство само на себе.
На Windows
Virtual Audio Cable — утилита, которая поможет перенаправить звуковой файл между программами. Или записать звук одного приложения с помощью другого.

Принцип работы программы очень простой. Virtual Audio Cable отображается как устройства вывода аудио в системе, благодаря чему вы сможете производить различные манипуляции со звуком.
Хотя приложение и выглядит устаревшим, на самом деле оно максимально эффективно для решения обозначенной проблемы. Правда, чтобы разобраться во всех настройках и возможностях придётся потратить время.
Voicemeeter Banana

Voicemeeter Banana – продвинутый аудио микшер, включающий виртуальное аудио-устройство. Оно используется как виртуальный вход/выход для звука, что позволяет перенаправить звук из одного приложения или устройства в другое.
Настройка звука и микрофона
Тонкие клиенты thinBox стандартно поддерживают вывод звука через HDMI подключение или встроенный 3,5mm jack. Подключение микрофона возможно через USB гарнитуру или внешнюю USB звуковую карту.
Параметр sound
Можно перенаправить звук с сервера на HDMI выход терминала. Для того, чтобы перенаправить звук на терминал, надо указать в конфигурационном файле:
sound = on
Для подключения USB колонок или гарнитуры укажите в конфигурационном файле:
sound = on, hw:1:0
Для вывода звука на 3,5mm jack укажите в конфигурационном файле:
sound = on, amixer:cset numid=3 1
Следующая строка оставит звук на сервере, т.е. звук будет воспроизводиться через звуковую карту сервера:
sound = remote
По умолчанию передается один канал сжатого ADPCM звука.Можно включить второй канал и получить стерео звук:
sound = on, stereo
Отключить сжатие и передавать два канала несжатого звука, при этом передается 170 килобайт в секунду:
sound = on, raw
Параметр sound_level
Уровень громкости звука, который будет установлен после запуска терминала, указывается так:
sound_level = 50
Диапазон значений — от 0 (звук выключен) до 100 (максимальная громкость).
Параметр sound_buffer
Настройка буфера для воспроизведения звука
sound_buffer = 300
Диапазон значений — от 50 (минимальная задержка) до 500 (если иначе заикается).
Параметр microphone
Перенаправление микрофона. Работает только в Windows 7, Windows Server 2008r2 и новее:
microphone = on
USB микрофон (только микрофон, без наушников):
microphone = on, hw:1:0
Параметр microphone_level
Уровень громкости микрофона, который будет установлен после запуска терминала, указывается так:
microphone_level = 50
Диапазон значений — от 0 (микрофон выключен) до 100 (максимальная громкость).
Информация
- Оплата и доставка
- Гарантийное обслуживание
- Документация
- Инструкции
- Настройки тонкого клиента
Как перенаправить звук микрофона на колонки в Astra Linux?
После команды pactl load-module module-loopback latency-msec=1 пишет: Произошла ошибка: Не удалось инициализировать модуль
Подскажите пожалуйста так же как можно это сделать в графике ALCE.Карл
New member
Сообщения 471
а что в логах ?Iskatel_znaniy
New member
Сообщения 759
а что в логах ?
Каких именно и как их смотреть?countmein
New member
Сообщения 327
В графике вроде никак. Я этой командой и включаю. Написал скрипт и привязал его к горячим клавишам для включения и отключения этой фичи. Быстрее, чем графика. Про логи не знаю. У меня сразу заработало. Правда, не микрофон, а линейный вход, но вряд ли есть разница.
countmein
New member
Сообщения 327
Вместо логов в терминале выполните «pacmd». А там уже «load-module module-loopback latency_msec=1» (без «pactl»). Может, там будут подробности. Выход по Ctrl-D.
Iskatel_znaniy
New member
Сообщения 759
Вместо логов в терминале выполните «pacmd». А там уже «load-module module-loopback latency_msec=1» (без «pactl»). Может, там будут подробности. Выход по Ctrl-D.
Никакой информации эти команды не выдали. Разве что вот
Welcome to PulseAudio 10.0! Use «help» for usage information.
после команды pacmd
Но звук в колонках стал какой то странный как бы эхом. Я то думал что просто мой голос в микрофоне будет передаваться на колонки а тут просто аудио зазвучало как то иначе. а как вернуть обратно?Как передать звук в микрофон?
Как я могу передать звук в микрофон? (Типа как в Soundpad) Информацию о том как захватить звук с микрофона я нашел, а вот как передать туда звук — нет.
Отслеживать
13.7k 12 12 золотых знаков 43 43 серебряных знака 75 75 бронзовых знаков
задан 7 апр 2021 в 14:46
49 4 4 бронзовых знакаЯ в данном вопросе некомпетентен, поэтому возможно спрошу глупость, но зачем передавать звук в. микрофон?
7 апр 2021 в 14:50
2 ответа 2
Сортировка: Сброс на вариант по умолчанию
Наверное вы имели в виду не передать звук в микрофон, а сделать так, чтобы система получила звук из микрофона, но этот звук был получен не из микрофона, а из другого источника (например, из файла).
Система получает ввод с микрофона от драйвера микрофона, он говорит ей, какой звук «услышал» микрофон. Переписав драйвер, можно сделать так, чтобы драйвер говорил что угодно.
В вашем случае, вам скорее всего переписывать драйвер было бы не практично, так как девайсы бывают разные и драйвера у них разные.
Для вашего кейса вам бы подошел виртуальный драйвер микрофона, который бы передавал любые звуки системы. Если вы не писали драйвера никогда, может быть довольно сложно.
Вы будете работать с протоколом ASIO, это протокол передачи данных от аппаратной части к софту, только потоком ввода у вас будет не аппаратная часть, а файл или что-то еще.
Вот нашел Java враппер для ASIO, можете начать копать отсюда.