Спасибо за все ответы. Это оказалось настоящим полезным опытом. В особенности я узнал, что Linux все еще имеет некоторые неработоспособные области, и звуковая установка является (возможно, самое большое) одним из них.
Это довольно легко кошке вход микрофона в файл (или сокет), и интуитивно это должно быть одинаково просто кошке файл в то, что чтения микрометра в - так, чтобы независимо от того, что чтения от микрометра могли читать, сказали звуковой файл. Это однако, к сожалению, не случай.
В результате я закончил тем, что изменил программу слушания так, чтобы она могла послушать на сокете вместо необработанного входа микрометра. Я затем записал простому клиенту жемчуга для перенаправления входа микрометра к сокету,
#!/usr/bin/perl -w
use strict;
use warnings;
use IO::Socket;
my $dspdev = '/dev/dsp';
my $port = 8000;
my $host = "127.0.0.1";
my $sock = new IO::Socket::INET(
PeerAddr => $host,
PeerPort => $port,
Type => SOCK_STREAM,
Proto => "tcp",
) || die "Couldn't open socket: $!\n";
open(DSP, "<", $dspdev)||die "can't open $dspdev: $!\n";
while( 1 ) {
my $rbuf = "";
sysread(DSP, $rbuf, 4096);
syswrite($sock, $rbuf);
}
На данном этапе это - все, в чем я нуждался, однако кажется, что требовалось немного больше усилия, чем это должно иметь. Я предложил решение, но я на самом деле не ответил на свой исходный вопрос, таким образом, я оставлю это открытым.
править: решенный для закрытия этого, поскольку это, кажется, не привлекает больше внимание.
Отодвиньте узел устройства или перекомпилируйте звуковую библиотеку для открытия чего-то еще. Тем путем Вы могли вставить свой собственный FIFO, или поддельный петлевой аудиодрайвер или что-то.
PulseAudio позволит Вам делать это, предполагая, что Ваш инструмент записи также использует PulseAudio. Я уверен, что ALSA может быть настроен для использования другого источника для аудио. Я предполагаю, что ответ действительно зависит, на каком приложении Вы используете для записи и что складывает, они используют.
Проверьте, не можете ли Вы установить источник записи на вывод, затем играть его. Я думаю, что это - типичная функция звуковых карт, но это - что-то, что необходимо было бы убедить аппаратные средства сделать.
Vsound также поможет Вам сделать это. И прохладная вещь - Вы, может циклично выполнить звук к чему-либо.попробуйте. vsound.org
Первый шаг устанавливал пакет alsa-утилит (принимающий RHEL / только CentOS и командная строка): вкусная установка alsa-utils
Затем включите воспроизведение с alsa текстовым пользовательским интерфейсом командной строки микшера: alsamixer
Для тестирования настроек, я использовал утилиту тестирования динамика: тест динамика-c2
Увлекшийся немного с тем, что мог на самом деле сделать тест динамика, таким образом, вот забавный, который будет раздражать мелких животных: синус-c2-t-f 4400 теста динамика
Заключительная часть должна была видеть, работала ли запись с этой командой: arecord-v-f CD> soundfile.sound
И воспроизведите его с: aplay soundfile.sound