Bug #649

Inaccurate PSF emulation + Seek bug

Added by jimbo 1qaz over 1 year ago. Updated over 1 year ago.

Status:Closed Start date:June 04, 2016
Priority:Minor Due date:
Assignee:- % Done:


Target version:3.7.3
Affects version:3.7.2


Ubuntu Studio 16.04 + KXStudio - Audacious 3.7.2

Audacious uses an old and buggy version of the PSF plugin.

For example, listen to "Chrono Cross - Time/Dreamwatch" (title varies by region?)

Under Audacious (Linux) and foo_psf, the song is missing a cymbal crash at 0:22, when the flute transitions into violin.

foo_qpsf emulates that crash accurately. However, it depends on nonfree PSF firmware. (is that why it's not included in audacious?)

Additionally, seeking is broken. When you click the same position, the audio position shifts randomly. Sometimes, even clicking the beginning breaks. Sometimes, even pressing stop and play.

Chrono Cross 307 Time of the Dreamwatch.psf (352.6 kB) René Rhéaume, June 11, 2016 19:32

Associated revisions

Revision f566f65e
Added by John Lindgren over 1 year ago

psf: Fix seeking. Closes: #649.

Revision daf783af
Added by John Lindgren over 1 year ago

psf: Fix seeking. Closes: #649.


#1 Updated by Thomas Lange over 1 year ago

Please attach the mentioned example file.

#2 Updated by René Rhéaume over 1 year ago

I have that file and the missing crash cymbal sound.

#3 Updated by John Lindgren over 1 year ago

Any improvement that depends on non-free firmware is automatically a "won't-fix".

#4 Updated by John Lindgren over 1 year ago

  • Status changed from New to Closed
  • Target version set to 3.7.3
  • % Done changed from 0 to 100

Fixed the following problems in master and 3.7.x:

1) Seeking ahead of the current position worked, but seeking backwards was not implemented (it requires re-emulating the song from the beginning). The displayed time counter would update, but the audio would continue from where it was.

2) Due to an uninitialized variable, stopping and playing the song again (or another song, for that matter) would start from the last seek location, not from the beginning as expected. The displayed time counter would start from 0:00, though.

As stated earlier, the missing symbol crash will not be fixed since doing so depends on non-free firmware.

Also available in: Atom PDF