Singing monk squad
cgracey
Posts: 14,232
FOUR MONKS SING 16th CENTURY HYMN INSIDE PROPELLER (in 3.1KB of code)
I've been pretty much holed up for several months working on a vocal tract·object and then a stereo spatializer object. They are both done now. I worked all night to make this demo. Note that·the zip file·contains a new version of the Propeller.exe program which must be used to compile the demo. (The prior·assembler didn't accept RES's as ???_RET label points, but the new one does.)
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Chip Gracey
Parallax, Inc.
Post Edited (Chip Gracey (Parallax)) : 10/27/2006 4:04:31 PM GMT
I've been pretty much holed up for several months working on a vocal tract·object and then a stereo spatializer object. They are both done now. I worked all night to make this demo. Note that·the zip file·contains a new version of the Propeller.exe program which must be used to compile the demo. (The prior·assembler didn't accept RES's as ???_RET label points, but the new one does.)
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Chip Gracey
Parallax, Inc.
Post Edited (Chip Gracey (Parallax)) : 10/27/2006 4:04:31 PM GMT
zip
811K
Comments
Well done. it redeemed your all night work.
Now you can imagine, we are waiting for the final job <grin>.
Alberto.
Envio editado por (BTX) : 10/27/2006 3:49:42 PM GMT
As does propasm. </plug>
Any plans for, say, phoneme input?
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Paul Baker
Propeller Applications Engineer
Parallax, Inc.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Who says you have to have knowledge to use it?
I've killed a fly with my bare mind.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Who says you have to have knowledge to use it?
I've killed a fly with my bare mind.
"Seven" was Chip's test vector for improving the quality of the vocal tract, so our side of the building has been filled with the sounds of "seven" for months now.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Paul Baker
Propeller Applications Engineer
Parallax, Inc.
That o5Bf stuff was just something I came up with for the demo so that entering the notes for each part would be simplified. If you read the comments in the code, there are lots of little things which you can tweak. I will make some more examples which focus more individually on the VocalTract and StereoSpatializer.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Chip Gracey
Parallax, Inc.
Yes, I know the note format was just something you came up with, but, if one of us wanted to add a new song, it'd be nice to have the note syntax described rather than having to figure it out. I imagine the capital letter is the note and the number is the octave. What's the "f" and "s"? What else is in there?
Mike
The·digit is the octave number.
The "A".."G" is the key.
The "f" or "s" means flat or sharp. Note o2As is the same as o2Bf.
Because the VocalTract's gp (glottal pitch) parameter expresses pitch in 1/48ths of·an·octave, it takes an increase of 4 to get to the next note. So, those two bottom bits are always 0, and available for other purposes (as long as they get masked away). In the SingingDemo, I was using them to flag pause-notes and half-notes.
If you come up with another song, please post it!
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Chip Gracey
Parallax, Inc.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Chip Gracey
Parallax, Inc.
First of all a big thanks to Mike Green for posting this as a MP3 file.
Awesome stuff Chip thanks.
Chip Gracey the new Jean Michel Jarre.. http://www.jeanmicheljarre.com/
Anybody that can remember this guy.. some of his tunes sounded a bit like some of the notes found
in this short tune Chip has done..
Now as you get older you will start to enjoy Gregorian Chanting.. now there is an idea for a new record
using a Propeller as the synthesizer ...( Move over Mr Moog ..)
I can see text to speech objects arriving soon.. we have the local fire brigade looking for such a product..
Not playing stored messages .. but messages played thru the intercom at local fire brigade stations that receive
data (via the Internet) from their local head office.. so the message could be anything at all..
Cheers
Ronald Nollet Australia
I am missing something?
BTW the mp3 version is fantastic.
Chip's archive included a newer version of Spin.exe, Run that one and then load the demo.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Mike
Where i can get Chip version.
The one I have is v0.95
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Mike
Post Edited (Mike Cook) : 10/28/2006 2:04:20 AM GMT
I upgrade to propeller.exe v1.0 from v0.95.
Still give me the same error.
In the *.zip file: SingingDemo.zip that Chip posted at the top of this thread, Chip states:
Note that the zip file contains a new version of the Propeller.exe program which must be used to compile the demo.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Mike
I got it, it is v1.02 not v1.0
I used to use an SPO256 speech chip, which also made speech by tacking together primitive sounds, but was surprisingly understandable and fun to listen to.
I hope this'll get the propeller speaking pretty soon.
David
Because the timing got hosed up due to the increase in frames per tract per note, it wound up playing the four parts, basso to soprano, in sequence for every note period. Now it sounds like Pachelbel's Canon:
··········· Seven
······· Seven
··· Seven········ ··· Seven...
Seven············ Seven
················ Seven
·
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Chip Gracey
Parallax, Inc.
Post Edited (Chip Gracey (Parallax)) : 10/28/2006 9:00:23 AM GMT
kelvin
A·year and a half·ago, I found a site that documented a speech synthesizer product called "Computalker" from 1978, which was made by a small company in southern California. It goes into depth about what you have to do, once you have a synthesizer, to make speech sounds. Back then, that synthesizer was necessarily largely analog, but these days, digital silicon has enough horsepower to realize it all in software. Here is the site's url from the Netherlands:
http://web.inter.nl.net/hcc/davies/esp7cpt.html
Study that page. It's all there. This was instrumental in helping me to understand just how finite a synthesizer can be. It was this site and this old product that gave me the "you can do·it" impetus to get back on the horse. While that synthesizer might seem primitive, when those concepts are·implemented·in a modern processor, you can realize a huge boost in quality and periphery functions. Like many important ideas, the technical essence was distilled long ago, and reality still hasn't changed. The Computalker guys knew exactly what to do, but they were hamstrung by the limited implementation possibilities of their day.
What seems to be revered as THE standard these days is the Klatt synthesizer algorithm, and it's variants. Even this thing was finalized in the early 1980s. You can Google Klatt and find all sorts of stuff, but it's not necessary. Learn about the computalker and experiment with the VocalTract. Be sure to read the doc comments within the VocalTract.
I would recommend pulling the StereoSpatializer out of your code for now, if you want to gain core knowledge about synthesis, using the VocalTract as a platform. The VocalTract can output to the pins directly, just like the spatializer is doing. This way, it's simpler and you'll get an unadulterated version of the audio. The VocalTract shows the 13 byte variables that need to exist in your object. It's easy to get going with the VocalTract directly - a degree simpler than the SingingDemo suggests.
Those formant values can be found on the web, too, by searching for 'vowel formants'.
I made one tool which I've used to "see" what I need to synthesize (formants, and all):
http://forums.parallax.com/showthread.php?p=581578
This program will let you make recordings from your PC microphone and view the resulting audio spectrum in three dimensions: time, frequency, and energy. To see your own voice formants, it helps to make your glottal frequency as low possible by creaking·your voice·and slowly reshaping your mouth to make different vowels. This will tightly space the pitch lines so that the centers of the formants become more prominent. Then, you can point with the mouse and read the center frequency. It's fun!
So many wonderful insights can be made into the nature of speech, sound, and physics by playing around with something like this. I've·had this bug bad·for years.
Please do share whatever you come up with, and help others experience the fun of it. Your perceptions of what sounds "right" could easily be way better than mine. That's one of the richnesses of speech synthesis - unlike serial output that either works within spec or not, speech is a perpetual continuum.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Chip Gracey
Parallax, Inc.
Post Edited (Chip Gracey (Parallax)) : 10/28/2006 5:42:49 PM GMT
omit the .txt extension to play.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Paul Baker
Propeller Applications Engineer
Parallax, Inc.
But, is there some speech for .mp3? Like a number of tough words, to compare with 'compooter', for example.
To think that one IC can do 4 voices is very intreguing (sp?)
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Harley Shanko
h.a.s. designn