Loading video...

Video Failed to Load

Go Home

New side project: Samuel, a model I trained to mimic speech using Pink Trombone, a (pre-existing) silly vocal tract simulator. 🧵

150,787 views • 1 month ago •via X (Twitter)

37 Comments

Václav Volhejn's profile picture
Václav Volhejn1 month ago

From an ML perspective, it's a speech autoencoder where the decoder is Pink Trombone. It's a non-trivial task: Pink Trombone is non-differentiable, sample-by-sample, and if you optimize the model to just match the waveform, it's not intelligible. Write-up coming soon!

Václav Volhejn's profile picture
Václav Volhejn1 month ago

Try it: Credits to Neil Thapen for the original Pink Trombone and @ConcreteSciFi for the programmable version I used as the starting point.

davidsong's profile picture
davidsong1 month ago

This is awesome. But recording on Firefox under Linux seems a bit slow. If I can get it working I'll send a PR :)

Václav Volhejn's profile picture
Václav Volhejn1 month ago

Thank you, PRs with fixes welcome!

davidsong's profile picture
davidsong1 month ago

Found and fixed, I'll finish testing and send a PR shortly. Also, this always trips me up when creating from the API rather than with `gh repo create` - you aren't watching the repo so you won't get notifications on PRs or issues!

𝙇𝙐𝙄𝙎 𝕏⃠'s profile picture
𝙇𝙐𝙄𝙎 𝕏⃠1 month ago

I'm not sure if this really is how vocal tract is supposed to move

Cube Flipper's profile picture
Cube Flipper1 month ago

omfg @repligate someone actually did it

arvflash's profile picture
arvflash1 month ago

couldn't this technically be used as an extremely efficient, human voice focused, audio encoder? the data to move the pink trombone correctly is probably tiny, this seems very intelligible and is more dynamic than just storing text and playing it back with TTS.

Ryan Moulton's profile picture
Ryan Moulton1 month ago

I wonder how well something like this would work as a super low bitrate voice codec.

dy's profile picture
dy1 month ago

Nice! I've also built speech simulator based on pink trombone You can control the intonation here manually I guess there can be switchable phoneme tables, based from your example, for TTS with accents.

WuBu ⪋ WaefreBeorn 🇺🇸 👑's profile picture
WuBu ⪋ WaefreBeorn 🇺🇸 👑1 month ago

i am proud of you i tried it but had alien voice problems you made it sound so good mine sounded awful yours is amazing i will finish my work using your work lol thank you

TheRearAdmiral's profile picture
TheRearAdmiral1 month ago

AAA III UUU EEE OOOOOOOOOOO

Andrew Carr 🤸's profile picture
Andrew Carr 🤸1 month ago

I LOVE THIS

itsnotmyfault's profile picture
itsnotmyfault1 month ago

Jesus Christ. Also, I want a version that does this with I have no idea why I want it, and I am exceedingly unlikely to make any music at all with it, but I still want it.

Kasra's profile picture
Kasra1 month ago

this is insane I love it

Kenneth Udut's profile picture
Kenneth Udut1 month ago

I played with pink trombone years ago and found it very hard to control. This is very impressive – it captured my singing quite well.

Raphaël Millière's profile picture
Raphaël Millière1 month ago

Very cool! How hard would it be to simulate the rest of the pharynx and train a model to sing with it?

rama's profile picture
rama1 month ago

what an amazing project I love it. who could have thought speech could be encoded in a pink tormbone lol 🎺

misa's profile picture
misa1 month ago

this is cool

1) What's profile picture
1) What1 month ago

Now to build a robot version and train it the same way

MakroArt's profile picture
MakroArt1 month ago

"Ni Ni Ni Niiii-" The internet has ruined me

Epicarism's profile picture
Epicarism1 month ago

@andrew_n_carr Copying this brb

Mark Kretschmann's profile picture
Mark Kretschmann1 month ago

Super interesting!

Patrick O'Reilly's profile picture
Patrick O'Reilly1 month ago

This is super cool, looking forward to the writeup! Pre-registering a guess: * train small frame-level neural proxy synth on random data * freeze proxy & train a controller on speech w/ frame-level ASR feature-matching & F0 losses * probably no need to post-train w/ real thing?

𝙏𝙒𝙀𝙇𝙑𝙀's profile picture
𝙏𝙒𝙀𝙇𝙑𝙀1 month ago

@ravarcheon look what you've done!

xavier (jack)'s profile picture
xavier (jack)1 month ago

epic

Yossi Gandelsman's profile picture
Yossi Gandelsman1 month ago

Really cool project! Can't wait to hear more about the research behind it

Tom 🚴‍♂️'s profile picture
Tom 🚴‍♂️1 month ago

Reminds me of Air: MoonSafari/Remember.

jyo's profile picture
jyo1 month ago

Really cool work

julia | @juliamaeva on 🦋's profile picture
julia | @juliamaeva on 🦋1 month ago

This is really cool! but it seems to struggle detecting higher pitches even though its capable of replicating them.

Fabio Angela's profile picture
Fabio Angela1 month ago

cool, I had the same idea to use pink trombone for something similar but the moment I was interested into, other 20 ideas spawned, happy to see someone doing this!! I think that pink trombone could be improved to reproduce better (more) sounds and this would improve the outcome, I will take a look at the repo, thanks for sharing!

Midas 👑's profile picture
Midas 👑1 month ago

this is lit it would also be interesting to transform the concept into a way to see how to pronounce certain words (showing where you should put your tongue)

Friedrich Wicke's profile picture
Friedrich Wicke1 month ago

awesome

Cyberkush's profile picture
Cyberkush1 month ago

That’s really awesome man. Keep up the good work!

Jean-Paul Mikkers's profile picture
Jean-Paul Mikkers1 month ago

This would also be a great starting point to improve mouth/speech animations in 3d movies.

AFX LAB's profile picture
AFX LAB1 month ago

Now train a video model and use classification controllers

Xy's profile picture
Xy1 month ago

very cool!

Related Videos