PDA

View Full Version : Singing monk squad



cgracey
10-27-2006, 10:44 PM
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

BTX
10-27-2006, 11:39 PM
Congratulations !, simply impressive !!! Chip.
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

Cliff L. Biffle
10-28-2006, 01:50 AM
Nice work.


Chip Gracey said...
The prior assembler didn't accept RES's as ???_RET label points, but the new one does.


As does propasm. </plug>

Cliff L. Biffle
10-28-2006, 01:55 AM
So, I can't help but notice that your tract model has a number of capabilities that the monks aren't using.

Any plans for, say, phoneme input? http://forums.parallax.com/images/smilies/smile.gif

Paul Baker
10-28-2006, 02:03 AM
It's a full speech synth, it just needs the phoneme dictionary to be defined.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Paul Baker (mailto:pbaker@parallax.com)
Propeller Applications Engineer
[/url][url=http://www.parallax.com] (http://www.parallax.com)
Parallax, Inc. (http://www.parallax.com)

CJ
10-28-2006, 02:17 AM
any chance of a sample for those of us without audio circuitry hooked to our props?

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Who says you have to have knowledge to use it?

I've killed a fly with my bare mind.

Mike Green
10-28-2006, 04:07 AM
Thanks for making this available. Is there a syntax for the new value format (o5Bf)?

Mike Green
10-28-2006, 04:22 AM
Attached is an MP3 file of the singing monks. You have to download it, then rename it by removing the ".txt" extension so it's just ".mp3". Then it should play with any MP3 player.

CJ
10-28-2006, 04:51 AM
WOW!!

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Who says you have to have knowledge to use it?

I've killed a fly with my bare mind.

Paul Baker
10-28-2006, 05:16 AM
Chip, so you didn't have a chorus of monks sing "seven"?

"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 (mailto:pbaker@parallax.com)
Propeller Applications Engineer
[/url][url=http://www.parallax.com] (http://www.parallax.com)
Parallax, Inc. (http://www.parallax.com)

cgracey
10-28-2006, 05:39 AM
Mike Green said...
Thanks for making this available. Is there a syntax for the new value format (o5Bf)?

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.

acantostega
10-28-2006, 06:17 AM
Incredible!

Mike Green
10-28-2006, 06:37 AM
Chip,
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

cgracey
10-28-2006, 08:09 AM
Mike Green said...
Chip,
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 "o"·means "octave" and is just a common starting character.
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.

cgracey
10-28-2006, 08:16 AM
Cliff L. Biffle said...
So, I can't help but notice that your tract model has a number of capabilities that the monks aren't using.

Any plans for, say, phoneme input? http://forums.parallax.com/images/smilies/smile.gif
Yes, though it probably wouldn't be traditional phonemes, as they are limited in context. A "K" for example is a white noise burst between the prior (or next)·vowel's formant2 and formant3. So, it's more about recipes than canned behaviors. This synthesizer can make very expressive speech, and that needs to be addresses in a high-level driver. Text-to-speech is a way's off, though, as it's mainly a matter of implementing several-hundred formal rules and is not a good fit into the current Propeller. Done off-line, it could be practical. Instead of text-to-speech, we will have something more like a mouth-movement-to-speech protocol. It will take more work to configure, but will be super flexible.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔


Chip Gracey
Parallax, Inc.

OzStamp
10-28-2006, 08:50 AM
Hi To all

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

El Paisa
10-28-2006, 09:34 AM
I am trying to run the singing demo but gives an error at· Vocaltrack line 321 "expected a DAT symbol"

I am missing something?

BTW the mp3 version is fantastic.

Mike Cook
10-28-2006, 09:44 AM
El Paisa,

Chip's archive included a newer version of Spin.exe, Run that one and then load the demo.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Mike (http://www.allsurplus.net/)

El Paisa
10-28-2006, 09:49 AM
Mike,

Where i can get Chip version.

The one I have is v0.95

Mike Cook
10-28-2006, 09:52 AM
If you un-zip the SingingDemo.zip it's in the archive, sorry, my bad,·it's not named Spin.exe it's named·Propeller.exe

http://forums.parallax.com/attachment.php?attachmentid=43865

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Mike (http://www.allsurplus.net/)

Post Edited (Mike Cook) : 10/28/2006 2:04:20 AM GMT

El Paisa
10-28-2006, 10:13 AM
Mike,

I upgrade to propeller.exe v1.0 from v0.95.

Still give me the same error.

Mike Cook
10-28-2006, 10:19 AM
Lets start again,

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 (http://www.allsurplus.net/)

El Paisa
10-28-2006, 10:32 AM
Thanks.

I got it, it is v1.02 not v1.0

wastehl
10-28-2006, 11:16 AM
My wife said "you got all of that from that little chip." I said, "I don't know how big Chip is, but he did a heck of a job on this."

Awesome...

Bill

David B
10-28-2006, 12:19 PM
This is great! I just played it on my homemade propeller board.

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

cgracey
10-28-2006, 02:54 PM
Paul Baker (Parallax) said...
Chip, so you didn't have a chorus of monks sing "seven"?

"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.


Okay, you asked for it...· "Seven" like you've never heard it!

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 james
10-28-2006, 03:27 PM
Chip, you don't receive the reconognition you deserve. This is a lot of fun to play with. Is there some some type of data values you have worked out for the vowels? And, is there some way of adjusting the " attack " ? I have found adjusting a few settings has given a more natural sound, mostly echo. I will be posting a new song shortly.

kelvin

cgracey
10-28-2006, 04:44 PM
kelvin james said...
Chip, you don't receive the reconognition you deserve. This is a lot of fun to play with. Is there some some type of data values you have worked out for the vowels? And, is there some way of adjusting the " attack " ? I have found adjusting a few settings has given a more natural sound, mostly echo. I will be posting a new song shortly.

kelvin
Man, I'm glad you're having fun with it! To make·a speech·synthesizer has been a dream for me since 1993. At that point, I worked on it for 1.5 years, but abandoned the project to get onto the BASIC Stamp II. With time and experience, I realized I didn't want to invest the requisite efforts again·until we had our own capable chip to base it on.

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

Paul Baker
10-28-2006, 05:32 PM
Ah, thats more like it.

omit the .txt extension to play.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Paul Baker (mailto:pbaker@parallax.com)
Propeller Applications Engineer
[/url][url=http://www.parallax.com] (http://www.parallax.com)
Parallax, Inc. (http://www.parallax.com)

Bill Henning
10-29-2006, 11:17 AM
Very cool!

Harley
10-29-2006, 12:37 PM
Enjoyed the quartet.

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?) http://forums.parallax.com/images/smilies/yeah.gif

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Harley Shanko
h.a.s. designn

Forrest
10-29-2006, 12:41 PM
Wow - my perception of 7 has been altered forever http://forums.parallax.com/images/smilies/tongue.gif

Graham Stabler
10-29-2006, 08:45 PM
I think it must be my dirty mind but with a bit more vibrato I was sure they were singing effing effing effing seven :)

This is totally awesome, I don't understand it but I really want to. I'll be loading that site on my Sony reader when it comes next week.

Graham

p.s. Yes I know I just dropped that note about the Sony reader in without provocation but I'm excited!!

ALIBE
10-29-2006, 09:30 PM
Chip,
this is awesome!!

I listen to a lot of music - But, "Studying Music" is one of those things that is beyond my reach. Despite that handicap, I can tell this is great work - keep up the voyage!

BTW, did not know that you are music savvy also

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
"any small object, accidentally dropped, goes and hides behind a larger object."


ALIBE - Artificial LIfe BEing. In search of building autonoumous land robot
http://ALIBE.crosscity.com/ (http://ALIBE.crosscity.com/)
·

Harley
10-30-2006, 12:46 AM
Paul said...
Chip, so you didn't have a chorus of monks sing "seven"?
"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.

Excuse my 'ignorance', but what is this "Seven", some sort of 'music'?___ Used Wikipedia, but didn't notice anything to do with music that registered. Oh, there were lots of references to numbers, astronomy, religion, etc.

Were the 'monks' singing Latin or gibberish?___ I'd sure like to hear some spoken English in .mp3 format. I suppose one could also fairly easily make it speak nearly any language? http://forums.parallax.com/images/smilies/tongue.gif

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Harley Shanko
h.a.s. designn

Paul Baker
10-30-2006, 04:53 AM
Have you listened to the mp3 I posted? Seven is 7 the number, it was his test word for the synth that we heard tens to hundreds of times daily as he worked on the project, so I was joking about it. Spoken and sung is identical except the way the vocal tract is excited. Definition of the speech cookbooks will likely fall upon those Parallax customers who choose to pick up the ball on this. But Chip and/or I will explain the method he used to pick out the required formants for those that want additional words.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Paul Baker (mailto:pbaker@parallax.com)
Propeller Applications Engineer
[/url][url=http://www.parallax.com] (http://www.parallax.com)
Parallax, Inc. (http://www.parallax.com)

Harley
10-30-2006, 06:45 AM
Paul said...
Have you listened to the mp3 I posted? Seven is 7 the number, it was his test word for the synth that we heard tens to hundreds of times daily as he worked on the project, so I was joking about it. Spoken and sung is identical except the way the vocal tract is excited. Definition of the speech cookbooks will likely fall upon those Parallax customers who choose to pick up the ball on this. But Chip and/or I will explain the method he used to pick out the required formants for those that want additional words.

Yes, I did listen to the mp3 file. I'm going to have to add the components to have the 'audio' on my PropSTICK. http://forums.parallax.com/images/smilies/cool.gif "Seven" 'spoken' hundreds of times in the lab or office can be stressful. But that's what is involved in trying to make something work right. Thanks for clearing up my misunderstanding. Great work going on at Parallax. Love the Propeller. http://forums.parallax.com/images/smilies/yeah.gif

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Harley Shanko
h.a.s. designn

Paul Baker
10-30-2006, 06:57 AM
It wasn't stressfull, just a running joke at the office. I just slip on the headphones if I dont want to hear it.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Paul Baker (mailto:pbaker@parallax.com)
Propeller Applications Engineer
[/url][url=http://www.parallax.com] (http://www.parallax.com)
Parallax, Inc. (http://www.parallax.com)

cbmeeks
11-01-2006, 08:41 PM
Absolutely tremendous work. Totally awesome.

I don't have my Prop totally finished yet but I can't wait to get this going. I haven't been able to read through all the source (still learning Spin) but it sounds like you are getting 3-4 voices (not speech but channels) going at once with ONE cog?

So two cogs running 4 channels each could easily get me 8 voices? Man, I think this single chip is goint to handle everything for my homebrew computer. I can't wait until that 1 Mhz 6502 is driving this Propeller....hahaha

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Coders' Hangout
A place for programmers to hangout!
http://www.codershangout.com

METROID?
Metroid Classic (http://metroidclassic.com)

cgracey
11-01-2006, 09:06 PM
cbmeeks said...


I haven't been able to read through all the source (still learning Spin) but it sounds like you are getting 3-4 voices (not speech but channels) going at once with ONE cog?

So two cogs running 4 channels each could easily get me 8 voices?
It actually uses a whole·COG·for each of the four·voices.·Another COG is running the stereo spatializer (which processes the·four "channels"). A final COG·is running Spin code to control everything.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔


Chip Gracey
Parallax, Inc.

cbmeeks
11-01-2006, 09:14 PM
So that would be 6 cogs in all? So, I could add one more cog, get 5 channels (voices) which would take me to 7 cogs and then the 8th cog could be used to communicate with the rest of the homebrew computer? That's still not too bad for an 8 bit computer.

It looks like my homebrew computer is going to have three propellers! (audio/video/IO) hehehe

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Coders' Hangout
A place for programmers to hangout!
http://www.codershangout.com

METROID?
Metroid Classic (http://metroidclassic.com)

kelvin james
11-04-2006, 03:20 AM
Through some playing around with the vocal tract, it seems there is a need to provide some type of variable setting to adjust the amplitude. To make it simple, just an attack and release. Letters like P are short and abrupt, where as H is soft and sustained. It seems just a timing operation on the rise and fall of the amplitude could do this.
If there is something there already, i do not see it.

kelvin

cgracey
11-04-2006, 03:55 AM
kelvin james said...
Through some playing around with the vocal tract, it seems there is a need to provide some type of variable setting to adjust the amplitude. To make it simple, just an attack and release. Letters like P are short and abrupt, where as H is soft and sustained. It seems just a timing operation on the rise and fall of the amplitude could do this.
If there is something there already, i do not see it.

kelvin
Yeah, you just change whatever parameter(s) need changing and then tell it the amount of time to make the transition(s) in. It will linearly glide from the last set of parameters to the new set of parameters over the time you specified. If you don't change any parameters and just do a go(time), it will sustain the last settings for the specified amount of time.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔


Chip Gracey
Parallax, Inc.

Graham Stabler
11-05-2006, 04:12 AM
I'm feeling like a bit of a dunce, can someone suggest some parameters to get a basic tone out of the vocal tract, I was trying to just enter them in one after another and then run .go. I seem to get white noise or a mess. A super simple example would be great, I don't know what I am doing wrong.

Thanks

Graham

Ym2413a
11-05-2006, 04:24 AM
"seven" sounds pretty good. ^^ (lol)
A whole song about the number 7.

cgracey
11-05-2006, 04:42 AM
Graham Stabler said...
I'm feeling like a bit of a dunce, can someone suggest some parameters to get a basic tone out of the vocal tract, I was trying to just enter them in one after another and then run .go. I seem to get white noise or a mess. A super simple example would be great, I don't know what I am doing wrong.



Graham, about the f1-f4 parameters, you need to keep 'em separated, lest overflow occurs and you wind up with piercing noise. Here is a short example taken out of the spatializer demo:


CON _clkmode = xtal1 + pll16x
·· ·_xinfreq = 5_000_000

OBJ v : "VocalTract"

VAR byte· aa,ga,gp,vp,vr,f1,f2,f3,f4,na,nf,fa,ff

PUB start

· v.start(@aa, 10, 11, -1)··· 'start vocal tract,·output to pins 10 and 11

· gp := 88··················· 'set pitch to·F#
· f1 := constant(670 / 19)····'set "uh" sound···
· f2 := constant(1160 / 19)···'(This is the exact·noise I make when I'm
· f3 := constant(2600 / 19)···'trying to answer a question.)
· f4 := constant(3100 / 19)
· vp := 20··················· 'add some vibrato for dramatic flare
· vr := 10
· v.go(0)···················· 'transition to settings as fast as possible

· ga := 50····················'set·glottal amplitude
· v.go(5000)················· 'ramp up glottal amplitude slowly

· vr := 50····················'ready increased vibrato rate
· gp := 20··················· 'ready decreased pitch
· v.go(10000)················ 'slowly transition
·

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔


Chip Gracey
Parallax, Inc.

Post Edited (Chip Gracey (Parallax)) : 11/4/2006 9:11:28 PM GMT

BTX
11-05-2006, 04:48 AM
Chip.
Is it possible to change nf, na to get better sound in Spanish words ?? could be correct changing those two parameters ??
I'm begining, and it so difficult for me, to locate, where do you post their initial values..

Alberto.

cgracey
11-05-2006, 05:07 AM
BTX said...
Chip.
Is it possible to change nf, na to get better sound in Spanish words ?? could be correct changing those two parameters ??
I'm begining, and it so difficult for me, to locate, where do you post their initial values..

Alberto.
I don't think·the nf/na parameters would be especially unique in Spanish, but I do think that rapidly repeating short sequences could generate sounds like rolled r's.

Did you read that Computalker link? It's a bit of investment, but worth it. If you digest that, and then play with that spectograph program, you will start to see how all this ties together.

You can always experiment, and just see what you get, but I think that understanding the spectral nature of speech·is critical. On this thread you should see links I posted to other resources, including that spectograph program.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔


Chip Gracey
Parallax, Inc.

BTX
11-05-2006, 05:15 AM
Chip said...
Did you read that Computalker link?
No I didn't Chip, but I will, and try to understand it.
I thought that computalker only works on English phonetics.......sorry, like I said I wil read it first.

Thanks so much.

cgracey
11-05-2006, 05:25 AM
BTX said...

Chip said...
Did you read that Computalker link?

No I didn't Chip, but I will, and try to understand it.
I thought that computalker only works on English phonetics.......sorry, like I said I wil read it first.

Thanks so much.
Though the Computalker was probably designed with English in mind, it should be capable of making sounds from any language, as it models the vocal tract. I would imagine that to do some dialects especially well, some optimization to a simple vocal tract model might be in order, but you could get well in the ball-park with a simple model.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔


Chip Gracey
Parallax, Inc.

Graham Stabler
11-05-2006, 07:05 AM
Thanks Chip, I think I must have had overlapping formants. I also hadn't checked out the spatializer because all my mice are at work (don't ask). I'm hoping to analyse my own voice a bit and get Phil's speech object sounding more like me.

Cheers,

Graham

Graham Stabler
11-05-2006, 09:21 AM
I'm not sure how useful this will prove but I've made a program for TV and keyboard so you can fiddle with the parameters and see the effects. Might be handy for tweaking.

Find attached.

Graham

cgracey
11-06-2006, 04:29 PM
Graham,

I looked at your code, but didn't run it because I didn't have a tv and keyboard hooked up. It looks great, though.

Your program is·a good idea for allowing people to get a quick handle on what the various parameters do. I noticed that you were stepping the frequencies by 100Hz (~5 unit steps). What about stepping by $10 and using shift-key to step by $01. That way, they could try the entire 8 bits of range out without too much typing. This would be good for finding the 'ga' limit for a set of formants, for example. You would have to show the parameter value, and maybe its translated unit value.

Anyway, thanks for posting this code. I will try it later.


Graham Stabler said...
I'm not sure how useful this will prove but I've made a program for TV and keyboard so you can fiddle with the parameters and see the effects. Might be handy for tweaking.

Find attached.

Graham

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔


Chip Gracey
Parallax, Inc.

KenLem
11-06-2006, 10:37 PM
Well done Chip!

Thanks for the link too.· I really enjoy digging into something the texts from the early days of computing.· There are some real gems buried in there.· I just bought the origial Dr Drobbs with Li-Chen Wang's Tiny Basic listing in it.· I don't have any plans for it but it's just wonderful to read.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
www.speechchips.com (http://www.speechchips.com)

Speech & Video IC's for BasicStamps

Graham Stabler
11-07-2006, 06:07 AM
Thanks Chip, I'll definately make those changes, I've just found an old PS2 keyboard, I think I'm going to mark it out with the controls.

I've now produced spectrums for all of the sounds of my voice needed in Phil's program, I used a program called Spectrogram that I downloaded (10 day free trial) so I'll be trying to build up the sounds. One problem I have found so far is that the first Formant for a Yorkshireman seems rather lower than for the average American (though my voice is not all that deep) I always seem to have to lower ga a lot so it doesn't complain.

I got some interesting stuff from the library (took my camera) which I'll share as time allows.

Cheers,

Graham

Heather Dewey-Hagborg
08-07-2007, 12:37 AM
using the education kit what is the easiest way to get the singing monk voices out of the propeller and into a pair of speakers?

-heather

parts-man73
08-07-2007, 01:08 AM
Take a look at OldBitCollectors "Propeller Cookbook" - I have it hosted on my website, or he has it mirrored elsewhere as well.

Look at it here - ucontroller.com/ (http://ucontroller.com/)

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Brian

uController.com (http://uController.com) - home of SpinStudio

Heather Dewey-Hagborg
08-07-2007, 01:45 AM
The cookbook circuit works perfectly for the tone generating examples in the counters lab, but I still can't hear a peep from the singing monks...

-heather

Oldbitcollector (Jeff)
08-07-2007, 02:54 AM
Strange,

The monks are singing sweetly here...

The audio circuit has been an established standard here, wonder what changed?

Oldbitcollector

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
The comments and code above are proof that a million monkeys with a million propeller chips *could* write Shakespeare!

Heather Dewey-Hagborg
08-07-2007, 05:22 AM
got it working! looks like i was having brown out reset issues and wasn't actually executing the code. what a relief!

Javalin
08-07-2007, 05:52 PM
With the MP3's posted here - Chip could release a "Propellor Monks" album (on-line only of course). Perhaps a free copy for all purchases over $50?

Cool stuff Chip.

Javalin

mcstar
08-09-2007, 05:23 AM
Does anyone know why the VocalTract library squeaks/pops/hisses and does other nasty things when you attemp certain frequency combinations?· For instance, I'm attempting to create· the "oo" (F1=425, F2=2000, F3=2400,F4=3000) vowel sound and I have to lower the gutteral (gp) to around 60 or 65hz.· This means female voices are out of the question.· Is there any way to rectify this to get more natural higher pitched sounds??

mcstar
08-09-2007, 06:14 AM
I modified the· testtract application that allows you to fidget with the vocal tract's parameters.· Now it works with Propterminal, so you can use it without a dedicated keyboard or mouse.· IF you have propterminal, download this to make it work through your computer's display and keyboard.·

Also, as an added bonus, I setup some presets for the basic English vowel sounds from the computalk documentation.· To access them just hit the function keys f1-f8.· Now you have a quick way to jump right to the correct·vowel frequencies.· Someday I'd like to implement the constanants as well and a buffer so you could type (for instance) "Taek" and have it say "take".· Everything is in the Vocal tract to make it possible, just have to work out all the sounds·transitions·and timing.·
Anyway, I hopw someone finds this useful.

Harley
08-09-2007, 06:27 AM
Thanks mcstar,

Something to add to my list of 'things to do' after present project.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Harley Shanko
h.a.s. designn