2017-03-20 51 views
1

因此,我目前正在尝试将我的麦克风输入从我的树莓派(rasbian) 流式传输到某种网络流,以便稍后在手机上接收它。 为了做到这一点,我使用arecord -D plughw:1,0 -f dat -r 44100 |从我的usb麦克风到标准输出的管道输出,尽管我可以看到它的工作状况良好,但我需要它更响亮一点,所以我可以了解远离它的人们。pipe sox播放命令到标准输出

所以我把它管道输送到SOX播放命令是这样的:

arecord -D plughw:1,0 -f dat -r 44100| play -t raw -b 16 -e signed -c 2 -v 7 -r 44100 - test.wav (test.wav只是一些随机的wav文件ID不无它的工作和存在之间的空白 - 背后44100和test.wav因为我认为 - 是一个单独的参数:

SPECIAL FILENAMES (infile, outfile): - Pipe/redirect input/output (stdin/stdout); may need -t -d, --default-device Use the default audio device (where available)

我使用-v参数,我可以增大音量想通了。 这将录制的流播放到我连接到树莓派3的扬声器。

最终目标:管道音量增加soundstream到标准输出(或一些fifopipe文件),所以我可以从标准输入内的另一个脚本发送它到我的手机。

但是即时通讯非常受播放命令http://sox.sourceforge.net/sox.html

我需要选择outputdevice管道或粗壮什么的手册页弄得
如果你知道一个更好的办法只有增加的电压快速,我认为Recording WAVE 'stdin' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo soundstream让我知道

+0

莫比这属于上dsp.stackexchange.com生病后它那里,如果没有人能帮助我在这里感谢 –

回答

1

据我所知,你不能管从play输出,你必须使用常规的sox命令。 例如:

# example sound file 
sox -n -r 48k -b 16 test16.wav synth 2 sine 200 gain -9 fade t 0 0 0.1 

# redundant piping 
sox test16.wav -t wav - | sox -t wav - gain 8 -t wav - | play - 

在你的问题的命令的情况下,它应该是足以改变playsox并添加-t wav让SOX知道你想要什么格式来管的声音。

arecord -D plughw:1,0 -f dat -r 44100 | \ 
sox -t raw -b 16 -e signed -c 2 -v 7 -r 44100 - -t wav - 
+0

工作正常,我认为 –

相关问题