> Salut, > > Ca fait plaisir de se faire découvrir par une grosse webradio française :D
Thanks :) > Let's switch back to english for the technical stuff... > >> I've been searching for a long time for something >> similar to ices but able to stream to sound cards instead of icecast, > > Indeed, liquidsoap can do that. The ALSA I/O is not fully finished yet > (it doesn't resample when the soundcard doesn't accept 44100Hz) but > it's only a matter of time (and of requests from big shots like > you)... The reason why I didn't do it yet is because we started > working on Jack I/O instead -- more powerful and portable. Anyway, if > you're only interested in output, output.ao() using libao should be > enough -- and it works great. Using Jack IO would also be fine, this is useful to do software sound processing. >> which is necessary when you want to do some hardware sound processing >> without resorting to dirty trick such as chained >> ices/icecast/player/darkice full of decoding/reencoding, and keep using >> unix platforms. > > What kind of hardware processing are you doing? I'm curious about what > cannot be done with software. Or is it that you want a hardware mixing > table or something like that? We would like to try an Optimod PC 1100 cards. We have been tipped by their techs that linux drivers should be available "at some point". Obviously, this can also be done by soft, but hardware processing is safer. >> - A "smart" crossfader able to automatically chose a good crossfading >> curve between tracks depending of the shape of the ending and starting >> songs, and also supporting per song intro/outro points (the smart >> feature >> is important : we're dealing with thousands of songs and for practical >> and >> historical reasons most of them have no entry/outro point, so the fader >> should try to do a good job in the general case). > > Nothing like that in liquidsoap. But I want to stress that programming > a new operator isn't so difficult -- you don't even have to know much > of OCaml. And it'll get simpler soon, as I should change the internal > representation of audio frames to float arrays. Smart crossfading > sounds very useful so I bet we can find people to help integrating it. > I'd be happy to discuss that further. I'd be happy to provide help and code (though I can not promise how much time I can spend on it :) ). The current C code of the fader uses raw numeric data, so audio as float arrays is juste the same. The fader is actually quite simple and maybe a little bit naive as to how it detects shapes, but it works well in practice (and anyway, we cannot really do much inside the ices code). >> - Some ability to kill blank between tracks. > > Indeed, we have that. > >> - The ability to suspend itself and deconnect from an icecast/shoutcast >> and reconnect on demand. This allows us to take control of the stream >> for >> live sessions. > > Possible, using ID.start/stop from the telnet interface. > >> - Periodic metadata changes (instead of just at tracks start) got form >> an >> external script. > > Not there yet but it's just a matter of adding a simple operator.. > funny that I didn't do that already. > > Before finishing I want to stress that there might be better uses of > liquidsoap than just sticking it in place of ices. In particular, > turning it on/off when starting a live show is not needed as it can > handle the switching by itself, and allows you to define a transition > from automatic to live show and back. Yeah, reading from the feature I plan on using it to do smooth transitions between live/non live session, and maybe using channels to do sweeper/liner inserts. Regards, -- mouke http://www.bide-et-musique.com
