package: csound
version: 1:6.12.2~dfsg-1
severity: important
justification: Regression over stretch with insidious and
hard-to-diagnose consequences
I noticed that my orchestras were failing on several sound files after
upgrading to buster, and tracked it down to some cases of filenames
being input in the score file.
Consider the following orchestra and score:
Orchestra:
0dbfs=1
sr=44100
nchnls=4
instr 1, 10
Sfile strget p4
amic = 0
a1, a2 diskin Sfile, 0.997, -2.3
vincr amic, a1
outq amic, amic, amic, amic
endin
Score:
i 10.000244140625 10.135534524917603 -1 "/home/hartmans/.cache/djcli/Bobina -
Music Box (Album Mix).wav" 1 1.0 10.135534524917603 0.0 422.2395255249176 1.0 0
50 1.0
f0 20.0
Stretch Behavior:
(csound 6.08)
0dBFS level = 1.0
orch now loaded
audio buffered in 256 sample-frame blocks
ALSA output: total buffer size: 1024, period size: 256
writing 1024 sample blks of 64-bit floats to dac
SECTION 1:
B 0.000 .. 10.136 T 10.136 TT 10.136 M: 0.0 0.0 0.0 0.0
new alloc for instr 10:
WARNING: instr 10 uses 4 p-fields but is given 13
diskin2: opened '/home/hartmans/.cache/djcli/Bobina - Music Box (Album
Mix).wav':
48000 Hz, 2 channel(s), 19778664 sample frames
B 10.136 .. 20.000 T 20.000 TT 20.000 M: 0.87332 0.87332 0.87332 0.87332
Score finished in csoundPerform().
inactive allocs returned to freespace
end of score. overall amps: 0.87332 0.87332 0.87332 0.87332
overall samples out of range:0000
0 errors in performance
Elapsed time at end of performance: real: 19.972s, CPU: 0.963s
3446 1024 sample blks of 64-bit floats written to dac
hartmans@mount-peerless:djutils(6)>
Buster behavior:
0dBFS level = 1.0
orch now loaded
audio buffered in 256 sample-frame blocks
ALSA output: total buffer size: 1024, period size: 256
writing 1024 sample blks of 64-bit floats to dac
SECTION 1:
WARNING: Buffer underrun in real-time audio output
B 0.000 .. 10.136 T 10.136 TT 10.136 M: 0.0 0.0 0.0 0.0
new alloc for instr 10:
WARNING: instr 10 uses 4 p-fields but is given 13
INIT ERROR in instr 10 line 7: diskin2: /home/hartmans/.cache/djcli/Bobina -
Music Box (AlbumMix).wav: failed to open file (No Error.)
from file test.orc (1)
a1 a2 diskin Sfile 0.997 -2.2998224 0 0
0 0 0 0
B 10.136 - note deleted. i10 had 1 init errors
B 10.136 .. 20.000 T 20.000 TT 20.000 M: 0.0 0.0 0.0 0.0
Score finished in csoundPerform().
inactive allocs returned to freespace
end of score. overall amps: 0.0 0.0 0.0 0.0
overall samples out of range:0000
1 errors in performance
Elapsed time at end of performance: real: 20.006s, CPU: 0.901s
3446 1024 sample blks of 64-bit floats written to dac
hartmans@mount-peerless:djutils(7)>
Somehow in the buster code path, The space between Album and Mix has
been removed and the filename has become corrupted.
Note that the buster code path works fine if you hard code the sound
file name in the instrument.
It's something to do with the score file that is problematic.
I apologize that the score is a bit complex; it's obviously extracted
From some more complex code. My typical orchestra is quite complex and
I wanted to get things down to an debuggable minimal example, but I also
wanted to use the production score file.
I'm also attaching the score as a mime attachment because it is a rather
long line.
score
Description: Binary data
signature.asc
Description: PGP signature