From a quick read of the code, it seems like all this does is shift pitch; it doesn't change resonance or anything else that affects how your voice sounds. So it's great for sounding like a chipmunk or a demon, but not that useful for sounding like a different person.
Looks like it uses libsox internally. You can also use command-line SoX utilities to get the same effect. For example, this plays your microphone back at you, pitch shifted and with a delay:
play '|rec -p pitch +400 40 delay 5 5'
(To be clear, I don't mean to beat down anybody's pet project. Just spreading related information. There's very little accessible documentation of Linux audio stuff.)
I'm regularly struck by how much of technical Japanese is literal transliterations of loanwords. In the diagram at https://github.com/w-okada/voice-changer#vc-client-%E3%81%A8... , I see "user", "client (browser)", Docker "container", "server", "Host" PC, "speaker".
... I don't know what the label says on the link between the client and server, though, the katakana is "bo i che n" and I can't think of what that transliterates to. Maybe it's a loanword that's not from English?
I run pipewire and let me offer some generic tips:
* Make loopback devices that are always there for headphones/mic -- software doesn't handle connection/disconnection well
* Keep all your processing in carla (i load it with systemd as a user unit on login)
* You still need some way to control "pulse audio" (even though it's pipewire provided) for per-app volume control, profile selections, etc, so you probably want pavucontrol for that.
Thanks for the tips here. Could you elaborate on Carla? I tried Googling around but didn't mind much detailed information. I work on Lyrebird so could be helpful as you say.
It also does some cable management, but qpwgraph is maybe better for that.
I looked at your code and the approach (IMO) is kind of bad.
If you want to solve the problem of "voice changer", you can skip the UI entirely and just use plugin parameters. You can also skip the problem of managing the connections. And when you publish your work, every pro audio software (Ableton, Reaper, whatever) can use your audio processing.
This is interesting as there's a commercial product also called Lyrebird (https://www.descript.com/lyrebird) which does voice replication. Also I would expect a voice changer app of all things to have an audio demo linked prominently in the README so I can hear how it sounds!
Looks like it uses libsox internally. You can also use command-line SoX utilities to get the same effect. For example, this plays your microphone back at you, pitch shifted and with a delay:
(To be clear, I don't mean to beat down anybody's pet project. Just spreading related information. There's very little accessible documentation of Linux audio stuff.)