view the rest of the comments
Selfhosted
A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.
Rules:
-
Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.
-
No spam posting.
-
Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.
-
Don't duplicate the full text of your blog or github here. Just post the link for folks to click.
-
Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).
-
No trolling.
Resources:
- selfh.st Newsletter and index of selfhosted software and apps
- awesome-selfhosted software
- awesome-sysadmin resources
- Self-Hosted Podcast from Jupiter Broadcasting
Any issues on the community? Report it using the report flag.
Questions? DM the mods!
I'm not totally sure what you're going for.
If you want to transform spoken audio to a different sort of voice, then that's one problem.
But this Piper thing appears to be a text-to-speech software package, and I'd think that it'd be easier and provide a more-capable system to just obtain a different voice and re-generate the audio from the text, rather than generating the audio and then transforming it, unless I'm not getting what you're going for.
Like, here's a project -- which I have not used -- to generate Piper voices from audio samples of speech.
I haven't completely looked into creating a model for piper, but just having to deal with a dataset is not something I look forward to, like gathering the data and all of what this implies.
So, I'm thinking it's easier to take an existing model and make adjustments to fit a bit better on what I would like to hear constantly.
I haven't used Piper, but I do want to let you know that it may be a lot easier than you think. I have used TortoiseTTS, and there, you can just fed in a handful (like, four or so) short clips (maybe six seconds, arbitrary speech), and that's adequate to let it do a reasonable facimile of the voice in the recordings. Like, it doesn't involve long recording sessions speaking back pre-recorded speech, and you can even combine samples from different people to "mix" their voices. I grabbed a few clean short recordings from video of someone speaking, and that was sufficient. TortoiseTTS doesn't even retain the model, rebuilds it from scratch from the samples you provided every time it renders voice (which is a testament to how little data it pulls in). It's not on par with, say, the tremendous amount of work involved in creating a voice for Festival or similar. The "Option B" for Piper on the page I linked to has:
...which is more than the tiny handful that I was using on TortoiseTTS, but might open up a lot of options and provide control over what you're hearing, especially if you have a voice that you really like.
But, okay. Say you decide that you want to go the post-text-to-speech transform route. Do you have any idea how you want to process them? The most-obvious things I can think of are:
Pitch-shifting, like if you want the voice to sound more feminine or masculine.
Tempo-shifting, like if you want the voice to speak more-quickly or more-slowly, but without altering the pitch.
Those are straightforward transforms that people do do on voice recordings; if you want a command-line tool that can do this in a pipeline, sox is a good choice that I've used in the past.
I can imagine that maybe you just want to apply some kind of effect to it (sounding like a robot in an echoy cave? Someone talking over an old radio? Shifting perceptual 3d position in space of the audio source?). There's a Linux -- I'm assuming, given your preference for a CLI, and the community, that this is a Linux environment -- audio plugin system called LADSPA and a successor system called LV2. Most Linux audio software, including
sox
, can run these on audio streams.You can maybe do automated removal of silent bits, if there are excessive pauses...
sox
has silence-removal functionality.But most other things that I can think of that one might want to do to a voice, more-sophisticated stuff, like making it sound happy, say, or giving it a different accent or something...I think that it's going to be a lot harder to do that after the text-to-speech phase rather than before.