3

I have impossible task to do! Going crazy!

On fresh Ubuntu server 10.04. install, via SSH I've installed desktop and VNC server. Then Skype.

Problem is that Ubuntu is VPS! And it don't have physical sound card.

I have tried everything that Google searching suggested, no luck!

For Windows system there is Virtual Audio Cable, that would make my life easier, but is there any solution for Ubuntu ?

Some said that Jack is solution, but I can't find any step by step tutorial.

I need to record Skype output! And "play audio file" to Skype input (mic).

Please help!

enloz
  • 41
  • Nice idead enloz. But the VPS limits a lot how to solve this problem. If the VPS let's you do it then great. If not I do not think there is a workaround for it. – Luis Alvarado Feb 22 '12 at 23:07

3 Answers3

4

I gave two solutions to another user doing something similar just the other day.

The problem with Skype is it's almost completely locked down, being a closed source application and the developers of it have a clear intended use for it (desktop/mobile), and not listening to server rooms. There are a couple of simlpe options though:

  1. Pipe MP3 over SSH. This requires almost no setup, past getting arecord working on the server, installing lame on the server and installing mpg321 on the client machine.

    ssh oli@bessy "arecord -q -t raw | lame -x -r -" | mpg321
    

    If you have more than one client listening, it might be bandwidth/CPU heavy so you might want to look at the next option...

  2. Use a broadcast-style application like Icecast or TeamSpeak because they're better designed for problem than Skype.

Oli
  • 293,335
  • 1
    Just to add to your answer, the other problem would be the server is a VPS. Which means that unless the VPS offers that service or possibility there will be no way to accomplish this. It is a very good idea I must say but with a VPS it would be harder. – Luis Alvarado Feb 22 '12 at 23:06
  • 1
    @LuisAlvarado That is a very valid point. Re-reading the question, my answer might be going in completely the wrong direction. Perhaps they want the server to accept calls, record what is said and play audio from file (not from a microphone). – Oli Feb 22 '12 at 23:13
0

I believe that with the PulseAudio Volume Control (pavucontrol), you are able to redirect sound from certain applications to others. You can probably redirect the Skype output to an audio recording program although I'm not sure if that would work given you don't have a sound card. If that works, the inverse would also work; you would be able to play sound from one application and redirect it to Skype.

0

If you have PulseAudio running on the machine you can achieve this by recording what Skype sends to the sound card (no matter if virtual or not) and what you speak into the microphone. I have a little script here:

#!/bin/bash
monitor=$(pactl list | grep -A2 'Source #' | grep 'Name: .*\.monitor$' | cut -d" " -f2)
mic=${monitor/output/input}
mic=${mic%.*}
gst-launch-0.10 -e pulsesrc device=$mic ! adder name=mix ! audioconvert ! vorbisenc ! oggmux ! filesink location=$1 { pulsesrc device=$monitor ! mix. }

Here, it looks for the sound card used for playback and taps its monitor. Then it looks for the mic input and monitor that. The recording is done by the gstreamer pipeline that starts two recordings and mixes them together and writes the audio as Ogg Vorbis.

If you save this script as pa-rec-monitor.sh you can start it as ./pa-rec-moonitor.sh filename.ogg.

You can check if it’s recording what you want by installing pavucontrol. On the »Recording« tab there should be two streams with the VU meters reacting to audio.

towolf
  • 667