Skip to content
This repository was archived by the owner on Dec 6, 2025. It is now read-only.

Conversation

@yaxu
Copy link
Collaborator

@yaxu yaxu commented Nov 19, 2025

I wanted this after working with a mridangam player B C Manjunath and percussionist on a drum kit Matt Davies. Manjunath's mridangam was tuned to D, and Matt tuned his drums to the same where possible, adding a resonator triggered by a piezo so that his kick drum also was tuned to D. It sounded great so wanted this for superdirt too. It's a global (i.e. orbit-bound) effect wrapping the resonator from MKPlugins, originally from mutable instruments.

DirtPause.ar(signal, graceTime:4);
Out.ar(effectBus, signal);
}, [\ir, \ir]).add;
} {};
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the last {} is not needed.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

ReplaceOut.ar(dryBus, in * (1 - res));

signal = in.asArray.collect { |sig|
Resonator.ar(sig, freq: (resn + 60).midicps, position: 0.001, resolution: 12, structure: 0.2, brightness: 0.03, damping: resd);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd prefer to have the resonator frequency specified in Hz, as we do it for synth freqs. Or was there a particular reason?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just that it's nice to be able to specify notes in tidal/strudel. I'm mainly using this to pitch drums (I updated the PR description with motivation).

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does tidalstrudel have a type Note? Then this could be used in different places to specify frequencies in the form of notes, and no need for assumptions about the tuning system.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(but see below )

Resonator.ar(sig, freq: (resn + 60).midicps, position: 0.001, resolution: 12, structure: 0.2, brightness: 0.03, damping: resd);
};

// in = if(numChannels > 2) { in.clump(2).sum } { in.dup };
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you could remove the commented out parts, I think it is good that every channel has its own resonator.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes agreed, I added WIP until I tidy it up.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We could write this:

resn.midiratio * resf

Where resf is resf = (60.midicps) by default.

Then both is possible.

@yaxu yaxu changed the title Add global resonant body effect (needs MKPlugins) WIP: Add global resonant body effect (needs MKPlugins) Nov 20, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants