-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Wayne,

This is an amazing set of liquidsoap/jack/rotter stuff. I wasn't aware
of the rotter utility, I simply have a separate output "clause" for
archives in the liquidsoap script. I'm going to look into using JACK for
input/output for monitoring the stream more easily.

I've recently discovered the magic of "clocks" in liquidsoap. The way I
understand them is that they enable multiple outputs that are timed
independently of each other. In our example (see below) I'm sending the
output to 1) our Internet stream, 2) a local instance of Icecast, and 3)
an hourly-rotating archive file. I noticed in the past that the
reliability of the internet connection would affect the other streams. I
believe using clocks has fixed this situation.

I've pasted my "stream encoder" script for another liquidsoap example at
http://pastebin.com/sRVDC6SP (the last clause in the script is the
hourly rotation to the local archive).

Cheers,

  ~David Klann

On 04/28/2014 05:02 PM, Wayne Merricks wrote:
> Easier than you think.
>
> pastebin.com/u/MezzFA0
>
> In there is a full guide for JACK, Rotter and Liquidsoap all with
startup scripts on Ubuntu
>
> or just this link for the liquid soap config:
>
> http://pastebin.com/ziNEKF03
>
> But the only things you need to do are:
>
> #Get an input stream (darkice auto grabs from line in if I remember
rightly so I'm assuming ALSA in):
> liveStream = (input.alsa(id="liquidsoap"):source(1,0,0))
>
> #id can be anything you want, source(1,0,0) is 1 audio, 0 video and 0
something else I've forgotten so this would be mono
> #You might have to take the stereo stream with source(2,0,0) and then
mono it with:
> #liveStereo = (input.alsa(id="liquidsoap"):source(2,0,0))
> #liveMono = mean(liveStereo)
>
> #Here do any processing to the stream you want, you could silence detect:
> emergencyFile = mksafe(single("/var/audio/emergency/silentalarm.mp3"))
> #you need to obviously make and put a silentalarm.mp3 in that location
or somewhere else accessible
> # Silence Detection, plays after 30 seconds of silence
> liveStream = strip_blank(liveStream, length=30.0)
>
> #Tell it what to do when its silent (track_sensitive=true will wait
for the track to end before cutting back to the main stream):
> liveStream = fallback(track_sensitive=false, [liveStream, emergencyFile])
>
> #You could have a tracklist instead of an emergency file, you can even
have a ruled tracklist that will play idents on the hour, pick random
songs from directories etc but I've never attempted that
>
> #Or how about compression:
> liveStream = compress(ratio=3.0, attack=38.0, release=85.0,
threshold=-20.0, knee=0.5, gain=8.0, liveStream)
>
> #What if you need a limiter:
> liveStream = limit(ratio=3.0, attack=38.0, release=85.0,
threshold=-3.0,knee=0.5, liveStream)
>
> #Finally send it off to icecast
> output.icecast(%mp3(stereo=false, samplerate=22050,
bitrate=32),liveStream, description="Describe me", genre="Give me a
genre", url="My Website", name="Title Me", mount="what mount point to
use", host="localhost", password="my secret password", port=8014)
>
> Theres tons of sound processing you can do.  You can even automate an
entire DJ free station by setting up schedule rules and other stuff. 
The full API is here:
> http://savonet.sourceforge.net/doc-svn/reference.html
>
> But it is a bit cryptic, I still sit there smashing my face on the
wall when it should work but just doesn't.
>
> Oh you'll need to save this config in a file convention is blah.liq
then you can run liquidsoap /path/to/config/blah.liq
>
> You can also run liquidsoap -c /path/to/config/blah.liq to get it to
check your config and spew out any errors.
>
> Regards,
>
> Wayne
>
> On 2014-04-28 18:45, Rick wrote:
>> interesting subject #finaly will work on this also next week and try
>>
>>
>>
https://www.google.nl/#q=liquidsoap+site:http:%2F%2Fcaspian.paravelsystems.com%2Fpipermail%2Frivendell-dev%2F
>>
>>
>>
>> drew Roberts schreef op 28-4-2014 19:45:
>>> I know some of you folks know more than I do about liquidsoap.
Perhaps someone
>>> can help. Anyone know how to match this darkice setup in liquidsoap:
>>>
>>> [icecast2-0]
>>> bitrateMode     = cbr       # constant bit rate
>>> format          = mp3       # format of the stream: mp3
>>> bitrate         = 32       # bitrate of the stream sent to the server
>>> sampleRate      = 22050
>>> channel         = 1
>>> server          = localhost
>>>                              # host name of the server
>>> port            = 8014      # port of the IceCast2 server, usually 8000
>>>
>>> all the best,
>>>
>>> drew
>>> _______________________________________________
>>> Rivendell-dev mailing list
>>> [email protected]
>>> http://caspian.paravelsystems.com/mailman/listinfo/rivendell-dev
>>>
>>
>> _______________________________________________
>> Rivendell-dev mailing list
>> [email protected]
>> http://caspian.paravelsystems.com/mailman/listinfo/rivendell-dev
>
>

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iF4EAREIAAYFAlNfIBkACgkQZtxZ++32cNiTlgEAp7HQ0GQIIBv/bmRNL7T55qo6
JxkO7qFPjEVwNufhUv0A/3CLAigDEPhK8640WSb7ZofXC71ce7CCNUTfvs7KtuJE
=V9/a
-----END PGP SIGNATURE-----

_______________________________________________
Rivendell-dev mailing list
[email protected]
http://caspian.paravelsystems.com/mailman/listinfo/rivendell-dev

Reply via email to