Инструкции по микшированию двух аудиопотоков

Из руководства по sed ...

https://www.gnu.org/software/sed/manual/sed.html

Когда достигается конец файла, временный файл переименовывается в исходное имя выходного файла.

-i[SUFFIX]
--in-place[=SUFFIX]
This option specifies that files are to be edited in-place. GNU sed does this by creating a temporary file and sending output to this file rather than to the standard output.1.
This option implies -s.

When the end of the file is reached, the temporary file is renamed to the output file's original name. The extension, if supplied, is used to modify the name of the old file before renaming the temporary file, thereby making a backup copy2).

This rule is followed: if the extension doesn't contain a *, then it is appended to the end of the current filename as a suffix; if the extension does contain one or more * characters, then each asterisk is replaced with the current filename. This allows you to add a prefix to the backup file, instead of (or in addition to) a suffix, or even to place backup copies of the original files into another directory (provided the directory already exists).

If no extension is supplied, the original file is overwritten without making a backup. 

2
10.04.2017, 20:42
1 ответ

Самый простой способ - использовать Pulseaudio. (Вы можете сделать это с помощью ALSA, но это будет болезненно настраивать.)

Все, что производит звук, автоматически микшируется на текущем выходе («сток» в терминах Pulseaudio), поэтому вам не нужно беспокоиться о микшировании. Вы можете управлять томами с помощью pavucontrol , и он запоминает последний том по имени приложения. Вы можете использовать paplay для воспроизведения файлов wav из командной строки, но подойдет и любой другой аудиоплеер.

Преобразование в моно будет выполнено автоматически, если у вас моно. Если вы не можете настроить для этого локальный приемник RaspPi (я не знаю, у меня нет RaspPi), вы можете добавить «псевдо» приемник с помощью

pactl load-module module-null-sink sink_name=whatever

или, если окажется, что вам нужно переназначить Pulseaudio, модуль переназначения-приемник (см. Ниже, сам еще не пробовал).

Этот приемник или локальный приемник RaspPi будет иметь связанный источник .monitor , который вы можете использовать для его распространения на icecast и т. Д.

Вы можете настроить постоянную подачу входа hw: 1 в выбранные вами раковины с помощью

pacmd load-module module-loopback source="alsa_input.name_of_hw_1" sink="whatever_or_local_sink"

Вы можете перечислить доступные имена раковин с помощью

pacmd list-sinks | grep name:

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

Я думаю, что это основы. Прочтите о доступных модулях Pulseaudio , и pacmd help расскажет вам, что вы можете сделать из командной строки, если вы не хотите использовать pavucontrol .

Отредактируйте для ALSA :

Сначала прочтите о доступных плагинах . Вам понадобится «виртуальная звуковая карта» для маршрутизации звука в darkice и т. Д. Это модуль ядра, поэтому сделайте что-нибудь вроде

sudo modprobe snd-aloop pcm_substreams=2

для тестирования и поместите файл в /etc/modprobe.d , когда он работает. Скажем, шлейфом является hw: 3, *, * .

На входе виртуальной звуковой карты вам понадобится что-то вроде

dmix "main_in" -> plug (slave.channels = 1) -> hw: 3,0,0

Затем вы можете aplay -D main_in sound.wav и запустить

alsaloop -C hw:0 -P main_in

, чтобы подключить его к аудио грабберу.

На стороне вывода виртуальной звуковой карты, что-то вроде

hw: 3,1,0 -> dsnoop "main_out"

и снова для мониторинга его на локальном аудиовыходе

alsaloop -C main_out -P local_audio_out

Затем вы можете запустите darkice и измеритель уровня громкости непосредственно на main_out . Кстати, arecord -D main_out -d 0 -vv / dev / null - хороший VU-метр для тестирования.

Прочтите подробности о синтаксисе по ссылке выше, я не собираюсь пробовать это. Стрелки -> указывают на отношения "главный / подчиненный" плагина. Задержка, вероятно, будет ужасной, с одной петлей через пространство ядра и множеством приложений пользовательского пространства.

Если Pulseaudio у вас не работает, альтернативой является разъем , но у меня нет опыта его настройки.

1
27.01.2020, 22:18

Теги

Похожие вопросы