savonet / liquidsoap

Liquidsoap is a statically typed scripting general-purpose language with dedicated operators and backend for all thing media, streaming, file generation, automation, HTTP backend and more.
http://liquidsoap.info
GNU General Public License v2.0
1.39k stars 126 forks source link

Crossfade: Howto?? #1224

Closed saschaende closed 4 years ago

saschaende commented 4 years ago

Help me, i find no solution for hours now :enttäuscht: I am always getting "Error 4: Undefined variable fade.in" with this - just want to have a simple crossfade:

!/usr/bin/liquidsoap

def crossfade(~start_next,~fade_in,~fade_out,s) s = fade.in(duration=fade_in,s) s = fade.out(duration=fade_out,s) fader = fun (a,b) -> add(normalize=false,[b,a]) cross(duration=start_next,fader,s) end set("init.allow_root",true) myplaylist = playlist("/etc/ices2/playlist.pls") security = single("/etc/ices2/music/summer-ambient-piano--by-rafael-krux-from-filmmusic-io.ogg") radio = myplaylist radio = fallback(track_sensitive = false, [radio, security]) radio = crossfade(start_next=1.,fade_out=1.,fade_in=1.,radio) output.icecast(%vorbis,host = "localhost", port = 8000, password = "xxx", mount = "/filmmusic",radio)

mylselgan commented 4 years ago

Hi, I too have issue with crossfade after updating to latest version. Previously i used radio = crossfade(start_next=5.,fade_in=0.,fade_out=5.,s)

Please give me a solution too. My requirement is very simple.

I need the currently playing song to fade for five seconds at the end and the next song should start when the previous song starts fade.

Ex. I have two 3:00 minuets songs When the first song reach 2:55 it should start fade and the next song should continue without initial fade.

saschaende commented 4 years ago

@mylselgan Yes, i need the same simple thing.

saschaende commented 4 years ago

I got it to run. Follow my guide: https://www.sascha-ende.de/development/general/886-icecast2-on-ubuntu-20-04-with-nginx-certbot-ssl-and-liquidsoap/

toots commented 4 years ago

Glad you got it to run. For the record, we diagnosed some issue with the location of the default .liq libraries.

KevanGP commented 10 months ago

I hate to post in this issue after 3 years but I can't get it to work either. The guide linked gives a 404 not found error. I'm using basic non-smart-crossfade for now, but I want the fades based on volume not time. I know my script says smart=true, but putting in manual times seems to override that. Without the manual times entered, smart-crossfading works sometimes but not always.

faded = crossfade(radio,smart=true,fade_out=0.50,fade_in=0.01,duration=0.50)