[LAU] Streaming radio and calls from listeners

From: Len Ovens <len@email-addr-hidden>
Date: Mon Jun 23 2014 - 00:00:46 EEST

Louigi Verona wrote:

> I am not able to use the telephone line. I can rely only on Skype or
> similar online services for calls, unfortunately. I should have
> mentioned that, but I did not know someone is using an actual phone for
> it nowadays.

Ok, I did the full setup minus the last step of encoding and streaming to
the server.

I used idjc as my console. I installed skype and created an account.

My audio setup:
ice1712 audio card.
At the start of session jackdbus is started at 48k 2048/2, a2jmidid runs
and pulse gets restarted so it sees jack. I already have all audio
interfaces turned off in pulse so if jackdbus is not available there is
only a "dummy" output. I use this:
http://www.ovenwerks.net/software/index.html
Which I have not yet packaged, and set to phone mode which is jack at
128/2 and pulse->jack bridged and the cpu governor set to performance.
My studio mic (I happen to have a Peavy PVM 520NT dynamic set up just now)
is into capture_1 through a mackie pre strip. Playback_1 and 2 go to
studio monitors.

I start idjc and move the pulse lines to the matching idjc voip lines. If
I was doing this all the time... ie, this computers job was radio studio,
I would have pulse start without connections and use jack.plumbing or some
session manager to make sure this are connected right... I haven't looked
into it but I think idjc can do this part too.

I haven't made actual phone calls, but the "echo/sound test service"
provides both incoming and outgoing audio, so I used that as it streamed
audio to and from the skype server.

The output was recorded rather than streamed. The recording of both
incoming and outgoing audio was clear and dropout free. I had an mp3 being
played through idjc as well at the same time and that was mixed in fine
too.

So if pulse is already running on your system, it is probably the easiest
thing to use. It just works with pulse with no fussing needed. Using pulse
means that the ports are always graphed and can remain connected all the
time and any other desktop audio source can easily be used... for example
a soundcloud track could be directly played from a browser or another voip
client could be used for normal phone calls all without doing any extra
setup.

Pulse has it's bad points for sure, but with a suitable machine (I have a
newer i5 machine at 3.2 Ghz with 8Gram... nothing special) it is the cat's
meow for this application.

Things to remember:
Streaming audio means DSP work. Generally all your content is encoded and
the idea of decoding to live play of at least three mp3/ogg files while
still encoding the output for streaming is a reality. Then adding skype
adds an encoding and a decoding step as well. This is assuming that the "on
air talent" (dj) is playing music and talking to their next "on the phone"
guest at the same time even if the phone audio is not being streamed at that
time. This is where my old computer failed, it just ran out of CPU to do
all that. This decoding includes sample rate changes too. I think skype
likes 48k and then a lot of mp3 and oggs are 44.1k... though of coarse an
effort could be made to make sure the file library is at the working
sample rate which may reduce the cpu load some. I didn't have to do that
in my test though.

On this machine with an mp3 playing and a skype call running my cpu
was still less than 10% so there is still room for some audio optimization
of the final stream before output. (is there an LV2 plugin for on air
optimization? In any case all the bits are there) I suspect there is also
room for an on air monitor running separately.

--
Len Ovens
www.ovenwerks.net
_______________________________________________
Linux-audio-user mailing list
Linux-audio-user@email-addr-hidden
http://lists.linuxaudio.org/listinfo/linux-audio-user
Received on Mon Jun 23 00:15:02 2014

This archive was generated by hypermail 2.1.8 : Mon Jun 23 2014 - 00:15:02 EEST