Hi list,
I'm currently writing a python module for importing/exporting sonic visualiser environment files from/to python applications.
https://github.com/DavidDoukhan/py_sonicvisualiser
It met the following problem:
The samplerate attribute of most of model markers seems to be ignored.
The samplerate of the main wavefile model seems to be used by default for all model markers while displaying the annotation layers.
This is problematic in my context: we used sonic visualiser environment files as a method for storing several annotation layers. Each annotated media is available at several sampling rates. A dataset model associated to a 44100 sample rate should be displayed correctly, even when the wave file sampling rate is different. When the wav file referenced by the environment file is not available on the machine of the user, an error window is displayed, asking for locating this missing file. If the user choose an equivalent wav file having a different sampling rate, then annotations associated to datasets have wrong time indices, corresponding to the frame sampled at the main wav file sampling rate.
Let me know if you need additional details on this issue.
I may propose my help to contribute fixing this issue.
To reproduce this problem, you can:
annotate is sonic visualiser a wav file sampled at 44100 hz.
save the associated environment in a sv file
close sonic visualiser
remove to 44100 wav file from your system
open the sv file with sonic visualiser
select a wav file sampled at 16k when asking for locating the missing file
observe the display of the annotation layer which is not at the correct temporal position
A premiliminary fix to this issue could be to raise an error message when locating a wav file having a different sampling rate than in the environment being loaded.
Regards,
Hi there -- if you'd like to test this again using the current beta release (see forum post at http://vamp-plugins.org/forum/index.php/topic,255.0.html) that would be great! You were quite right that the sample rate information was being saved but never used on reload -- now the individual audio files should be resampled if the session rate differs from the rate of the audio file.