Closed harryhaaren closed 7 years ago
This would need a pretty well designed concept, since some users (including me) may mostly work with mono sources (gits, mics, even some (most?) synths) and i think the new panning is pretty handy. Would this get lost? Can i choose between mono and stereo? Maybe per channel? (you know, i love configuration possibilities :D)
I mostly work with a stereo keyboard input and would love to see stereo support in luppp. But @georgkrause is right that a mono workflow must not suffer from this.
@coderkun sure its real stereo and not two times the same signal? i have some softsynths and one hardware synthesizer which simply output two times the same...
+1, I'd like to see it too
@georgkrause, I am sure: The source is a Nord Electro 5 which hase some stereo effects etc. – it is a true stereo signal.
Two options I can currently think of:
Two options I can currently think of:
This can be done automatically by checking if the stereo port is connected in JACK, and handling the audio streams appropriately.
Another option is to just expose stereo, and demand both L and R ports need to be connected, so the user is more aware of a mono -> stereo conversion.
Either way, let's not over complicate things :) -Harry
Is there any documentation about the signal flow? I would like to see when the mono inputs get converted into a stereo signal, when send, return and fx are applied etc. I think it would be best to see how it is currently done and line out how it will be done using (optional) stereo signals.
@harryhaaren i didnt missed the panning when it wasnt there but now i dont want to live without. so if connecting a mono source with the two stereo inputs still allows me to pan, i am fine with it!
@coderkun nope no docs, just code, sorry. Currently, its like this:
(mono) input -> looper -> sends (Rev + JACK) -> ***pan dial / stereo convert volume/ *** => Master fader
(stereo) input => looper => sends (Rev + JACK) => pan (stereo panner, amp / delay dunno which yet) => master
Aka; stereo the whole way trough.
We can discuss this more, but really its about just getting into the code and reworking it to be stereo. Tweaking details of exactly how mono -> stereo works at the start of the chain is the icing on the cake :)
Hey @harryhaaren, which data structure do you suggest to pass a stereo signal around (e. g. sample)? The mono signals are just one float
but we would need two float
s for stereo …
Hi @coderkun, there are two options for dealing with stereo, either A) pass two buffers of floats (aka, one per channel), B) interleave the samples, so a single buffer is passed in, with channel A and B mixed like so : ABABABABA
I have a full stereo chain working locally, just need fix the panning and make sure stereo files are read and written.
Sounds good - file a PR when you have something you want me to look at :) Cheers
Hey @coderkun - this can be marked closed right? Your PR adding stereo to the audio pipeline, so I'll close this?
@harryhaaren, yes, please close it.
I cannot close it myself, can I?
Just wanted to make sure there was no remaining "thing" you had in mind as part of this PR. Thanks again!
Yeah, sorry, I could have been more clear on this. Thanks for merging.
Implement stereo audio processing from source to end of the audio chain