[LAD] Re: Update of zita-at1

2024-04-23 Thread Robin Gareus

On 2024-04-20 16:41, Fons Adriaensen wrote:


With the new logic deciding on forward / backward jumps, the
low latency mode just came for free


Except the latency in zita-at1 0.8.1 is still around ~20ms, compared 2ms 
when using the current plugin's "fast mode".



Re. microtuning individual notes: I don't think the retuning
is ever accurate enough for this to be of any use. Or maybe
I misunderstand what you refer to.


It allows one to detune individual notes, and it is sufficiency accurate 
(not unlike changing the reference pitch or notebias).


Those controls are not exposed in the custom plugin UI. They are control 
ports that show up as automation lines in Ardour, or when editing the 
plugin with a generic control UI.


I think it is best to leave the current plugin as-is. Doing so will not 
break existing sessions using the plugin.



I have started a new project without all the custom patches made to the 
AT1 DSP, and without the variants of the current plugin. The new plugin 
will closely follow the upcoming zita-AT2.




What would be great (in particular for zita-at2) would be
a mode were you can e.g. select a region in Ardour, have it
analysed, present the result graphically so it can be edited,
and finally apply the edited version to the region...


It's highly unlikely that we'll reinvent Melodyne. The hard and time 
consuming part is not the DSP, but the the GUI. It is a full time 
project by itself.


But you never know, someone might step up and file a pull request out of 
the blue. Things like this happened before.


--
robin


OpenPGP_signature.asc
Description: OpenPGP digital signature
___
Linux-audio-dev mailing list -- linux-audio-dev@lists.linuxaudio.org
To unsubscribe send an email to linux-audio-dev-le...@lists.linuxaudio.org


[LAD] Re: Help with resampling algorithm

2024-04-23 Thread Fons Adriaensen
On Tue, Apr 23, 2024 at 10:47:43AM +0100, Marco Castorina wrote:
 
> > for each output sample you use a new filter from the set of 128 by
> > incrementing the index by a fixed value. This may not be an integer,
> > so you need to round.
 
> This is what I am struggling with: how do I determine by how much to
> advance?

It depends on the inverse of the resampling ratio, R = Fin / Fout.

Note that all filters have the same frequency response, they just
provide a different delay in the range of 0 to 1 input samples.

Let P be the position in the input stream where the center of the
filter has to be.

For each new output sample P increments by R.

The integer part of P determines what should be first input
sample. The fractional part determines which filter to use. 

Ciao,

-- 
FA

___
Linux-audio-dev mailing list -- linux-audio-dev@lists.linuxaudio.org
To unsubscribe send an email to linux-audio-dev-le...@lists.linuxaudio.org


[LAD] Re: Help with resampling algorithm

2024-04-23 Thread Marco Castorina
Thanks everyone, and apologies for the late reply! I didn't get notified 
about the

replies to this thread.

> for each output sample you use a new filter from the set of 128 by 
incrementing
 the index by a fixed value. This may not be an integer, so you need to 
round.


This is what I am struggling with: how do I determine by how much to 
advance?
I kind of got an idea by looking the resampler implementation in scipy, 
but it's still
not clear. In my case I am going from 44.1 KHz to 96 KHz. Or this 
determined by

the parameters of the filter?

> [...] and advance by one sample in the input array until the index is 
within range.


Within range of the next output sample or the filter sample?

Again, apologies for the very basic questions, still wrapping my head 
around this

algorithm :)

Thanks,

Marco
___
Linux-audio-dev mailing list -- linux-audio-dev@lists.linuxaudio.org
To unsubscribe send an email to linux-audio-dev-le...@lists.linuxaudio.org