View Issue Details

IDProjectCategoryView StatusLast Update
0009798ardourbugspublic2024-09-29 02:40
ReporterHuBandiT Assigned Tox42  
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
PlatformMicrosoftOSWindowsOS Version10
Product Version8.7 
Summary0009798: Exporting multiple regions hangs Ardour after the first region if normalization is enabled
DescriptionI am on Win10, this has been happening for me for several years of Ardour versions.

If I try to export multiple regions, with normalization enabled, Ardour correctly exports and normalizes the first region, however the export then starts "behaving weirdly" and hangs.

Depending on the exact output format selected, I have observed the following two cases of "behaving weirdly", both 100% repeatable in my environment: after the first export completed with valid result on disk, then:

a) there is a very brief noise/audio playback, then the export dialog proceeds to region "3 of ..." (skipping region "2 of ..."), and instanly hangs (this happens for me when I try to export into MP3 with normalization)
b) there is a very brief noise/audio playback, then the export dialog proceeds to a few further regions skipping numbers between, however the displayed region number (index) and the actual region name displayed do not match... after 3-4 such "wrong" attempts the dialog eventually hangs (this I only tried once, doing a 16-bit WAV export with normalization)

As a sidenote/hint, exporting a single region with normalization 100% of the time:
- leaves an uncompressed temporary file behind (random 5-6 character name) in the export/ folder
- probably keeps the file handle of the (normalized) target file open, because re-exporting the same region to the same file without quitting Ardour fails at the moment the second (normalization) progress bar completes, however the re-export completes fine if I first quit and relaunch Ardour (without deleting the offending file from disk).

Thank you in advance.
TagsNo tags attached.

Activities

x42

2024-09-23 15:25

administrator   ~0028986

Do you mean exporting Ranges aka Time spans (not Regions) like in attached screenshot? initiated via Session > Export > Export to Audio file?

So how can I reproduce this? Is this step by step recipe correct?

 * new Session
 * create 3 range markers
 * Session > Export > .. to audio file
 * File format: wav 16bit, session-rate, normalize to peak
 *Time span: select timespan 1 and 3
 * Export



And yes, to normalize first the raw data needs to be written to a temporary file.
That can then be analyzed to find peak volume before writing the actual file.
export_time_spans.png (36,742 bytes)   
export_time_spans.png (36,742 bytes)   

HuBandiT

2024-09-23 21:02

reporter   ~0028987

Greetings, thank you for looking into this.

My apologies: yes, I did mean time spans/ranges (and not regions).

Your recipe is very close, here are my steps for reproducing this:

* new Session
* import some 24 bit WAV files
* create 4 range markers
* Session > Export to audio files...
* File format: wav 16bit, session-rate, normalize to peak (-1.00 dB)
 *Time span: click on "Select All" to have all ranges selected, then manually deselect ("unclick") range "session"
* click "Export"

expected behaviour: all 4 ranges get exported (rendered/normalized/written into output file)

actual behaviour (when normalization is _not_ enabled): as expected behaviour

actual behaviour (when normalization _is_ enabled): first range gets exported correctly, then the playhead (red line) jumps to the beginning of the _2nd_ range on the timeline, the export dialog displays "Exporting "<name of 2nd range>" (timespan of 3 of 4)", and progress stops and Ardour hangs.

Please see two attached screenshots illustrating the situation. Notice the ranges on the timeline, the playhead, vs. what the export dialog shows.
01 selected ranges.png (55,644 bytes)   
01 selected ranges.png (55,644 bytes)   

x42

2024-09-26 22:21

administrator   ~0028990

Some initial investigation shows this is more complicated.

Apparently it is caused to using the audio callback to trigger the next range.
Using the "Dummy" backend I can export just fine, but Portaudio/ASIO hangs.

If you're comfortable using a text editor, while Ardour is not running edit %localappdata%\Ardour8\config and unhide the Dummy backend:
<Option name="hide-dummy-backend" value="0"/>


after that you can later use Menu > Window > Audio/MIDI Setup... Audio System: None/Dummy, and exporting multiple regions should work.

I'll keep investigating this issue now.

x42

2024-09-27 04:39

administrator   ~0028991

Fixed in 8.7.42 - available from https://nightly.ardour.org/

HuBandiT

2024-09-27 09:58

reporter   ~0028992

Thank you, I confirm 8.7.42 fixes the issue and the export now completes correctly and successfully.

There remains the (very) minor issue of temporary files (one per time span) being left behind on disk after the export completes.

x42

2024-09-29 02:40

administrator   ~0029006

> There remains the (very) minor issue of temporary files (one per time span) being left behind on disk after the export completes.

I cannot reproduce this. temporary files are removed after a multi region export w/normalization.

Could it be that you are just seeing the old remnant files from previous failed exports?

Issue History

Date Modified Username Field Change
2024-09-23 00:57 HuBandiT New Issue
2024-09-23 15:25 x42 Note Added: 0028986
2024-09-23 15:25 x42 File Added: export_time_spans.png
2024-09-23 21:02 HuBandiT Note Added: 0028987
2024-09-23 21:02 HuBandiT File Added: 01 selected ranges.png
2024-09-23 21:02 HuBandiT File Added: 02 ranges on timeline, confused export progress dialog.png
2024-09-26 22:21 x42 Note Added: 0028990
2024-09-26 22:21 x42 Assigned To => x42
2024-09-26 22:21 x42 Status new => confirmed
2024-09-27 04:39 x42 Status confirmed => resolved
2024-09-27 04:39 x42 Resolution open => fixed
2024-09-27 04:39 x42 Note Added: 0028991
2024-09-27 09:58 HuBandiT Note Added: 0028992
2024-09-29 02:40 x42 Note Added: 0029006