easyeffects icon indicating copy to clipboard operation
easyeffects copied to clipboard

mutichannel (routing)?

Open capoei opened this issue 2 years ago • 87 comments

Is there any way to add multi-channel mangement/routing? just as an example my use case (which would also require the adition of the possibility of a other instance of the convolver): stereo signal > room correction convolution > crossovers via convolution resulting in 4 channels > routing of channels to my audio interface outputs

capoei avatar Sep 02 '21 10:09 capoei

Is there any way to add multi-channel mangement/routing?

Unfortunately not. There are other open issues asking for similar multichannel features too. But integrating them in an application that evolved around stereo audio processing is really hard. From the user interface to our presets system and effects pipeline the amount of changes required to handle multichannel features properly is huge. And to make things harder I do not have a surround system. My speakers are a stereo 2.0 from Edifier. They are good but not suitable to actually develop multichannel features.

As what you ask seems to require that only the output node actually need to have more than 2 outputs it may be a little more doable than what other people are asking. Let's keep this issue open for now.

which would also require the adition of the possibility of a other instance of the convolver

Like most of the plugins we use our convolver only has 2 input/output ports. A new plugin capable of outputting more than 2 channels while having 2 input channels would be required. And it would probably have to be the last plugin in the pipeline.

wwmm avatar Sep 02 '21 15:09 wwmm

so there is no wa to include a "split" plugin that splits the plugin chain into 2 or more (stereo ones)? also when I talked about another instance, it is atm not possible even in the stereo chain. I can't put one convolver after another. and yes, the crossover would be the last in the chain anyways. so mayby it is posssible to make a "output plugin" where you could put other plugins in paralel?

capoei avatar Sep 04 '21 13:09 capoei

the "output plugin" could have a split feature, where on every split you get 2 new outputs with the stereo inputs. that way the 5.1 guys could make 4 chains and control front/back/center/LFE independently on the output

capoei avatar Sep 04 '21 13:09 capoei

so there is no wa to include a "split" plugin that splits the plugin chain into 2 or more (stereo ones)?

Not inside EasyEffects. But I think it can be done if you create a PipeWire loopback device and set it as your default output. Or if you select it as EasyEffects output in our device selection menu. Loopback devices should be able to do something close to what you want. Take a look at https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1447#note_1006488

wwmm avatar Sep 04 '21 14:09 wwmm

is it maybe possible to extend the output section in the pipewire tab so that we can select a running aplication as output device?

capoei avatar Sep 05 '21 12:09 capoei

is it maybe possible to extend the output section in the pipewire tab so that we can select a running aplication as output device?

It depends on what kind of application you are thinking about. Usually the target application is the one that should be exporting a standard output device that would be naturally visible in our device selection menu.

wwmm avatar Sep 05 '21 13:09 wwmm

jack standalone apps like the LSP ones. they wont show up. but I guess I have to create a sink for this to work and it will show up in EE

Em dom., 5 de set. de 2021 às 10:50, Wellington Wallace < @.***> escreveu:

is it maybe possible to extend the output section in the pipewire tab so that we can select a running aplication as output device?

It depends on what kind of application you are thinking about. Usually the target application is the one that should be exporting a standard output device that would be naturally visible in our device selection menu.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/wwmm/easyeffects/issues/1126#issuecomment-913158333, or unsubscribe https://github.com/notifications/unsubscribe-auth/AFLJROG5YAIRDZ7QDPKH3P3UANYQ5ANCNFSM5DIZZDCQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

capoei avatar Sep 05 '21 14:09 capoei

ok. pw-link is what I need. never mind

Em dom., 5 de set. de 2021 às 11:18, Fábio Wolarski @.***> escreveu:

jack standalone apps like the LSP ones. they wont show up. but I guess I have to create a sink for this to work and it will show up in EE

Em dom., 5 de set. de 2021 às 10:50, Wellington Wallace < @.***> escreveu:

is it maybe possible to extend the output section in the pipewire tab so that we can select a running aplication as output device?

It depends on what kind of application you are thinking about. Usually the target application is the one that should be exporting a standard output device that would be naturally visible in our device selection menu.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/wwmm/easyeffects/issues/1126#issuecomment-913158333, or unsubscribe https://github.com/notifications/unsubscribe-auth/AFLJROG5YAIRDZ7QDPKH3P3UANYQ5ANCNFSM5DIZZDCQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

capoei avatar Sep 05 '21 14:09 capoei

still, using pw-link I probably can't avoid EE to connect to the fiscal device, too?

Em dom., 5 de set. de 2021 às 11:26, Fábio Wolarski @.***> escreveu:

ok. pw-link is what I need. never mind

Em dom., 5 de set. de 2021 às 11:18, Fábio Wolarski < @.***> escreveu:

jack standalone apps like the LSP ones. they wont show up. but I guess I have to create a sink for this to work and it will show up in EE

Em dom., 5 de set. de 2021 às 10:50, Wellington Wallace < @.***> escreveu:

is it maybe possible to extend the output section in the pipewire tab so that we can select a running aplication as output device?

It depends on what kind of application you are thinking about. Usually the target application is the one that should be exporting a standard output device that would be naturally visible in our device selection menu.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/wwmm/easyeffects/issues/1126#issuecomment-913158333, or unsubscribe https://github.com/notifications/unsubscribe-auth/AFLJROG5YAIRDZ7QDPKH3P3UANYQ5ANCNFSM5DIZZDCQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

capoei avatar Sep 05 '21 14:09 capoei

ok. I use pactl to create a selectable device in EE and manage the conections with pw-link.

capoei avatar Sep 05 '21 15:09 capoei

ok. I use pactl to create a selectable device in EE and manage the conections with pw-link.

In these cases where a very specific solution is needed this is probably the better option. It will give you more flexibility.

wwmm avatar Sep 05 '21 15:09 wwmm

@capoei which distribution are you using? Could you install easyeffects-git from AUR or compile from source to test the upmixing feature that I'd like to integrate in the application (only for the stream coming from the output pipeline)?

Digitalone1 avatar Sep 05 '21 20:09 Digitalone1

I understand the limitations, but I think it is possible to dream of an all-in-on DSP solution like equalizer-APO is for Windows. Now, obviously Pipepire is still in heavy development and I am thankful EE exists already at this early stage.

Em dom., 5 de set. de 2021 às 12:30, Wellington Wallace < @.***> escreveu:

ok. I use pactl to create a selectable device in EE and manage the conections with pw-link.

In these cases where a very specific solution is needed this is probably the better option. It will give you more flexibility.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/wwmm/easyeffects/issues/1126#issuecomment-913176014, or unsubscribe https://github.com/notifications/unsubscribe-auth/AFLJROAUGJFGIYP56MMKZILUAOELHANCNFSM5DIZZDCQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

capoei avatar Sep 06 '21 07:09 capoei

@capoei which distribution are you using? Could you install easyeffects-git from AUR or compile from source to test the upmixing feature that I'd like to integrate in the application (only for the stream coming from the output pipeline)?

just installed easyeffects-git-6.1.0.r30 from AUR. couldn't find said feature. is it suposed to appear in the plugin list?

capoei avatar Sep 06 '21 11:09 capoei

just installed easyeffects-git-6.1.0.r30 from AUR. couldn't find said feature. is it suposed to appear in the plugin list?

No, I will add it in the next days.

I will notice you when it's ready.

Digitalone1 avatar Sep 06 '21 11:09 Digitalone1

ok

capoei avatar Sep 06 '21 11:09 capoei

@capoei unfortunately the solution I implemented a month ago it's not working anymore.

Until Pipewire does not introduce an easy and transparent way to do channel remapping, or @wwmm to find some better solution, this issue won't be resolved.

@capoei I recommend you to return to stable easyeffects from Arch upstream repository.

Digitalone1 avatar Sep 08 '21 12:09 Digitalone1

gotcha

capoei avatar Sep 08 '21 20:09 capoei

this filter chain stuff is not usefull? https://gitlab.freedesktop.org/pipewire/pipewire/-/wikis/Filter-Chain#virtual-surround

capoei avatar Sep 09 '21 13:09 capoei

this filter chain stuff is not usefull?

The filter chain is designed for people that want to set a few filters editing a few configuration files. It is not convenient for use in third party tools. Setting parameters for it on the fly or getting input and output levels will probably be a pain. Assuming it is even possible.

wwmm avatar Sep 09 '21 14:09 wwmm

Indeed this should be done by Pipewire in a transparent way, as it is done with resampling.

Digitalone1 avatar Sep 09 '21 14:09 Digitalone1

@capoei if you can test, make a PKGBUILD text file with the following content: https://pastebin.com/ANi6e62u

And install with

makepkg -sri

Open dconf, locate

/com/github/wwmm/easyeffects/loopback-mode

and set it TRUE. Close easyeffects from terminal:

easyeffects -q

Restart it and play something. Let me know if the channel remapping is working.

Digitalone1 avatar Sep 27 '21 13:09 Digitalone1

Screenshot_20210927_145736

capoei avatar Sep 27 '21 17:09 capoei

Hi @Digitalone1, could the loopback test fork be brought up to date with master or even merged? I'm using that fork for a while and it is usable. Its at least better solution than no solution.

JohnyPeaN avatar May 24 '22 18:05 JohnyPeaN

@JohnyPeaN Can you link it here? I made it months ago, don't even remember it.

Digitalone1 avatar May 24 '22 19:05 Digitalone1

@JohnyPeaN are you using #1171? As far as I remember, it was working to me, but then Pipewire upgraded and I was not able to get it working anymore. Is it working to you?

Digitalone1 avatar May 24 '22 19:05 Digitalone1

This one. https://github.com/Digitalone1/easyeffects/tree/loopback Its version 6.1.2 so those commits are quite off and don't apply.

JohnyPeaN avatar May 24 '22 19:05 JohnyPeaN

@JohnyPeaN are you using #1171? As far as I remember, it was working to me, but then Pipewire upgraded and I was not able to get it working anymore. Is it working to you?

Yes, seems to be the same. Working here on newest pipewire (0.3.51).

JohnyPeaN avatar May 24 '22 19:05 JohnyPeaN

Are you sure this is working? I tested the loopback at that time on my stereo stream and I got no output. Which distribution are you using?

Digitalone1 avatar May 24 '22 19:05 Digitalone1

@JohnyPeaN are you using #1171? As far as I remember, it was working to me, but then Pipewire upgraded and I was not able to get it working anymore. Is it working to you?

Yes, seems to be the same. Working here on newest pipewire (0.3.51).

Which distribution?

Anyway I'd like to try. I don't assure it will be merged, but at least I can try to make it work.

Digitalone1 avatar May 24 '22 19:05 Digitalone1