View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0006238||ardour||bugs||public||2015-04-05 22:20||2020-04-19 20:17|
|Summary||0006238: Exported wav files contain random skips|
|Description||Ardour version 4.0.rc2 running on Ubuntu Studio with cpufreq installed and running in Performance mode. No other applications running.|
I have a 12 track recording that is about 2 hours long. I'm exporting ranges as files. I used Automation gain on the master channel to create fade-in and fade-out. The mix sounds fine when played back in the track window. I exported ranges of the master tracks to files using the CD format. When played back I hear random skips, almost like a bad disk but this happens on my computer when I play the file with Ardour or Audacious.
|Additional Information||I don't know if this is the right place to enter a bug report on version 4.|
|Tags||No tags attached.|
|Users sponsoring this issue|
Total Sponsorship = US$ 50
2015-04-06 02:56: mashworth (US$ 50)
Which version of JACK are you using? (jackd --version)
Does the problem also exist when using the "Dummy" backend instead of jack? (please get a debug/nightly build of -rc2 which includes the "Dummy" backend, or compile ardour with ./waf configure --with-backends=jack,alsa,dummy) Menu > Window > Audio/Midi Setup.
cpufreq is irrelevant here, when ardour exports it does so in "freewheeling" (not realtime) mode.
jackdmp version 1.9.10
Not sure how use "Dummy".
Menu > Window > Audio/Midi Setup gives me the following options
Driver: ALSA or JACK
Connect or disconnect from JACK
QjackCtl gives me the option selecting Driver: dummy
||I see now. I get those options if I let Ardour start Jack. I'll give it a try. Lots of material to listen to so it may take me till tomorrow to know the result. Thanks.|
When I start Ardour-dbg with driver "dummy" I don't get any sound when I play back the tracks. However, two of the files that I exported this way did not have skips. In order to get sound back I had to switch from Jack to ALSA inside Audio/Midi setup. I exported again and got a few skips.
I also tried starting Jack with QjackCtl and driver "dummy" and got no sound inside Ardour. Before I could control Jack with Ardour I had to kill it's process id. QjackCtl "Stop" did not stop it.
When I use QjackCtl start Jack before starting Ardour I have to use the ALSA driver and use Setup to set the Iterface to hw: 1,0 for Ardour to send sound to my speakers or headphone jack.
There are so many variables. It's difficult for me to keep track of all the changes and listen for random skips. I'm sorry that I couldn't be more precise.
||Today I carefully audited one song several times. I heard random skips while playing all the tracks to the master inside Audour. I was using automation but not exporting at the time. The skip occurred at random places and sometimes not at all. That may be why skips occurred in my export. I will try exporting multiple copies of the same song using the "dummy" driver (which kills my audio monitoring in Ardour) and compare them when I exit. I'm really getting burned out on these songs but I guess it has to be done.|
mashworth: I'm interested in your bug report because it sounds very similar to mine (0006096) -- in fact x42 has marked this one as a dup of mine, and so far nothing I've read here sounds inconsistent with it. In my experience, listening for audio "issues" (skips, clicks, dropouts, ...) is indeed very tiresome, time-consuming - and unreliable, as they occur in random locations, and not all of them are audible, depending on the surrounding (valid) audio, and the listener's level of attention, listening device, ambient sound, etc. Although my description and notes are rather long-winded (sorry), you might see in there a technique I use for finding such issues, by doing multiple (2 is generally enough) exports of the same region, comparing the audio files using sox to generate a "diff" file, and then using a tool like audacity to visually locate the differences. (A couple screenshots are attached.) Of course this depends on the random nature of the diffs. I'm wondering whether you might see similar results using the same technique.
(As an aside, I've also hacked a variation on sndfile-cmp that can locate differences by comparing samples, and another program which can merge two exported files into a "clean" one - given that the two files meet certain criteria. Perhaps not the greatest work-around in the world, but it has allowed me to continue using Ardour for real work.)
I'm also interested that you hear issues while playing. I do too, on occasion, and I strongly suspect that I have them during recording as well, because some are present in the recorded audio. But since exporting is the easiest to instrument, I decided to limit my bug report to that, at least initially. I'm hoping that whatever might be found as a root cause for exporting will apply to the other cases as well.
I'm hoping to be able to test with the latest 4.0 rc build, and with the dummy interface, later this week.
don3: I'm glad that I'm not the only person who is experiencing this random problem. I did read your bug report when I saw it was marked as a duplicate.
I tried 3 different combinations of Audio System and Driver and exported the same song I heard skips in this morning. I had the Normilization on in the export dialog window and did 3 exports for each combo.
After the exports were finished I quit Ardour, killed jackd from the command line and listened back to the files with Audacious.
Audio System - Driver
Jack-Dummy - 3d export had a static glitch at the end of the file.
Jack-Alsa - all 3 exports were clean
Alsa-Alsa - all 3 exports were clean
I didn't hear skips on any of the 9 exports this time but the static was a new one for me. I did see some differences when comparing the files with cmp but since I had normilzation turned I thought that might be a factor.
A side question:
I know that I need Jack for recording but do I need it when I'm mixing down and exporting? Alsa, Alsa seemed to work for that.
Yes, no sound is expected with the "Dummy" backend.
Dummy here means "no soundcard/hardware involved" (using a fake/dummy soundcard).
Sorry, I should have been more precise, I was suggesting to use Ardour's built-in Dummy backend (not jack's dummy). The idea is to reduce variable and take JACK completely out of the loop to make sure the problem is actually in Ardour (and not in Ardour+JACK or elsewhere).
The Ardour Dummy backend exists for the purpose of testing only.
It does not use any realtime setup and can guarantee reproducible results from the backend/engine. If there are any remaining differences they must be in ardour itself.
PS. export using the Ardour native ALSA backend (also no JACK) is nearly identical to using the Dummy-backend (though in practice ALSA/soundcard could mess up things). With Ardour4, you do not need JACK at all. the ALSA backend can fully replace it. You may however want JACK to use other JACK-apps in combination with ardour.
All in all this points towards an issue with JACK so far. probably a specific version of jack (shipped with Ubuntu).
PPS. this may not really be "duplicate issue", but they're close enough by description.
mashworth: I'll let others comment on the Dummy and ALSA experiments - I've only used Ardour with JACK so far.
I can say that I don't use normalization when I intend to compare exported files, although I suppose the exact same source amplified by the same factor should still produce the "same" result. In general the standard *NIX cmp program is not a reliable way to see if two audio files have the "same" content -- with audio files there are potentially a lot of ways to measure "sameness". If they are bit-identical, then of course the audio content (and headers, meta-data, etc) are the same, but if they aren't, it may not mean much to you unless you understand what the differences mean. In my (very narrow) case, I'm attempting to verify that the waveforms (samples) are the same, within the tolerance of dithering, if I have that enabled. Sometimes I do get export files that match, meaning that every sample is the same, within that tolerance.
I don't remember off the top of my head whether I've ever seen a session that has produced glitchy output (and therefore significant differences in export files that should have matched) go back to a clean exports later on, but I have seen the number of glitches in a given length of time can vary dramatically. So - not saying this is the case for you - it's conceivable that you got "lucky" with the exports that sounded clean - there may have even been a few small problems that weren't audible.
Sorry if I missed it, but are you using any plug-ins? Most of my sessions do use a couple/few, but none that make exports inherently non-repeatable, and I've been able to reproduce my issue on a couple sessions with no plug-ins at all.
||x42: Sorry, I didn't see your previous note before I posted mine. Yeah, I'm not 100% convinced that these issues are the same yet, but I haven't seen anything so far that proves otherwise.|
x42: For my last test I did't start Jack. Ardour-dbg started it and it continued when I quit. In order to stop Jack I killed the pid. Should I be doing something different?
don3: I had a Calf reverb attached to 2 channels but there was very little input from those channels on the song I exported.
I don't know how Ardour processes sound files but I assume that it doesn't hold everything in memory. I would be curious to know if someone using an SSD can duplicate the problem. I have 8Gb of ram on the machine I'm using but the drive is probably mediocre.
More clearly stated, if I start Ardour-4.0rc2-dbg and choose Audio System Jack it starts the same version of Jack that I have on Ubuntu Studio, 1.9.10. If I start Ardour with Audio System ALSA it does not start Jack. I'm trying a bunch of new exports with ALSA only.
Do I still need to start Jack for recording? What about latency issues if I just use ALSA?
New test using ALSA, no Jack. I made sure by checking processes. I exported all 12 songs and did not hear any skips on the first set. However, I did hear a static glitch at the very end of one song as it faded out.
An hour later I started Ardour again with ALSA only and exported that song again. This time the glitch was gone but there were 2 very audible skips when I listed back with Audacious. They were in exactly the same place each time I played it so I know it's in the exported file.
The only thing I haven't tried so far is another computer. I'm running a new laptop with a core i5 processor and 8GB or ram. don3 is reporting similar issues on a computer that is much more powerful than mine.
||Doubling buffer from 1024 to 2048 doesn't help.|
||And FWIW, in my case (0006096), changing the buffer size (specifically periods/buffer) also didn't help, as far as changing the likelihood or the "density" of glitches in an export. But it did change the length of the difference areas -- IIRC the number of consecutive errant samples on each channel was approximately the same as the total number of frames in a buffer (frames/period x periods/buffer). I should also say it's been a while since I ran that experiment, however, so I hope I'm not giving misleading info there.|
don3: have you tried Ardour 4.rc3 from the nightly build site? I did a live recording yesterday and exports today with no issues. The mixer was a Soundcraft Si Expression sending 16 channels over USB directly into my laptop.
My previous glitches came from concerts that were recorded with a different mixer. I imported the raw wav files into Ardour later. Multiple exports of the same song were often different. Sometimes they were perfect. That's why I didn't suspect the source files. Now I'm wondering if that was the cause?
I'll do more exports on yesterday's recording and report back.
mashworth: I haven't tested an A4 rc nightly build yet, but I would very much like to. (I have an issue with PayPal which has prevented me from subscribing - as opposed to donating, which works - and although the occasional silences of the free version sounds like a better approach in general than not saving plugin settings, I didn't want to mess with it for testing this issue. So that leaves me with trying harder to get the PayPal thing resolved or building from source, which I may just look into.) However, I did try two earlier nightly builds over the last 4 months or so, and got the same result.
I would think that if you got differing results (non-reproducible glitches in random places), it couldn't be in the original recordings. That doesn't necessarily mean that the originals are completely clean, but at least you're not hearing any, umm, "anomalies", which is good. Bug ID 6096 focuses on export, but I also have occasional glitch/pop/dropout issues when recording (on a different computer, with potential complicating issues...). Those manifest as static and repeatable in exported audio, which my differencing method does not find (of course, because they're present in any two export files that I compare) - so currently I can only detect them by ear, which means that I can easily miss some. Also I can say that I do get matching output sometimes -- it seems to be maybe 10 or 20% of the time for most of my sessions, but heavily depends on what I do in the session. If it's very simple I can get matching exports pretty much all the time.
In other news, I think Paul and x42 have met with some success at reproducing my issue with a session I sent them. :) They'll probably have an update soon...
OT: I'm very interested that you are able to record over USB from an Si Expression. I recently started using an Si Performer, and I've wondered whether either the Firewire or USB interfaces would work with Linux - IOW, whether it was worthwhile buying the respective option cards.
||don3: I'll create a Soundcraft topic in the regular forum later this evening. What I learned may save you some time and frustration.|
||Should be fixed in Ardour 4.0-rc4 (actual change 4.0-rc3-22-g96ce9c3) please test.|
||I'm exporting regions that contain automation right now. It will take me a a couple of hours to carefully listen back to all the songs but you'll hear back from me in a couple of hours.|
Ardour-4.0.rc4.2-dbg worked great for me. No skips, no crackle and smooth fade-outs on 12 songs that spanned about 1.5 hrs of jazz with vocals. I'm ready to pay the bug bounty. Thanks very much.
Here were my export conditions...
I started Ardour without Jack and used Alsa as my audio system. The device was my onboard sound, HDA Intel PCH. I used automation on the main output to do fade-in and fade-out between songs. I had a bit of Calf reverb on two channels. While exporting I also surfed the forum and checked email. No conflicts.
I have not had any problems recording with Jack.
||Should we consider this bounty as eligible to be paid? Has it been paid? thanks.|
||The problem seems to be solved. Please charge my bounty to the PayPal account that I use for my Ardour subscription. If that is not appropriate please contact me via email with instructions. Thanks.|
Issue has been closed automatically, by Trigger Close Plugin.
Feel free to re-open with additional information if you think the issue is not resolved.
|2015-04-05 22:20||mashworth||New Issue|
|2015-04-06 00:25||x42||Relationship added||duplicate of 0006096|
|2015-04-06 01:45||x42||Note Added: 0016552|
|2015-04-06 02:56||mashworth||Sponsorship Added||mashworth: US$ 5|
|2015-04-06 02:56||mashworth||Sponsorship Total||0 => 5|
|2015-04-06 03:26||mashworth||Note Added: 0016553|
|2015-04-06 04:04||mashworth||Note Added: 0016554|
|2015-04-06 17:38||mashworth||Note Added: 0016556|
|2015-04-07 14:27||mashworth||Sponsorship Updated||mashworth: US$ 25|
|2015-04-07 14:27||mashworth||Sponsorship Total||5 => 25|
|2015-04-07 16:16||mashworth||Note Added: 0016565|
|2015-04-07 17:46||don3||Note Added: 0016567|
|2015-04-07 18:53||don3||Note Edited: 0016567|
|2015-04-07 22:02||mashworth||Note Added: 0016568|
|2015-04-08 01:02||x42||Note Added: 0016569|
|2015-04-08 01:06||x42||Note Edited: 0016569|
|2015-04-08 01:11||don3||Note Added: 0016570|
|2015-04-08 01:25||don3||Note Edited: 0016570|
|2015-04-08 02:09||don3||Note Added: 0016571|
|2015-04-08 03:12||mashworth||Note Added: 0016572|
|2015-04-08 14:52||mashworth||Note Added: 0016574|
|2015-04-08 18:22||mashworth||Note Added: 0016575|
|2015-04-08 18:32||mashworth||Note Added: 0016576|
|2015-04-08 18:47||don3||Note Added: 0016577|
|2015-04-10 15:22||mashworth||Sponsorship Updated||mashworth: US$ 50|
|2015-04-10 15:22||mashworth||Sponsorship Total||25 => 50|
|2015-04-13 19:50||mashworth||Note Added: 0016592|
|2015-04-13 21:45||don3||Note Added: 0016595|
|2015-04-13 22:57||mashworth||Note Added: 0016596|
|2015-04-15 21:53||x42||Note Added: 0016604|
|2015-04-15 21:53||x42||Status||new => feedback|
|2015-04-16 16:57||mashworth||Note Added: 0016607|
|2015-04-16 18:37||x42||Relationship added||related to 0005880|
|2015-04-16 20:34||mashworth||Note Added: 0016612|
|2015-04-22 00:32||paul||Note Added: 0016632|
|2015-04-22 03:11||mashworth||Note Added: 0016634|
|2015-04-24 09:09||x42||Status||feedback => resolved|
|2015-04-24 09:09||x42||Resolution||open => fixed|
|2015-04-24 09:09||x42||Assigned To||=> x42|
|2020-04-19 20:17||system||Note Added: 0023435|
|2020-04-19 20:17||system||Status||resolved => closed|