Doesn't support gapless playback

Bug #45518 reported by seguso
136
This bug affects 18 people
Affects Status Importance Assigned to Milestone
Banshee
Fix Released
Wishlist
Exaile
Fix Released
Wishlist
Unassigned
Rhythmbox
Fix Released
Wishlist
Totem
Won't Fix
Medium
VLC media player
New
Unknown
banshee (Ubuntu)
Fix Released
Wishlist
Unassigned
rhythmbox (Ubuntu)
Fix Released
Wishlist
Ubuntu Desktop Bugs
totem (Ubuntu)
Fix Released
Wishlist
Ubuntu Desktop Bugs

Bug Description

Binary package hint: totem

Hello. This is a wish for Totem.
Any listener of classical operas (e.g. La Traviata, Die Walkuere) will have this problem and is stuck with MS Windows for this reason.

PROBLEM
-----------

Currently Totem (or any other linux program I know) does not allow to listen to classical operas easily. Two cases are possible:

1. if I rip my CDs one file per track, I hear a brief silence
   as the track changes and totem is loading the next track.
   This breaks the continuity of the music.

   ( this is not related to the notorious mp3 bug.
    The silence happens on any format, like flac, ape, wv,
    mpc, ogg, wav, and is due to totem loading the file)

2. if I rip my cd with a single file per CD, I hear no gap but
    there is no easy way to move among tracks.

POSSIBLE SOLUTION
------------------------
One possible solution is to do what foobar2000 does on windows: understand cue files. When I click a cue file, totem should read the track names and times from it, and then load the corresponding audio file in the same folder. The corresponding file is a big single file (~650 MB) with an extension that can be ape, ogg, mp3, wv, flac, mpc, or wav. Totem would then allow me to move quickly within the big file, by simply clicking a track name on the playlist. This would be the ideal solution because virtually all classical music lovers have their music in APE + CUE format.

Another possible solution is to make totem read ahead the next track, so as not to produce silence between tracks. That is not ideal, because classical music lovers should reconvert their music to be one file per track.

Revision history for this message
Sebastien Bacher (seb128) wrote :

Thanks for your bug. Do you use totem-gstreamer or totem-xine? What version of Ubuntu do you use? The delay to switch track was an issue with gstreamer0.8 and should be fixed for gstreamer0.10 to dapper (works fine for me and many people according to comments we got on that). Did you try with rhythmbox, does it have the same issue?

Changed in totem:
assignee: nobody → desktop-bugs
status: Unconfirmed → Needs Info
Revision history for this message
seguso (maurizio-colucci) wrote :

Sebastien, I use totem-gstreamer 0.10 (dapper).

Yes, Rythmbox has the same issue. You can try for yourself: create a playlist with two consecutive tracks of an opera (as wav files). You will hear the gap. I am no genius, but rythmbox is _obviously_ loading the second file in memory after the first one is finished: you can even hear the hard disk noise as the track changes. :-)

Note: totem currently (in dapper) has a serious issue which prevented me from testing it again. Essentially, it stops playing wav files after 2 seconds. I can't hear anything at all after 2 seconds. Maybe I'll file another bug about that.

Revision history for this message
Sitsofe Wheeler (sitsofe) wrote : Gapless playback between tracks

If the sound stream isn't continuous you will risk you hearing the join because you can have a soundcard buffer underrun. The only way to achieve true gapless playback is by preloading parts of the next track while you are finishing off the previous track (so as far as the soundcard is concerned there is only one long stream of music rather the end of a stream followed by the start of a new stream).

Even extremely small and fast programs suffer this. If you download the soon to be attached 3sine.wav and try doing
aplay 3sine.wav 3sine.wav
you will probably hear a slight blip as the first stops and the second starts. If you were to join the two together in audacity there would be no blip. Likewise if you play them in something that does buffering of the next clip directly after the first stops there would be no gap (XMMS with the esd output plugin is an example of this).

Now as it happens we can't do this test in totem because it is currently throwing gstreamer errors on the wavs but I'm going to guess that if we could test it the gap would be more audible than with aplay.

However even if it were as good as aplay (which I'm guessing is as good as you can get) then would still hear the gap and thus I think this is really a feature request for gapless playback.

Revision history for this message
Sitsofe Wheeler (sitsofe) wrote : 3 second sine tone .wav

3 second sine tone .wav

Revision history for this message
seguso (maurizio-colucci) wrote : Re: No easy way to listen to classical music

To clarify: this is a feature request to solve the problem of listening to musical operas without gaps while being able to move between tracks easily. I gave two possible solutions (one is to understand CUE files, the other is preloading the next file), but there could be others.

Revision history for this message
Sitsofe Wheeler (sitsofe) wrote :

I think your best bet is to split these two feature requests (APE+CUE support, gapless track support) off into bugs of their own so they can assessed seperately. I could be wrong though...

Changed in totem:
status: Needs Info → Unconfirmed
Revision history for this message
kko (kko) wrote :

I can confirm this and would like to second the feature request. Thank you for making the feature request for all of us. :-) For reference, bug 45520 concerns the same issue in another player.

Changed in totem:
status: Unconfirmed → Confirmed
Revision history for this message
Sitsofe Wheeler (sitsofe) wrote :
Revision history for this message
Sebastian Dröge (slomo) wrote :

As this affects rhythmbox and banshee too I've added tasks for them to this bug

Changed in rhythmbox:
status: Unconfirmed → Confirmed
Changed in banshee:
status: Unconfirmed → Confirmed
Revision history for this message
Sebastien Bacher (seb128) wrote :

Sebastian, could you comment on that issue? According to many rhythmbox users song switching is fast enough with gstreamer0.10 to be considered as gapless, we closed some bugs about that during the cycle, what did change? Is that a new regression from gst upstream?

Revision history for this message
Sebastian Dröge (slomo) wrote :

Sebastien, song changes are really fast but definitely not gapless. On live recordings you hear a small gap between song changes which is only noticeable because you have sound across the song change.
To prevent this you have to preload and pre-decode the next song before the actual song change

Revision history for this message
Sebastien Bacher (seb128) wrote :

seems to be a feature request and rather a wishlist than a normal bug to me ...

Revision history for this message
Simon Hepburn (sth) wrote :

This bug should really be split in to two reports. While the request for Cuesheet support is definitely wish list material, I don't think you can say the same about the gapless support. I am experiencing the same problem with oggs, flacs and LAME encoded gapless mp3s, all of which should play as per the original recording. I booted into windows for the first time in ages today and installed Foobar2000, which played all of these files correctly - this is not a file format issue.

Even worse, just trying to play an audio cd with sound-juicer, rhythmbox or banshee produces the same irritating gaps between track changes in mix cd's, none of which are present when playing the cd on my stereo. I don't see how we can be taken seriously when dapper + a laptop costing several hundred quid is outclassed by a £30 DVD player from Argos. Please consider upgrading this bug to normal or higher.

Revision history for this message
Sitsofe Wheeler (sitsofe) wrote :

My original GNOME bug link (http://bugzilla.gnome.org/show_bug.cgi?id=320227 ) was for totem using xine-lib.

Just for the record http://bugzilla.gnome.org/show_bug.cgi?id=130426 is for rhythmbox

Revision history for this message
Stu Hood (stuhood) wrote :

Just wanted to bump this bug up a bit... I think we realize it is a GStreamer issue, and not necessarily the fault of the players. Maybe the bug should be moved/added to GStreamer?

Changed in rhythmbox:
assignee: nobody → desktop-bugs
Changed in rhythmbox:
status: Confirmed → Fix Released
Revision history for this message
Sebastien Bacher (seb128) wrote :

that's fixed upstream now

Changed in rhythmbox:
status: Confirmed → Fix Committed
Revision history for this message
Sebastien Bacher (seb128) wrote :

This upload fixes the bug:

 rhythmbox (0.10.90-0ubuntu1) gutsy; urgency=low
 .
   * New upstream version:
     - Add gapless/cross-fading playback backend (Ubuntu: #45518, #93719)
     - Add awesome Tango-style icons (Ubuntu: #106462)
     - Don't wake up the CPU all the time while doing nothing
     - Allow plugins to add filer and tee elements/sub-piplines
       to the gstreamer pipeline
     - Group sources together
     - Add DB support for keywords
     - Save modified iPod playlists, and marks podcasts as such
       (Ubuntu: #110155)
     - Fix Unicode normalisation, which also makes searching
       ignore diacritical marks
     - Use xdg-user-dirs, and kill the druid (yay!)
     - Write art out to the DB on iPods
     - Parse last.fm group radio URLs too
     - Add support for MusicBrainz id tags
     - Minor improvements to the cover-art plugin
     - Retrieve cover art from last.fm and Magnatune
     - Add some more useful options to rhythmbox-client
     - Add preliminary support for Vala plugins
     - Use GSequence instead of EggSequence
     - List visualisation under the view menu (Ubuntu: #111811)
   * debian/control.in:
     - updated requirements on GTK and gstreamer
   * debian/patches/02_autoconf.patch:
     - updated

Changed in rhythmbox:
status: Fix Committed → Fix Released
Changed in banshee:
status: Unknown → Unconfirmed
Revision history for this message
Alec Wright (alecjw) wrote :

Sebastien, are you sure? I'm still encountering the problem in gutsy.
(See attached)

Revision history for this message
Alec Wright (alecjw) wrote :
Revision history for this message
Sebastien Bacher (seb128) wrote :

you should better comment upstream, they are the one writting the software and will know better about it

Revision history for this message
Alec Wright (alecjw) wrote :

Ah I didn't realise i needed to switch in crossfade :) it works now. Do you think it could be a good idea to enable crossfade (perhaps with 0 duration, so it only gives gapless playback rather than actually crossfading) by default?

Revision history for this message
Sebastien Bacher (seb128) wrote :

I'll speak to upstream about it, maybe there is some drawback which makes they didn't activate it

Revision history for this message
eppy 1 (choppy121212) wrote :

Will Totem eventually get gapless or crossfading too? Since Rhythmbox or Gstreamer now supports it is it a bit more possible?

Revision history for this message
Sebastien Bacher (seb128) wrote :

there is a totem task and an upstream request about it

Revision history for this message
Alec Wright (alecjw) wrote :

Ah - ive worked otu why it isnt enabled by default - M4A/AAC plays very badly and crashed rhythmbox when crossfade's enabled..

Revision history for this message
Johannes Sasongko (sjohannes) wrote :

Hm, I notice Exaile was just added to the list of affected projects, but we already track this as bug 135930 (which has no activity because it's deep in our "too hard" basket).

Assuming this is a client issue instead of a GStreamer one, any Exaile-specific discussion would be spam for most people subscribed to this bug.

Should I mark this Closed-Invalid or should I mark #135930 a dupe?

Revision history for this message
Johannes Sasongko (sjohannes) wrote :

> Should I mark this Closed-Invalid or should I mark #135930 a dupe?

Doing the former.

Changed in exaile:
status: New → Invalid
Changed in banshee:
status: New → Confirmed
Revision history for this message
Craig Webster (craig-webster) wrote :

OP keeps saying the only solutions are to create a cue sheet or manually merge the files.

I see that this bug is being worked on, but in the meantime you can use XMMS. It has a gapless plugin I believe. Also, Amarok supports gapless playback, and IMO beats any other linux player in just about every area.. That is, if you don't mind loading the kdelibs.

Revision history for this message
Andrew Conkling (andrewski) wrote : Re: [Bug 45518] Re: Doesn't support gapless playback

On Fri, Feb 15, 2008 at 4:07 PM, Craig Webster <email address hidden>
wrote:

> OP keeps saying the only solutions are to create a cue sheet or manually
> merge the files.

No, that was listed as one solution, but not the only one. OP also mentioned
preloading the next file (something sorta like what Rhythmbox does, IIRC).

I see that this bug is being worked on, but in the meantime you can use
> XMMS. It has a gapless plugin I believe. Also, Amarok supports gapless
> playback, and IMO beats any other linux player in just about every
> area.. That is, if you don't mind loading the kdelibs.
>

Rhythmbox is supported on default Ubuntu and has had gapless for a little
while (maybe a year). It's probably the best choice for this.

Also, gstreamer recently got a playbin2 element that will allow for gapless
audio playback. It's not quite there yet, but it should be the final
solution to this for all gstreamer-using players.

Revision history for this message
Endolith (endolith) wrote :

Can the "crossfading backend" be enabled by default for Rhythmbox?

Revision history for this message
Andrew Conkling (andrewski) wrote :

On Sun, Apr 27, 2008 at 11:30 AM, Endolith <email address hidden> wrote:

> Can the "crossfading backend" be enabled by default for Rhythmbox?
>

Doubtful. The Rhythmbox developers know of a few issues that would prevent
it from being stable enough for default use. You could investigate upstream
on the mailing list or via a bug report to see if they'd consider it though.

Changed in banshee:
status: Confirmed → Triaged
Changed in vlc:
importance: Undecided → Unknown
status: New → Unknown
reacocard (reacocard)
Changed in exaile:
importance: Undecided → Wishlist
milestone: none → 0.3.x
status: Invalid → Confirmed
Changed in vlc:
status: Unknown → New
Changed in totem:
status: Confirmed → Triaged
Revision history for this message
Tommaso R. Donnarumma (tawmas) wrote :

Andrew Conkling writes:

> Rhythmbox is supported on default Ubuntu and has had gapless for a little
> while (maybe a year). It's probably the best choice for this.

It's never done that for me, with or without the crossfading backend. If there is
anything obvious that I'm missing, I'd like to know it.

reacocard (reacocard)
Changed in exaile:
status: Confirmed → Fix Committed
Changed in totem:
status: New → Won't Fix
tags: added: transition-regression
Revision history for this message
Sebastien Bacher (seb128) wrote :

could you not add random tags to the bug?

tags: removed: transition-regression
Revision history for this message
Sebastien Bacher (seb128) wrote :

the new version in karmic should fix the issue now

Changed in totem (Ubuntu):
status: Triaged → Fix Released
Revision history for this message
Sebastien Bacher (seb128) wrote :

the new 2.27 version in karmic should fix the issue now

reacocard (reacocard)
Changed in exaile:
milestone: 0.3.x → 0.3.0
Revision history for this message
blair (trrichard) wrote :

Aqualung has native support for gap less playback as a temporary alternative till this is fixed

reacocard (reacocard)
Changed in exaile:
status: Fix Committed → Fix Released
Changed in banshee (Ubuntu):
status: Triaged → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (3.4 KiB)

This bug was fixed in the package banshee - 1.5.5-1

---------------
banshee (1.5.5-1) unstable; urgency=low

  * New upstream release
    + New Features:
      - Gapless Playback / Playbin2 (LP: #45518, #377354)
      - Grid View
      - YouTube Extension
    + Enhancements:
      - Improve search responsiveness on large libraries (LP: #474514)
      - Add icons for Nexus One and Audiobooks (LP: #532182)
      - Play Queue item count, size, duration now ignores old tracks
      - Muinshee fixes: disable Auto-DJ, allow reordering, hide previous song
    + Notable bug fixes:
      - Fix a very common, SQL-related crash in 1.5.4 (Closes: #572136)
      - Fix saving equalizer settings in culture-invariant way
      - Jumping to a source's prefs via its context menu works again
      - Usage data not submitted more than every 48 hours
      - Fix repeatedly resyncing some files to a device b/c transcoded
      - Clear the redo stack on shuffle mode change
      - Accept feeds with empty title (LP: #468323)
      - Uri encode file location queries, making them work properly
  * debian/control:
    + Bump gst-plugins-base-dev version for gapless playback
    + Add libgdata-cil-dev for youtube extenesion
  * debian/rules:
    + Add --enable-gapless-playback and --enable-gdata

banshee (1.5.4-1) unstable; urgency=low

  * New upstream release (Closes: #571734)
    + New features:
      - Opt-In Usage Data Collection
      - Default Equalizer Presets
      - Extensible Shuffle Modes
    + Enhancements:
      - Wikipedia context pane extension enabled by default
      - Add support for Nokia N900 phones
      - Add tooltip to playback error column
      - On close Internet Archive item, return to Search
      - Notify user if trying to sync missing file to DAP
      - Popup explanation of manual playlist ordering when appropriate
      - Simplify the default set of columns in Podcasts
      - Enable 'Delete From Drive' action in File System Queue
      - Coverart for unicode artist/albums now supported
      - Dropped glade-sharp dep; GNOME 3.0 ready
      - Add columns showing track sample rate and bits per sample
      - Option to sort an artist's albums by year, not title
      - If starting Banshee hidden (--hide), up to half a second of
        startup time is saved
    + Notable bug fixes:
      - Enable LibraryWatcher only for Music and Video libraries
      - Do better job preserving IsCompilation metadata
      - Store some PlayQueue settings in the db (not GConf)
      - Update to Last.fm's API change for scrobbling/recs
      - Bring back static FileNamePattern API used by some scripts
      - Fix several memory leaks
    + Other bugs fixed:
      - Fix segfault with Cairo when playing a song without album art (LP: #523913)
      - Follow symlinks when scanning the library (LP: #406667)
      - Fix issue importing mp3s with non-ASCII ID3 tags (LP: #364562)
  * debian/control:
    + Bump libtaglib-cil-dev version requirement to 2.0.3.5
    + Drop libglade2.0-cil-dev and libgnome2.0-cil-dev build-dep
    + Add libwebkit-cil-dev to build-deps
  * debian/rules:
    + Reorder configure flags to match upstream's ./configure --help listing
    + Ad...

Read more...

Changed in banshee (Ubuntu):
status: Fix Committed → Fix Released
Revision history for this message
zkizzik (zkizzik) wrote :

totem dont work ¬¬

Changed in banshee:
importance: Unknown → Wishlist
status: Confirmed → Fix Released
Changed in rhythmbox:
importance: Unknown → Wishlist
Changed in totem:
importance: Unknown → Medium
Revision history for this message
Rüdiger Kupper (ruediger.kupper) wrote :

Although this bug has "fix released", gapless playback does NOT work for flac files, neither in Banshee (2.0.0) with the "gapless option enabled", nor in Quod Libet (2.2.1). These are the versions released with natty.
Has there been a regression?

Revision history for this message
Rüdiger Kupper (ruediger.kupper) wrote :

Same problem in rhythmbox. This is probably a GStreamer issue?

Revision history for this message
Perseid (perseid) wrote :

Can anyone correct Banshee's and Rythmbox's "change released" status?

Revision history for this message
Perseid (perseid) wrote :

I meant "Fix Released" of course. Sorry.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.