Skip to content

Conversation

@chrisib
Copy link
Collaborator

@chrisib chrisib commented Feb 10, 2025

Adds a new script inspired by the Midi Adapter For DFAM (MAFD). Allows a DFAM-user to play sequences that aren't limited to 8 steps, a reset button, a patchable reset input and an advance button that can be used while the module is playing.

@chrisib chrisib added the new script Addition of a new contrib script label Feb 10, 2025
@noisehoho
Copy link

noisehoho commented Feb 12, 2025

Well done!
The entire script is much more efficient than mine.
Perhaps you can add a random step after x7 .

@chrisib
Copy link
Collaborator Author

chrisib commented Feb 12, 2025

Well done! The entire script is much more efficient than mine.

Haha, thanks! glad you like it!

Perhaps you can add a random step after x7 .

Hm, maybe. I do like having 1 and 7 and the extreme ends, since that gives you some nice tactile feedback for the default forwards & reverse positions (7 is equivalent to -1, so it'll just step backwards though the sequencer). But given the default length control is in the middle, having the tactile feedback probably isn't that important...

@noisehoho
Copy link

I tested your dfam script many times (mainly at x7). Occasionally (4-5 minutes),there may be missing steps. And I always use a 50% square wave Is everything okay with yours? What could be the possible reason?

@chrisib
Copy link
Collaborator Author

chrisib commented Feb 14, 2025

Clarifying question:
Is EuroPi not detecting the input signal, and therefore not outputting a trigger to DFAM, or is EuroPi properly detecting the incoming clock and DFAM isn't responding to the trigger output by EuroPi?

@noisehoho
Copy link

noisehoho commented Feb 14, 2025

It's awkward, I can't tell which of these two situations it is. Let me try another way to test.

@chrisib
Copy link
Collaborator Author

chrisib commented Feb 14, 2025

The easiest way to check would probably be to verify that the LEDs on DFAM stay synchronized with the circles drawn on EuroPi. If they stay synchronized then EuroPi is probably skipping incoming clocks. If DFAM is a step or two behind EuroPi it's probably because DFAM isn't properly handling the output from EuroPi.

@noisehoho
Copy link

If the settings of k1 and k2 make the last step of the sequence the same as the first step, it will result in the last step not being trig. In this case, an additional+8 pulse is required

…gic numbers. Increase duration of DFAM triggers.
@chrisib
Copy link
Collaborator Author

chrisib commented Feb 15, 2025

I just realized my trigger duration was 0.0001 instead of 0.001, so that's likely part of it. Increasing the trigger duration to the (intended) 1/1000th of a second seems to fix some of the desynchronization issues.

I've also gone back to allowing only 1-8 steps, instead of 1-15 of the EuroPi part of the sequencer. This simplifies the math somewhat and reverts to having tactile feedback for full-length sequences, which I really like. Being able to performatively switch to a shorter sequence and then crank the knob back to get to full-length feels "right" to me.

Please grab the new version of the program and see if it's still causing the issues you described and let me know if this has solved them!

@noisehoho
Copy link

Same issues. when (k1 * k2) % 8 == k2 .Like 5x2 3x4 5x4 7x4 5x6 .If last step is the same as the first step .

…e advancing. This should prevent issues of the last step not playing when (seq_len * step_size) MOD 8 = step_size (e.g. len 5, step 4: 5 * 4 = 4 MOD 8)
@chrisib
Copy link
Collaborator Author

chrisib commented Feb 16, 2025

Aha! thanks for providing the specific settings needed to reproduce the error. That's very helpful, indeed.

I just tested with the latest changes, and it seems like the len 5/step 4 case is working correctly now. It's late so I'll test more tomorrow. But hopefully this should fix the problem for you.

@noisehoho
Copy link

Wow, everything is fine now .And I tried using cv1 to run/stop, another signal to dfams trig in (gate from m32 or another copy of cv1) can have more fun, while making fast switching incredibly clean

@chrisib chrisib marked this pull request as ready for review February 22, 2025 19:44
@chrisib chrisib merged commit db65bae into Allen-Synthesis:main Mar 2, 2025
3 checks passed
@chrisib chrisib deleted the dfam branch March 2, 2025 22:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

new script Addition of a new contrib script

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants