-
Notifications
You must be signed in to change notification settings - Fork 81
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
Added code for enabling compressor (compressor code is in Synth_Dexed) / Fixes for README.md / Added stereo plate reverb #59
Conversation
Isn't it possible to hand over the |
Thank you very much @dcoredump. I tested this on a RPi 2 with the headphone jack and with HDMI. With HDMI I get all sorts of strage (and interesting sounding! but definitely unintentional) sounds, which I don't get with PWM (headphone jack). Did you have a chance to test this with HDMI yet? |
The reverb handling code came in by mistake... I still have to adjust some things, but I'm on a good way. I will add the reverb internally to the signal, then the reverb array is omitted. |
I'm sorry, but I haven't been able to test it with HDMI yet. I'll get myself a HDMI->audio converter. I would be very surprised that it works with PWM but not with HDMI. I actually didn't do anything else but put the compressor at the end of Can you try setting Dexed::setCompressor(true) to false in |
@probonopd Yes, the kernel7.img works with PWM and HDMI. Please note that the size of these kernel images is hard at the limit or over the limit of the default maximum kernel size of 2 MBytes. For bigger kernel images you have to specify the option |
That seems to have done the trick! Wow, what a cool sound. Thanks @dcoredump.
Please let me know when this is ready for being merged. Thanks! |
We need a mixer object, so we can do a mix of all instances (what is currently working) and a mix of the reverb sends of the instances, so every instance can be adjusted of how many reverb should be send. I think it max also be better to use a float32_t as type for the signal chain instead of int16_t. Why? Most effects use internaly floats because they are easier to handle. For "small" microcontrollers, which do not have a FPU, integeger arithmetic must be used, but for a Raspi this is not needed. With floats we can drop every integer->float converting (and back) for every effect we want to use... I will try to create a mixer class and switch to floats in the signal chain. Only at the end of the signal chain |
Forgot to say: you can merge this and perhaps add the reverb setup to the UI. Or you can wait until I am rwady with my tasks from above. |
Thanks @dcoredump. @rsta2 wdyt, should I merge this now so that it could be integrated into the menus? Or merge #61 first? |
@probonopd You can merge PR #59 now. Sounds really cool. |
Merged! |
@dcoredump: What does the Send parameter do? I'd like to add it to the documentation. |
I think I have chosen the wrong name and will fix it soon. It should be named |
I now added compressor code to Synth_Dexed so it is available inside MiniDexed. The compressor is enabled in src/dexedadapter.h.
The initial setup of the compressor is:
List of new methods in Synth_Dexed:
I also fixed some build instructions inside the README.md.
Also now added first implementation of the stereo plate reverb (currently with fixed parameters).