I'm in the process of setting up an audio processor on my remotely hosted CentOS box. The audio processor itself is command line based, and after speaking with the author he explained to me that it works by reading in a live .WAV stream, and it outputs a live .WAV too.
Now basically, the scenario I have is this:
I have a shoutcast server on this box using port 8000. This shoutcast server is the point at which the DJ's connect.
I have a secondary shoutcast server using port 8002 where the listeners will connect.
In between these, I would like to use this audio processing tool. It would need to connect to the first shoutcast server on port 8000, process the audio, and then send it to the server on port 8002.
The program cannot do this on it's own unfortunately, so I am told by the software author. He also stated that this scenario is workable, providing I use the right method. He suggested something like the following:
- Command line tool that reads the incoming stream, and pipes it to:
- Command line tool that extracts the MP3 data to WAV format, for example lame with option --decode.
- Stereo Tool.
- Program that encodes WAV to MP3 data, for example lame.
- Program that streams this, which can handle a pipe as input.
Step 1+2 could be replaced by: 'arecord', linked using 'jack' to a program that receives and plays an incoming stream
Similarly, step 5 could be replaced by: 'aplayer', linked using 'jack' to a program that streams audio data.
I do understand what he has said, and I could proably do this if I was using a local install with a GUI and a sound card. But, with me not being majorly familiar with Linux command line, and not having a sound card, I am at a loss as to how something like this could be implemented.
I am totally lost to be honest, and would appreciate some insight from you linux guru's on how to configure something like this. It's mainly the input and output im struggling with.
Thanks in advance for any help.