So I’ve already posted this in a thread in the “Development” tag because I thought the program might have been having some sort of buffer underruns, but now I think it’s more my own sloppy code than anything. Anyway, a week or so ago I decided I’d try making a formant filter (I know Sonic Pi has one built in, but it wasn’t able to glide between vowels). The project ended up growing more complex and that, and long story short now I have a prototype cascade formant synthesizer written in Sonic Pi called FRAM (not for any particular reason). It sounds…about like you’d expect it to, and I’m still struggling with trying to get it to sing on time, so I figured that I’d post the code here if anyone wanted to check it out and see if there’s anything I could do better. Thanks!
5 Likes
Right, it sounds like from a distant past … 50 years ago
1 Like
I mean hey, the Votrax chips worked for Kraftwerk. I LIVE for this kind of thing.
1 Like
This is a fantastic bit of work, I’m definitely going to incorporate this somehow!
1 Like
oh dope! i’d LOVE to see what you do with it
Would someone possibly support/help me defining other words in FRAM?
Actually I was looking forward to try it out by replicating
the vocals of man machine .
But it seems quite hard to me to get reasonable results.
Would I need to add more vowles to the :klatt_vowels function?
Or more init_consonant’s to :klatt?
define :man do |note1, note2|
klatt_diphones note1, 0, "MM", "AH", 0, 0.125, 0.3, 0.5
sleep 0.5
end
define :machine do |note1, note2|
klatt_diphones note1, 0, "MM", "EH", 0, 0, 0.125, 0.5
sleep 0.5
klatt_diphones note2, "S", "IH", "IH", "EH", 0, 0.25, 0.5
end
sleep 0.1
man 34, 34 # I did not find a 'sound' for the n-consonant
sleep 0.5
in_thread do
34.step(48,2).each do |n|
sleep 0.1
machine n, n
sleep 0.5
end
end
I would like to get the words:
man
machine
semi
human
being
man
machine
super
human
being
..
man
machine
..
die
mensch
maschine
halb
wesen
und
halb
ding
die
mensch
maschine
halb
wesen
und
halb
über
ding
mensch
maschine
halb
wesen
Many thanks for any more information
concerning this.
1 Like