Hi all!

I'm a newbie in the liquidsoap world, when I've been asked to help in setting up a web-radio I've opted for this software - which I think I will never leave even if it is too heavy to run on an Alix! :)

I'm trying to do some transition with fallback on 3-source: live, studio and emergency. What I want is that when switching to the emergency playlist, there are first 5 seconds of noise(), and then the actual MP3s playlist fade in.

I've tried many combination of add/sequence both in the fallback definition and in the crossfade function, what I don't understand is why in the following example the noise doesn't stop after 5 seconds but last forever (the same appen whith blank() - but with noise() every 5 seconds there is a restart of normalization with a gain peak):

def crossfade_noise(from, to)

        add(normalize = false, [
                sequence([
                        fade.final(duration = .5, from),
                        fade.initial(duration = .5,
                                normalize(
                                        gain_min = -40.,
                                        gain_max = -10.,
                                        target = -25.,
                                        noise(duration = 5.)
                                )
                        )
                ]),
                fade.initial(duration = 6., to)
        ])
end

Cna someone help me in understand what I'm doing wrong? I'm using liquidsoap 0.9.3 from the Debian repository.

Thank you in advance!

        sperimentatamente,
        Francesco P.

P.S. The whole script is attached, just in case!

--
Francesco P. Sileno - OSCR S.r.l.
<[email protected]> - http://www.oscr.it/
Tel.    +39.06.91.65.03.683 (segreteria telefonica)
Cell.   +39.340.53.42.374
Fax     +39.06.62.20.13.51
set("server.telnet",            true)
set("server.telnet.bind_addr",  "127.0.0.1")
set("server.telnet.port",       4675)

set("harbor.bind_addr", "0.0.0.0")
set("harbor.port",      8100)
set("harbor.password",  "34-ge.35Gt34.35")
set("harbor.timeout",   30.)


##
#       Variabili
##


def live_auth(user, password) = 
        
        #(user == "source" and password == "devel" and 4w and 21h-00h)
        (user == "source" and password == "devel")
        or
        (password == "12345678" and 22h-24h)
end

avvio_test = single('/data/mp3/deliradio-avvio.mp3')
termine_test = single('/data/mp3/deliradio-termine.mp3')

tone = sine(440.)

low_noise = normalize(
        gain_min = -40.,
        gain_max = -10.,
        target = -25., 
        noise()
)

##
#       Funzioni
##


def crossfade(from, to)

        add(normalize = false, [ 
                fade.final(duration = .5, from),
                fade.initial(duration = .5, to) 
        ])
end

def crossfade_jingle(jingle, from, to)

        add(normalize = false, [
                sequence([
                        fade.final(duration = 2., from),
                        jingle,
                        fade.initial(duration = 2., to) 
                ])
        ])
end

def crossfade_noise(from, to)

        add(normalize = false, [
                sequence([
                        fade.final(duration = .5, from),
                        fade.initial(duration = .5, 
                                normalize(
                                        gain_min = -40.,
                                        gain_max = -10.,
                                        target = -25., 
                                        noise(duration = 5.)
                                )
                        )
                ]),
                fade.initial(duration = 6., to) 
        ])
end


##
#       Input
##


live = input.harbor(
        "input",
        auth = live_auth
)
live = strip_blank(
        id = "live",
        threshold = -30.,
        length = 10., 
        rewrite_metadata(
                [("artist", "** DEVEL **"), ("title", "live")],
                live
        )
)


remote = input.http(
        "http://91.121.183.191:80/play";,
)
remote = strip_blank(
        id = "remote",
        threshold = -30.,
        length = 10.,
        rewrite_metadata(
                [("artist", "** DEVEL **"), ("title", "remote")],
                remote
        )
)
#remote = my_sky(remote)
#remote =  compress(threshold=-15.,ratio=2.,gain=2.,normalize(remote))
#remote = nrj(remote)
#remote = normalize(
#       target = -13.,
#       k_up = 0.005,
#       k_down = 0.1,
#       compress(
#               gain = 3.,
#               ratio = 3.,
#               threshold = -15.,
#               normalize(remote)
#       )
#)


fallback_playlist = playlist(
        "/data/mp3/subsonica",
        id = "fallback"
)
fallback_playlist = rewrite_metadata(
        [("artist", "** DEVEL **"), ("title", "fallback playlist")],
        fallback_playlist
)


stream = fallback(
        id = "stream",
        track_sensitive = false, 
#       transitions = [ crossfade_jingle(avvio_test), 
crossfade_jingle(termine_test), crossfade() ],
        transitions = [ crossfade(), crossfade(), crossfade_noise() ],
        [
                live,
                remote,
                fallback_playlist
        ]
)
#stream = nrj(stream);


##
#       Output
##


output.icecast.mp3(
        host = "127.0.0.1",
        port = 8000,
        password = "devel",
        mount = "play",
        bitrate = 128,
        stereo = true,
        samplerate = 44100,
        restart = true,
        public = false,
        url = "",
        name = "--- DEVEL ---",
        description = "",
        genre = "Misc",
        mksafe(stream)
)

#output.shoutcast.mp3(
#       host = "127.0.0.1",
#       port = 9000,
#       password = "devel",
#       bitrate = 128,
#       stereo = true,
#       samplerate = 44100,
#       restart = true,
#       public = false,
#       url = "",
#       name = "--- DEVEL ---",
#       description = "",
#       genre = "Misc",
#       mksafe(stream)
#)

------------------------------------------------------------------------------
Increase Visibility of Your 3D Game App & Earn a Chance To Win $500!
Tap into the largest installed PC base & get more eyes on your game by
optimizing for Intel(R) Graphics Technology. Get started today with the
Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs.
http://p.sf.net/sfu/intelisp-dev2dev
_______________________________________________
Savonet-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/savonet-users

Reply via email to