Can Julia make voice synthesizer using pressure simulation?

A good synthetic speaker could talk, sing, and perform lots of stuffs.

So, the question today is… would it be possible for Julia to synthesize voice by simulating vibration or even aIr pressure?

(Maybe it’s totally just me wanting to create a synthetic singer with Julia.)

It’s not clear to me what you’re asking for. Of course you could implement this in Julia. Do we already have a package that does this? I’m not sure.

Is it possible? How? With what technique?
Full simulation is very computationally expensive. Human-heard sound is vibration of up to 20000 hz. The resolution might need to be at least 0.01m and time step of 20000hz minimum if not more. It could easily reach 10^12 compute just for one second of speech synthesis, and that’s quite an optimistic estimate.

If all you’re trying to achieve is “just” speech synthesis then you could look for a Julia package that implements it here. A full-up acoustic physics engine would be way overkill for that in most cases. Frankly, there’s a hell of a lot you could do to mimic more complicated acoustic effects with simple DSP filters and convolutions, if you’re so inclined.

1 Like

Yes, that’s a good advice. Unfortunately, I’m not talking a regular speech synthesis. I’m talking about making the best song possible synthetically. If there is a task where I could improve my music quality just by throwing PC-level compute power at it, it’s a cheap win for me.

That being said, many of my ideas are in planning phases and I rarely get to execute them, and my execution often get sloppy, if at all.

Check out this youtube channel where the guy implements an engine simulator in order to synthesize engine sounds

In one video, he uses it to simulate musical instruments as well.

With my CPU alone

julia> LinearAlgebra.peakflops()

and likely 10x higher with GPU. So I’m not sure if you back-of-the-envelop calculation needs to scare you off.

1 Like