@Blades_Prod said:
@whale-av thank you for your reply! I tried using the limiter and reduced the volume using [*~] however, this did not fix the issue. Overdubbing 'Track 1' does not have any distortion, but the rest do even though it's the exact same code in each track's sub patch. I genuinely don't know what else I can try lol.
In the patch you posted you are not overdubbing in Track 1 I think, as there is no feedback from [tabread4~] to [tabwrite~].
You seem to have a large gain on your [adc~] input...... 15 loadbanged to the input.
Maybe that is correct?... but..? 15 is a massive amount of gain and could be the source of your problem.
If you turn your track modules into abstractions then you will be able to see your input meters while you are working..... like this... wall.zip
The disadvantage (maybe) is that they will all be the same.... change one and they will all change.
The $1 within [track] is the argument for the abstraction...... 1 2 3 4 for the track numbers.
I have added an output meter as well, and because they are all the same they now all have feedback from [tabread4~] to [tabwrite~] (overdubbing).
You might be better able to see what is happening on the meters as you work.
The array is overwritten on every pass, so I cannot see why it should be stable for 3 overdubs and then suddenly distort on the 4th.
P.S. I noticed with your original patch that the input gain 15 did not seem to have loadbanged in every track sub-patch. Very strange.
No promotion.... I have just found that I did update to Pd Vanilla a looper that I built for a client back in the days of Pd extended.
It has only one "track" and it uses a delay line instead of an array. It has a visual metronome, and an audio click, and will automatically stop at the end of a pattern when the "Cue seen" button is clicked.
It might have some features that you could use although translating to an array based looper would take some time.
You might not get away with using the visual metronome for a class assignment.
I had found that keeping the [adc~] input low enough was the solution for stopping the patch from climbing to distortion...... PdLoop.zip
David.