Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fx updated by @jnonis #793

Closed
wants to merge 8 commits into from
Closed

Conversation

probonopd
Copy link
Owner

Continuation of #765

commit a2a4f18
Author: Javier Nonis <javiernonis@gmail.com>
Date:   Thu Aug 8 20:32:38 2024 -0300

    Fix for Midi Clock Sync

commit 20eeb54
Author: Javier Nonis <javiernonis@gmail.com>
Date:   Sat Aug 3 23:06:17 2024 -0300

    Added Flanger

commit 7f21a03
Author: Javier Nonis <javiernonis@gmail.com>
Date:   Sat Aug 3 15:16:42 2024 -0300

    UI improvements

commit 8538869
Author: Javier Nonis <javiernonis@gmail.com>
Date:   Sat Aug 3 00:24:45 2024 -0300

    Fix for FX UI

commit 035b310
Author: Javier Nonis <javiernonis@gmail.com>
Date:   Fri Aug 2 20:39:44 2024 -0300

    Fix for RPi 1 Stereo output

commit bd31b24
Author: Javier Nonis <javiernonis@gmail.com>
Date:   Tue Jul 30 22:42:36 2024 -0300

    Fix for MVerb port

commit f7d3baf
Author: Javier Nonis <javiernonis@gmail.com>
Date:   Tue Jul 30 18:27:39 2024 -0300

    Fix for Reverb backward compatibility

commit d695762
Author: Javier Nonis <javiernonis@gmail.com>
Date:   Sun Jul 28 18:46:59 2024 -0300

    Fix for A Phaser parameters

commit 38f9f5f
Author: Javier Nonis <javiernonis@gmail.com>
Date:   Sat Jul 27 16:16:49 2024 -0300

    AudioEffect refactor

commit 17f6fc9
Author: Javier Nonis <javiernonis@gmail.com>
Date:   Fri Jul 26 20:47:27 2024 -0300

    Fix missing Send FX setup for Phasers

commit aae85e5
Author: Javier Nonis <javiernonis@gmail.com>
Date:   Wed Jul 24 18:11:43 2024 -0300

    Added RKR / Zynaddsubfx Phasers

commit f0e2593
Author: Javier Nonis <javiernonis@gmail.com>
Date:   Tue Jul 23 13:12:29 2024 -0300

    Fix for MVerb

commit 2d19311
Author: Javier Nonis <javiernonis@gmail.com>
Date:   Mon Jul 22 19:59:15 2024 -0300

    Refactor Effect directory

commit 37c152d
Merge: 9c55aa6 d6fbbb5
Author: jnonis <jnonis@users.noreply.github.com>
Date:   Mon Jul 22 18:59:55 2024 -0300

    Merge pull request #1 from jnonis/arp

    Merge Arp branch to FX branch

commit d6fbbb5
Author: Javier Nonis <javiernonis@gmail.com>
Date:   Mon Jul 22 18:18:08 2024 -0300

    Added 3 Band EQ

commit 6d673aa
Author: Javier Nonis <javiernonis@gmail.com>
Date:   Mon Jul 22 16:46:33 2024 -0300

    Added MVerb effect

commit bf30d1a
Author: Javier Nonis <javiernonis@gmail.com>
Date:   Sat Jul 20 20:15:13 2024 -0300

    UI fix for Tempo display

commit d7336ee
Author: Javier Nonis <javiernonis@gmail.com>
Date:   Sat Jul 20 20:14:08 2024 -0300

    Save Tempo into Performance

commit 652db3e
Author: Javier Nonis <javiernonis@gmail.com>
Date:   Sat Jul 20 17:49:53 2024 -0300

    Store Midi FX settings into performance

commit 6cd3a82
Author: Javier Nonis <javiernonis@gmail.com>
Date:   Sat Jul 20 16:21:47 2024 -0300

    Handle Arp as a Midi FX

commit 8f59754
Author: jnonis <jnonis@users.noreply.github.com>
Date:   Fri Jul 19 16:41:09 2024 +0000

    Arp fixes

commit 61f6684
Author: jnonis <jnonis@users.noreply.github.com>
Date:   Fri Jul 19 04:56:58 2024 +0000

    Added Arp to TG menu

commit b2dcc29
Author: jnonis <jnonis@users.noreply.github.com>
Date:   Thu Jul 18 04:34:13 2024 +0000

    Removed log from Arp

commit d4f99f8
Author: jnonis <jnonis@users.noreply.github.com>
Date:   Thu Jul 18 04:31:42 2024 +0000

    Almost working Arp

commit 0cb0553
Author: jnonis <jnonis@users.noreply.github.com>
Date:   Thu Jul 18 04:15:19 2024 +0000

    Not working Arp

commit 9c55aa6
Author: jnonis <jnonis@users.noreply.github.com>
Date:   Sun Jul 14 22:19:46 2024 +0000

    Delay FX: Support for tempo sync

commit bed555f
Author: jnonis <jnonis@users.noreply.github.com>
Date:   Sun Jul 14 16:11:36 2024 +0000

    Fix for FX Params

commit 0a68eb5
Author: jnonis <jnonis@users.noreply.github.com>
Date:   Wed Jul 10 04:24:55 2024 +0000

    Handle Midi clock and resolve BPM

commit cd785aa
Author: jnonis <jnonis@users.noreply.github.com>
Date:   Tue Jul 9 23:01:24 2024 +0000

    Added Backward compatibility for performances

commit fc6f715
Author: jnonis <jnonis@users.noreply.github.com>
Date:   Tue Jul 9 04:47:42 2024 +0000

    Adapted Plate Reverb as AudioEffect

commit 751b69d
Author: jnonis <jnonis@users.noreply.github.com>
Date:   Mon Jul 8 22:35:56 2024 +0000

    Save Send FX configuration in performance

commit 7c2638c
Author: jnonis <jnonis@users.noreply.github.com>
Date:   Sun Jul 7 04:56:43 2024 +0000

    WIP: Added Send FX

commit 17105a9
Author: jnonis <jnonis@users.noreply.github.com>
Date:   Sat Jul 6 22:00:33 2024 +0000

    Code clean up

commit 5091555
Author: jnonis <jnonis@users.noreply.github.com>
Date:   Sat Jul 6 21:37:29 2024 +0000

    Fixes for Tal Reverb 3 paramteres

commit 002c2b9
Author: jnonis <jnonis@users.noreply.github.com>
Date:   Sat Jul 6 21:07:16 2024 +0000

    Added Ping Pong Mode and Mix control to Delay FX

commit 897c35a
Author: jnonis <jnonis@users.noreply.github.com>
Date:   Fri Jul 5 06:00:33 2024 +0000

    Insert FX UI improvements

commit 881149e
Author: jnonis <jnonis@users.noreply.github.com>
Date:   Wed Jul 3 04:36:32 2024 +0000

    Process TG in stereo

commit e034e66
Author: jnonis <jnonis@users.noreply.github.com>
Date:   Fri Jun 28 00:24:57 2024 +0000

    Added Tal Reverb 3

commit 116881b
Author: jnonis <jnonis@users.noreply.github.com>
Date:   Thu Jun 27 04:02:08 2024 +0000

    Fix for distortions

commit 6f05c23
Author: jnonis <jnonis@users.noreply.github.com>
Date:   Thu Jun 27 03:48:02 2024 +0000

    Added Mod Distortions DS1 and BigMuff

commit 2d85439
Author: jnonis <jnonis@users.noreply.github.com>
Date:   Wed Jun 26 22:52:30 2024 +0000

    Fix for Bypass and Removed Logs

commit 172c651
Author: jnonis <jnonis@users.noreply.github.com>
Date:   Wed Jun 26 04:40:15 2024 +0000

    Added Bypass to FX Parameters

commit 8ca2177
Author: jnonis <jnonis@users.noreply.github.com>
Date:   Wed Jun 26 04:12:58 2024 +0000

    Fix for Insert FX paramters ui

commit 7c8dc6f
Author: jnonis <jnonis@users.noreply.github.com>
Date:   Wed Jun 26 03:45:03 2024 +0000

    Save Insert FX parameters into performance

commit 7f110b2
Author: jnonis <jnonis@users.noreply.github.com>
Date:   Mon Jun 24 02:40:47 2024 +0000

    Added generic fx paramters handling

commit 9b1ea33
Author: jnonis <jnonis@users.noreply.github.com>
Date:   Sun Jun 23 18:53:29 2024 +0000

    Added LP Filter Effect

commit 75f4333
Author: jnonis <jnonis@users.noreply.github.com>
Date:   Sun Jun 23 08:11:36 2024 +0000

    Added delay implementation

commit 7bcba91
Author: jnonis <jnonis@users.noreply.github.com>
Date:   Sun Jun 23 02:06:54 2024 +0000

    Added lock to inser FXs to avoid crashes.
    Code clean up.

commit d98c7cf
Author: jnonis <jnonis@users.noreply.github.com>
Date:   Sat Jun 22 04:43:23 2024 +0000

    Added Insert FX and Juno Chorus
@probonopd probonopd mentioned this pull request Jan 12, 2025
Copy link

Build for testing:
MiniDexed_2025-01-12-e00c076
Use at your own risk.

@probonopd
Copy link
Owner Author

probonopd commented Jan 12, 2025

Hi @jnonis, happy new year!

I really think FX would be a great addition to MiniDexed. But I can also understand @diyelectromusic's concerns that we add a lot of code here which may or may not interfere with the performance of MiniDexed overall.

So I'd like to have, in minidexed.ini, a "master switch" with which all FX related code can be enabled or disabled, FXEnabled=1. So that whenever we run into some (seemingly unrelated) issue, we can switch off the whole FX code path. Do you think this is possible, or is it even implemented this way?

Also, coming back to #765 (comment), FX should be entirely disabled when MiniDexed is in 8-output mode.

Do you think you could make these changes?

Also I notice the PR contains changes regarding m_nButtonsDebounceTime, what's up with these? If they are unrelated to FX, they'd better be handled separately.

@jnonis do you plan other changes before you'd consider this ready for integration?

@diyelectromusic do you have other requirements/considerations to make this ready for being merged (after intensive testing)?

@probonopd probonopd marked this pull request as draft January 12, 2025 13:37
@probonopd
Copy link
Owner Author

probonopd commented Jan 12, 2025

Great work, seems to work well for me on the Raspberry Pi Zero 2 W.

Questions for @jnonis:

  • Can there be more than 1 "Insert FX" (e.g., "Insert FX 1"... "Insert FX 4")
  • Likewise, can there be more than 1 "Send FX" (e.g., "Send FX 1"... "Send FX 4")?
  • Does it make sense to have all FX types available both as "Insert FX" and "Send FX"?
  • Can we make all of this controllable via MIDI? In a way similar to how the MPX90 is controllable over MIDI?

Notes to self (to be compared with main):

  • On Raspberry Pi Zero 2 W, I have to replug my Keystation Mini32 MK3 for it to work (not reproducible - possible HW issue?)

@Banana71
Copy link

Unfortunately, this miniDexed version does not start on my Raspberry Pi 4. 😟 The display freezes after the version number is displayed. So I guess I have to play the sound like this first. :trollface:
TX816-Symphonic

@Banana71
Copy link

Banana71 commented Jan 12, 2025

This version runs on my Raspberry Pi 3 A+. I sent the E. Piano Performance from the TX816 to the A Phaser and assigned the insert FX of the 8 TGs to the TalRvrb3. After a short time the sound starts to crackle. My Raspberry Pi 3 has no additional heat sinks. How well does it work for you?
000118_TX816 EP FX.zip

@probonopd
Copy link
Owner Author

probonopd commented Jan 12, 2025

000118_TX816 EP FX.zip plays well for me with no crackle even after 2 minutes on the Raspberry Pi Zero 2 W. Maybe a power supply or similar issue?

This is what I am using:

# Sound device
SoundDevice=i2s
SampleRate=22000
#ChunkSize=256
DACI2CAddress=0x0
ChannelsSwapped=0

@jnonis
Copy link

jnonis commented Jan 12, 2025

Hi @jnonis, happy new year!

I really think FX would be a great addition to MiniDexed. But I can also understand @diyelectromusic's concerns that we add a lot of code here which may or may not interfere with the performance of MiniDexed overall.

So I'd like to have, in minidexed.ini, a "master switch" with which all FX related code can be enabled or disabled, FXEnabled=1. So that whenever we run into some (seemingly unrelated) issue, we can switch off the whole FX code path. Do you think this is possible, or is it even implemented this way?

I think it is possible to add feature switch to disable all the FX.
Should this switch also includes current Reverb on MInidexed?

Also, coming back to #765 (comment), FX should be entirely disabled when MiniDexed is in 8-output mode.

Do you think you could make these changes?

I think that FX are not processed in case of 8-Output mode, I will double check. I made this when updated the branch.

Also I notice the PR contains changes regarding m_nButtonsDebounceTime, what's up with these? If they are unrelated to FX, they'd better be handled separately.

I will remove that change from fx branch, it is something that I need for one of my builds, I was having a lot of bouncing with buttons.
PXL_20250112_163735268

@jnonis do you plan other changes before you'd consider this ready for integration?

Yes, I have another branch :)
This branch includes a second send fx and a master fx. But it is pushing the limits of the RPi 1, so.. I had to add some changes to improve the performance. I noticed a lot of glitches and noise when I dive in the menus, they are related with the LCD display update.
https://github.com/jnonis/MiniDexed/tree/fx-full

@probonopd
Copy link
Owner Author

probonopd commented Jan 12, 2025

Know what, I'd say disable FX on RPi altogether.

For me RPi1 = 1 DX7. Mono. :)

Should this switch also includes current Reverb on MInidexed?

I think there is no reason to treat the current Reverb any other than all the new FX.

@jnonis
Copy link

jnonis commented Jan 12, 2025

@probonopd You have done a great work creating this project.
Minidexed is simple to build, work on all RPis, and sounds great.

About your questions:

  • Can there be more than 1 "Insert FX" (e.g., "Insert FX 1"... "Insert FX 4")

I was think into have FX combinations, by example Distortion+Chorus instead of adding more Insert FX Slots. That allows us to create combinations that actually works based on the processing load that each effect adds to the chain.

  • Likewise, can there be more than 1 "Send FX" (e.g., "Send FX 1"... "Send FX 4")?

I'm testing other branch with 2 Send FXs and a Master FX, It struggle a bit on the RPi 1, but it works.
https://github.com/jnonis/MiniDexed/tree/fx-full

  • Does it make sense to have all FX types available both as "Insert FX" and "Send FX"?

I think it doesn't but at this moment all the implementation was more a research and it was easy to have all the FX available to do some tests.

  • Can we make all of this controllable via MIDI? In a way similar to how the MPX90 is controllable over MIDI?

I guess it is possible with some limitations, the main issue are the amount FX parameters which are different for each FX. I need to think about how the Midi CC will be assigned to the FX parameters.

Something I would like to add the the FX is Preset Support.

  • Fist version can be just a hardcoded list of presets
  • Then we can add file support to Load and Save presets for each FX.

@jnonis
Copy link

jnonis commented Jan 12, 2025

Unfortunately, this miniDexed version does not start on my Raspberry Pi 4. 😟 The display freezes after the version number is displayed.

I have a RPi 4 but I didn't test Minidexed on it, I will test it.

@probonopd
Copy link
Owner Author

probonopd commented Jan 12, 2025

So... let's continue in

@probonopd probonopd closed this Jan 12, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants