silence between songs
  • Hello All,

    After leaving airtime a while ago, because of important missing features, I now installed Airtime 2.3.0
    I now have a question, of course :)

    If I make a playlist, the songs are being played, which is good of course.
    But after each song there is always some small silence, for starting the new song, which doesn't sound professional.
    Is there a way to remove that "silence", so that there is a smoother transition to the new song.


    Bart
    Post edited by Bart at 2013-02-28 04:38:49
    Schelstraete Bart - http://www.contact-dance.com
    image
  • 32 Comments sorted by
  • Vote Up0Vote Down Albert FRAlbert FR
    Posts: 1,978Member, Airtime Moderator
    2.3.1 ???
  • ;) 
    2.3.0 I mean ..The 1 key is very close to my 0 key on my keyboard ;)
    Schelstraete Bart - http://www.contact-dance.com
    image
  • Vote Up0Vote Down Albert FRAlbert FR
    Posts: 1,978Member, Airtime Moderator
    lol

    these silence come on airtime playlist or playlist generated into ls_script.liq ?
  • airtime playlist. I did not modify ls_script.liq
    Schelstraete Bart - http://www.contact-dance.com
    image
  • 2.3.0 comes with a feature that automatically set cue points on your system based on whether leading/trailing silence. You can verify this by clicking the >[ ]< icon in your playlists and seeing if the cue_out point is less than the length of the track.

    Did you install from the Debian package?
    Airtime Pro Hosting: http://airtime.pro
  • Hi Martin,

    On debian, the install failed ;)
    I'm using the install on Ubuntu now, using the standard ubuntu/debian package. (which is a fresh clean system)
    I can see the cue points, it's almost always the complete duration or even higher.
    For example:
      Song 1, duration:  4:55.7
                  cue out:   4:55.76
      Song 2, duration:   6:28.4
                   cue out:   6:28.49
       Song 3, duration:  9:25.2
                   cue out:   9:25.45
    Schelstraete Bart - http://www.contact-dance.com
    image
  • @Bart,

    Can you open a terminal and try running "silan --version"
    Airtime Pro Hosting: http://airtime.pro
  • Vote Up0Vote Down BartBart
    Posts: 89Member
    Hi Martin,


    #>silan --version
    silan version 0.3.0

    Copyright (C) GPL 2012 Robin Gareus <robin@gareus.org>

    Schelstraete Bart - http://www.contact-dance.com
    image
  • What's the output of the following two commands:

    sudo -u postgres psql -c "select count(*) from cc_files where silan_check = 't'" airtime

    sudo -u postgres psql -c "select count(*) from cc_files where silan_check = 'f'" airtime

    ?
    Airtime Pro Hosting: http://airtime.pro
  • Vote Up0Vote Down BartBart
    Posts: 89Member
    1)
    count 
    -------
        42

    2)
     count 
    -------
         0

    Schelstraete Bart - http://www.contact-dance.com
    image
  • Hi Bart,
    do you mean crossfading? Then you could change this in your ls_script.liq. But then everything is crossfading.
    I would love to have the possibility to choose on every file "Crossfading: Yes, No". So i could make every Song crossfading. News, Jingles, Ads no crossfading. Would be a very nice feature.
  • @Helmut,

    We are planning on crossfading support very soon. We already have some
    ideas of our own, but would love to hear feedback from the community on the
    desired workflow.
    On Mar 1, 2013 1:03 PM, "Helmut Müller" <<br />airtime-support@lists.sourcefabric.org> wrote:

    > Hi Bart,
    > do you mean crossfading? Then you could change this in your ls_script.liq.
    > But then everything is crossfading.
    > I would love to have the possibility to choose on every file "Crossfading:
    > Yes, No". So i could make every Song crossfading. News, Jingles, Ads no
    > crossfading. Would be a very nice feature.
    >
    >
    Airtime Pro Hosting: http://airtime.pro
  • Vote Up0Vote Down BartBart
    Posts: 89Member
    so...is it now "normal" or not...
    Schelstraete Bart - http://www.contact-dance.com
    image
  • It is normal. You can try to change your ls_script.liq

    queue = crossfade_airtime(queue)

    to

    queue = smart_crossfade(queue)

    But timing (schedule) will not be exactly anymore.

    @Martin
    Great to hear. maybe we could organize the files in "Type" e.g. Song, News, Advertisment, Jingles etc.
  • Hi,
    I've noticed that, if I insert a playlist that all use blocks, the cue out value is exactly as the file.
    But, If I insert manually this file in a Playlist, the cueout value is different

    SELECT length FROM cc_files WHERE id=1219
    length
    00:03:40.461979

    SELECT DISTINCT cue_out FROM cc_schedule WHERE file_id ='1219';

    cue_out
    00:03:40.461979
    00:03:40.4


    If you check in the cc_playlistcontents table, you'll see that cueout is correct.

    idplaylist_idfile_id block_idstream_idtypepositioncliplengthcueincueoutfadeinfadeout
    455
    12  
    1219  
    NULLNULL
    0
    27
    00:03:40.461979  00:00:00  00:03:40.461979  00:00:00.1  00:00:00.1


    Please note that, the Cue_out value of "00:03:40.4" is only set on schedule if I insert the file manually in a Playlist.

    When I add the playlist to the show, the cueout will be: 00:03:40.4

    If that file (1219) is added to a show by a Block, then the cue_out is: 00:03:40.461979


    I believe this is making some small gaps of silence because, normally I use Blocks and, no problem at all.
    When I manually build a playlist, I notice small gaps of silence...

    Can this be fixed?
    The cue_out value when manually inserted?

    Many Thanks


    Post edited by Mario Costa at 2013-03-03 08:49:41
  • Bart said:

    so...is it now "normal" or not...



    Your database values look fine. How long exactly is the gap between tracks since they should be almost eliminated. As I said in the other post though, 2.4.0 will allow overlapping tracks (crossfading) so that even split seconds of silence are eliminated. 
    Airtime Pro Hosting: http://airtime.pro
  • 2.3.0 comes with a feature that automatically set cue points on your system based on whether leading/trailing silence.



    This is a handy feature most of the time! But how shall I proceed if I do not want this for some particular files? E.g. I need som silence either at the end of the last or the beginning of the next file to account for a small momnet between a time signal and speaker announcing.

    Roland
  • Vote Up0Vote Down BartBart
    Posts: 89Member
    sorry, coming back to this one, using 2.4.0, I'm having those results:


    --
    sudo -u postgres psql -c "select count(*) from cc_files where silan_check = 'f'" airtime
     count
    -------
       772

    (1 row)
    sudo -u postgres psql -c "select count(*) from cc_files where silan_check = 't'" airtime
     count
    -------
      2739
    (1 row)
    --

    if I see this big difference, does that mean that silan still need to do his things?
    If so, what is the best way to 'monitor' (logfile?) the progress of silan?

    Schelstraete Bart - http://www.contact-dance.com
    image
  • Vote Up0Vote Down Cliff WangCliff Wang
    Posts: 339Member, Sourcefabric Team
    Silan log can be monitored by tail -F /var/log/airtime/pypo/pypo.log, it should happen every 5 mins
    Cloud Radio -> http://airtime.pro
  • Vote Up0Vote Down BartBart
    Posts: 89Member
    yeah,  I found the reason already (not yet the root cause), and I've opened a ticket for this:

    http://dev.sourcefabric.org/browse/CC-5270


    The system loops on invalidcontenttype:
    2013-07-10 15:20:25,083 ERROR - [silananalyzer.py : main() : line 72] -


    2013-07-10 15:20:25,083 ERROR - [silananalyzer.py : main() : line 73] - Traceback (most recent call last):


      File "/usr/lib/airtime/pypo/bin/media/update/silananalyzer.py", line 70, in main


        self.api_client.update_cue_values_by_silan(processed_data)


      File "/usr/lib/airtime/api_clients/api_client.py", line 491, in update_cue_values_by_silan


        return self.services.update_cue_values_by_silan(_post_data={'data': json.dumps(pairs)})


      File "/usr/lib/airtime/api_clients/api_client.py", line 150, in __call__


        raise InvalidContentType()


    InvalidContentType


    2013-07-10 15:20:25,083 INFO - [silananalyzer.py : main() : line 75] - Processed: 100 songs


    Schelstraete Bart - http://www.contact-dance.com
    image
  • Vote Up0Vote Down Cliff WangCliff Wang
    Posts: 339Member, Sourcefabric Team
    Have you checked cc_files for the cue in/out values? Maybe something is wrong there.
    Cloud Radio -> http://airtime.pro
  • Vote Up0Vote Down BartBart
    Posts: 89Member
    Hi Cliff,
    Yes I did, but difficult to see if there is 'something' wrong over there, as that
     table has  +/-4500 records. sorting on cue in/out values didn't highlight anything.
    somehow I need to find out which one is blocking the system , but I didn't find a way yet.
    Schelstraete Bart - http://www.contact-dance.com
    image
  • Vote Up0Vote Down Cliff WangCliff Wang
    Posts: 339Member, Sourcefabric Team
    Understood.
    Please backup the file /usr/lib/airtime/pypo/bin/media/update/silananalyzer.py and use the attached file to replace it (rename it from .log to .py).
    Then restart airtime-playout service and post /var/log/airtime/pypo/pypo.log around that exception when it happens again.
    Cloud Radio -> http://airtime.pro
  • Vote Up0Vote Down BartBart
    Posts: 89Member
    Hi Cliff,

    Tnx for your support already.
    See attached the logfile.

    Bart
    26K
    Schelstraete Bart - http://www.contact-dance.com
    image
  • Vote Up0Vote Down Cliff WangCliff Wang
    Posts: 339Member, Sourcefabric Team
    Interesting item: [(2372, {'cueout': '287.422426', 'length': '173311.111837', 'cuein': '0.724218'})

    Could you take a look at cc_files:
    select * from cc_files where id=2372

    Is it really long as 173311 secs?
    Cloud Radio -> http://airtime.pro
  • Vote Up0Vote Down BartBart
    Posts: 89Member
    Hi Cliff,

    2372audio/mp3audioclip4Frans/08. Patrick Bruel - Casser La Voix.mp3empty0NULL2013-07-11 09:14:052013-07-08 02:15:47NULLNULLPatrick Bruel / Casser La VoixVarious16000044100NULL00:04:50.821224Joe FM De Franse Top 100FranstaligNULL20135NULLNULLNULLNULLNULLNULLNULLNULLFransNULLNULLNULLNULLNULLNULLNULLNULLNULLNULLNULLNULLNULLNULLNULLNULLNULLNULLNULLNULLNULLNULLNULLTRUENULLNULLNULLNULLNULL-7.190000100:00:0000:04:50.821FALSEFALSEFALSEFALSE
    idnamemimeftypedirectoryfilepathstatecurrentlyaccessingeditedbymtimeutimelptimemd5track_titleartist_namebit_ratesample_rateformatlengthalbum_titlegenrecommentsyeartrack_numberchannelsurlbpmratingencoded_bydisc_numbermoodlabelcomposerencoderchecksumlyricsorchestraconductorlyricistoriginal_lyricistradio_station_nameinfo_urlartist_urlaudio_source_urlradio_station_urlbuy_this_urlisrc_numbercatalog_numberoriginal_artistcopyrightreport_datetimereport_locationreport_organizationsubjectcontributorlanguagefile_existssoundcloud_idsoundcloud_error_codesoundcloud_error_msgsoundcloud_link_to_filesoundcloud_upload_timereplay_gainowner_idcueincueoutsilan_checkhiddenis_scheduledis_playlist

    The file 5 minutes+
    Schelstraete Bart - http://www.contact-dance.com
    image
  • Vote Up0Vote Down BartBart
    Posts: 89Member
    In CSV is  easier readable I think :)
    Schelstraete Bart - http://www.contact-dance.com
    image
  • Vote Up0Vote Down Cliff WangCliff Wang
    Posts: 339Member, Sourcefabric Team
    Can you share that file to me?
    BTW, I'm wondering if you simply mark that file as "silan_check=t" will fixed your problem.
    Just do 
    update cc_files set silan_check='t' where id=2372;


    Cloud Radio -> http://airtime.pro
  • Vote Up0Vote Down BartBart
    Posts: 89Member
    Can you grab it from here please:    http://37.252.124.212/file.mp3
    Schelstraete Bart - http://www.contact-dance.com
    image
  • Vote Up0Vote Down Cliff WangCliff Wang
    Posts: 339Member, Sourcefabric Team
    Thank you, I get the file. 

    It looks like this file cause the problem. Did you try the solution I mentioned?
    Cloud Radio -> http://airtime.pro
  • Vote Up0Vote Down BartBart
    Posts: 89Member
    the solution indeed worked, as workaround.
    Schelstraete Bart - http://www.contact-dance.com
    image
  • Vote Up0Vote Down Cliff WangCliff Wang
    Posts: 339Member, Sourcefabric Team
    Ok.
     Please also replace the silananalyzer.py cause it's debug version. Ticket for this problem is created.

    Cloud Radio -> http://airtime.pro