Hi,
Maybe using an actual tape player and neural-amp-modeler, considering
the tape player is "an amp" ?
I am not sure about the quality of this idea, but I am confident members
of linux-audio-dev list are able to tell the good and bad for such an
approach.
Also, such a plugin could be usefull for sound design.
On 10/17/24 07:35, Fons Adriaensen wrote:
On Thu, Oct 17, 2024 at 12:27:30AM +0200,
yoann.le.borgne(a)free.fr wrote:
Regarding your approach of white box reverse
engineering, have you had a
look at Jatin Chowdhury's work on the subject?
(
https://github.com/jatinchowdhury18/AnalogTapeModel).
He went quite far simulating the full chain and his plugin has acquired
quite a reputation.
Yes, I know of his work. But reading the paper, I don't
think
his physical model is correct.
Unless I'm missing something, the algorithm he uses amounts to
- upsampling, giving S(t)
- adding the bias signal B(t)
- evaluating the hysteresis loop on S(t) + B(t), giving M(t)
- downsampling, which filters out the HF bias.
But that NOT how things work in reality.
Imagine following a small fragment of tape (corresponding to
one sample in the upsampled domain), as it moves past the
recording head and away for it.
The magnetic field of the record head extends well beyond
the head gap, decreasing in strength as you move away from
it.
So the small tape fragment will go through to many
cycles of the bias + signal waveform with decreasing
amplitude. The resulting magnetisation is not just
the 'average' of M(t).
For an example, see
<http://kokkinizita.linuxaudio.org/linuxaudio/downloads/magnetisation.png>
X-axis is time in microseconds, bias frequency is 100 kHz,
bias amplitude is 1.0, signal (assumed constant during the
short time shown) = 0.5.
The green trace shows the magnetic field as seen by a small
tape fragment as it moves past the recording head.
The red trace is the resulting magnetisation, taking the
hysteresis effects into account. The constant value it
converges to is the signal that remains on the tape.
This is what I simulate, and it is way more complex than
what is described in Chowdhury's paper - that would just
be the average value of the red trace while it is still
at full amplitude.
If the signal is HF, it can't be assumed constant during
the time the field decay takes, it may well go through a
complete cycle or more. This is what causes the 'self
erasure' at higher frequencies which Chowdhury doesn't
take into account at all (AFAICS).
Ciao,