Hacker News new | past | comments | ask | show | jobs | submit login
Lyrebird the Linux voice changer now supports PipeWire (github.com/lyrebird-voice-changer)
83 points by _n6cv 11 months ago | hide | past | favorite | 13 comments



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.)


> So it's great for sounding like a chipmunk or a demon, but not that useful for sounding like a different person.

RVC is what you're looking for. There's lots of tooling around it.

edit: This is the repo you're looking for: https://github.com/RVC-Project/Retrieval-based-Voice-Convers...



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?


Short for "voice (boi) changer (chen)"


At least that's what https://github.com/RVC-Project/Retrieval-based-Voice-Convers... links to

Realtime Voice Conversion Software using RVC : w-okada/voice-changer


Do you have a link? It appears impossible to Google something this common.


> There's very little accessible documentation of Linux audio stuff.

The classic information-through-IRC these days.


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.


Sure.

Carla: https://github.com/falkTX/Carla

It lets me install any normal audio pro audio plugins, for example https://github.com/xiph/rnnoise

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.

Hope that helps.


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!


Lyrebird was the team acquired by Descript: https://techcrunch.com/2019/09/18/descript-audio/




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: