HoerTech-gGmbH / tascar

GNU General Public License v2.0
34 stars 4 forks source link

Reliable rendering (of impulse responses) with tascar_jackio possible? #1

Closed m-r-s closed 5 years ago

m-r-s commented 5 years ago

I want to render an impulse to a impulse response in a setup with a hoa2d+hrirconv receiver type offline, i.e., without possible XRUNs.

This rules out tascar_renderfile/_renderir already as it cannot take into account the convolution of the hrirconv module.

The next choice was using tascar_jackio with the freewheeling flag. "Most" oft the time this works, however, not always. Sometimes the output is scrambled in a strange way. The problem is that there is no error message or any reliable way to detect when the recording went wrong. Hence, it is not possible to automatically render a lot of IRs.

I already invested a lot of time in a solution to this problem but I am stuck. Hence, I attach a reduced scene and a Octave script to trigger the problem. hrirerror.zip I use a standard Ubuntu 19.04 with jackd2 and TASCAR (0.200.0.0-3e47b82) from the repository.

The script renders and plots impulse responses in an infinite loop. Every now and then the plot shows the irregularities. The error seems to be triggered with higher probability if the system is under load (i.e., when my notebook cpu is locked to 1.6GHz). For "offline" rendering with freewheeling this should, however, not matter.

Maybe there is a more reliable way to perform this task?

gisogrimm commented 5 years ago

This is most likely a bug in jackd2. As a workaround, use jackd1, or jackd2 with "--sync" option.