Wednesday, February 17, 2010

Another etymology

I love etymologies, especially when I can connect otherwise ordinary English words with each other or with a Greek word. Today's example:

The Greek word "kachazo" is the same as the English word "cackle". One of the variants of the Greek word is "kagchalao", which is where the "l" in "cackle" can be seen.

But there's another English word which is also from the same root: "laugh".

The root in Proto-Indo-European is apparently "klak-", and in Greek the "l" dropped off to make "kak-" > "kach-", while in English the first "k" dropped off to make "lak-" > "lach-" > "lagh-" > "laugh".

I love etymologies. :-)

Friday, February 12, 2010

"Spirit" nothing to sneeze at...

Recently I've been having some fun with etymologies (in addition to developing my speech synthesizer). I found a cool one just tonight: "sneeze". Turns out it is cognate with the Greek word "pneuma", which is often translated as "spirit" (e.g. the Holy Spirit). "Sneeze" comes to us from its Germanic ancestor, "fneusen", which in turn comes from its proto-Indo-European ancestor, the root "*pneu". This is the same root that gave rise to Greek "pneuma". The original meaning of the word was "to breathe", but it also gets used to speak of "wind" and such. So to "sneeze" is to breathe out windily! :-)

Saturday, February 06, 2010

Speech Synthesis Part 2

It's been busy around here lately with grant writing and various other things. But I've been managing to make steady progress on the speech synthesizer. The synthesizer I described in my last post has been scrapped and completely redesigned. There is now way more flexibility in the number of poles and zeros, I have implemented models of the KLGLOTT88 voice source and a source I have used in the past based on Ananthapadmanabha and Fant (1982). (Actually, my KLGLOTT88 source is not 100% functional just yet - it is lacking aspiration noise and I'm not 100% convinced that the spectral tilt is implemented propertly.) The synthesizer is also starting to be a bit more user friendly (lots more work to do on this, though), and it is definitely more "coder-friendly", i.e. the code is much simpler, much shorter, much more modular, and much easier to understand. And unlike the synthesizer described in my last post, the current one can handle voiced obstruents just as well as voiceless obstruents or vowels.

Things that need to be worked out still: I need to implement the aspiration and fricative noise sources, and I need to make sure the amplitudes of the noise and voice sources are appropriately balanced. I'd like to implement the LF model as well, for another voice source option. Finally, I need to make it much more user-friendly by putting all the pieces together into a single program which can read Klatt synthesizer-type parameter specifications from a file and generate the synthetic speech from that.

There will probably be a need for additional tweaks here and there, but they should be relatively minor. The end result will be an implementation of the Klatt synthesizer with a lot more flexibility than the Klatt synthesizer itself. I'll then be able to embed the synthesizer in other synthesis and analysis projects that I have in mind.

Fun. :-)

Saturday, January 16, 2010

Speech Synthesis!

I've never done much with speech signal processing - creating spectra and spectrograms, and calculating spectra from acoustic circuit models of the vocal tract is about as far as I go. But recently I decided it was high time I tried my hand at a (formant) synthesizer. Fortunately, I knew just where to start looking for help: Dennis Klatt's 1980 paper in JASA. Aside from one typo which I found in an equation (there was a missing division sign), the paper is most informative, and there is an appendix with the complete code for the synthesizer described. ...written in FORTRAN. So I learned a few things about FORTRAN while I was trying to decipher how the synthesizer worked. Then I noticed the typo, and it became necessary to do some hunting around the internet and some of my books to figure out which form of the equation was correct, and whether there were any other typos (there weren't). I started off, then, rewriting the Klatt Synthesizer in MATLAB. I already have a version of this by MKT, but it's in mex format, which I know a bit less well than FORTRAN, and the Klatt Synthesizer has some limitations that I want to overcome. So I was going to rewrite the Klatt Synthesizer myself, in MATLAB, thereby forcing myself to learn how the synthesizer worked. Once that was done and working, I could focus on changing the synthesizer to meet my particular needs. Well, after a while (and after I had solved the problem of the typo) I decided to take a different tack. It would be easier to write the synthesizer I wanted from the get-go, rather than using the Klatt version as a stopping-off point. So I worked on putting the principles learned from Klatt to work. The result: nothing like speech. I finally got around to some debugging tonight, and figured out what was wrong: a missing minus sign. :-} That's now fixed, and I am successfully able to produce three formant vowels. Actually, I should be able to produce much more than that - I just haven't tried the other possibilities yet. This synthesizer has some nice features. First, it has poles and zeros for each of the first 6 formants, for each of the first 3 nasal and subglottal resonances, and for each of the first two interdental resonances. If the frequency and bandwidth for any pair are identical, they are simply not synthesized (they would cancel out anyway); and if either the pole or the zero coefficients are set to zero, that pole or zero is not synthesized. Second, the synthesizer updates the resonator and anti-resonator coeficients between each pair of samples. So if the acoustic sampling rate is 16000 Hz, then 1/16000 Hz is also the parameter update interval. Third, the source is defined completely separate from the resonators and anti-resonators. If the source is given, one can calculate the vocal tract filter and input that into the synthesizer, and since the sampling rate is so large compared to the fundamental frequency, within-glottal cycle changes in the filter should be no problem. The one thing that this synthesizer cannot currently do is produced voiced obstruents. In a later version of the synthesizer, this will be remedied, and the source parameter will probably be broken down into phonation and frication/aspiration components. I plan to use this synthesizer (or its later versions) to create synthetic speech for speech perception experiments, and also to study the analysis of subglottal coupling in natural and synthetic speech, and to investigate certain aspects of fricative acoustics that I'm rather interested to look into.

Among my many readers (that's right, I'm talking about all two of you) this post is probably interesting only to me. Sorry... :-}

Sunday, November 29, 2009

The Beloved Disciple: Part 3

[Part 2 is in a comment to the original post. Part 3 would have been as well, but it is too long and Blogger won't accept it as a comment.]

I have a guess at which Papias fragment Witherington is referring to as 10.17, from which he concludes that John was killed early like his brother James. I found this webpage:

http://www.earlychristianwritings.com/jackson/excursus1.html

This page argues for the early death of John the son of Zebedee. It gives six citations for external testimony, plus two from the Bible. The citations from the Bible are Mark 10:35-40 and Matthew 20:20-23. From these two passages, it sounds like James and John will both die martyrs' deaths. Indeed, James was martyred early, according to Acts 12:2.

The six external citations are as follows:

1) Georgius Hamartolus (10th century) writes that "John the Apostle after he had written his Gospel suffered martyrdom, for Papias in the second book of the λογια κυριακα says that he was put to death by Jews, thus plainly fulfilling along with his brother the prophecy of Christ regarding them, and their own confession and common agreement concerning him". Note that this passage implies that Papias was still extant in the 10th century, or that Hamartolus was refering to an earlier witness to Papias, such as in the next citation (below). It also plainly states that John was martyred *after* he had written his Gospel.

2) Philip of Side (5th century) writes that "Papias says in his second book that John the Divine and James his brother were slain by Jews". This is clearly referring to the same passage as Hamartolus, and if the two are not independent witnesses, it is possible that Hamartolus was referring to Philip. Note that Philip calls the the son of Zebedee "John the Divine", while Hamartolus calls him "John the Apostle". Philip does not claim that John Zebedee wrote the Gospel before his martyrdom.

3) Clement of Alexandria (2nd century - about the time of Irenaeus), in his Stromata (iv.9), cites one Heracleon who, when speaking of confession, names "Matthew, Philip, Thomas, Levi, and many others". The webpage where I found these citations claims that Heracleon/Clement is listing those who had not been martyred, and finds it strange that John Zebedee would not have been mentioned. To this I must reply, first, that to conclude from this alone that John Zebedee *was* martyred is purely an argument from silence; and second, that I don't read Heracleon's statement the same way that the webpage does. Heracleon is saying that there are two confessions, one by word and one by one's life, and that the former proceeds from the latter, and is not sufficient without it. He claims that "the hypocrites" have made confession by word. Then comes this statement: "for all the saved have confessed with the confession made by the voice, and departed. Among whom are Matthew, Philip, Thomas, LEvi, and many others." The word "departed" and that fact that he calls these "the saved" in opposition to "the hypocrites" who only confess by word, makes me think this is a list of martyrs.

4) The apocryphal Martyrdom of Andrew. In Schaff's Ante-Nicene Fathers there is such a Martyrdom. I haven't read it carefully, but skimming it a few times I don't see the reference made by the website, which claims that James and John were given "Anatolia" to be their mission field. On one hand, this is a known apocryphal work, so we must give it less credence than an authentic one. The webpage acknowledges this, but maintains that the reference to Anatolia is "in the very teeth of the tradition as to a departure to and prolonged residence in Asia Minor in the case of the Apostle John." I suppose he means that "Anatolia" from a Palestinian perspective would be east of the Greek Anatolia (which was Asia Minor). But in the Maryrdom in Schaff's collection the writer claims to be in Achaia - Greece! So it seems to me that "Anatolia" should refer to Asia Minor, and the argument of the webpage is not valid.

5) The Syriac Martyrology (early 5th century), which commemorates James and John together on the same liturgical day.

6) Aphrahat (4th century) writes as follows: "Great and excellent is the martyrdom of Jesus. He surpassed in affliction and in confession all who were before or after. [Aphrahat had previously listed a large number of martyrs before Jesus.] And after Him was the faithful martyr Stephen whom the Jews stoned. Simon (Peter) also and Paul were perfect martyrs. And James and John walked in the footsteps of their Master Christ. Also (others) of the apostles thereafter in divers places confessed and proved true martyrs." On the surface it looks like Aphrahat claims some of the apostles were martyred after John was. I haven't found a Greek copy of this yet, but I wonder if the "thereafter" simply continues the "after Him". Alternatively, the thereafter may refer (strictly) only to Stephen, Peter, Paul, and James, while John is named with his brother as he often was in the Gospels.

In any event, I don't see why any of this requires an early death of John, even if it suggests a martyr's death. If Papias really did say that John was killed after writing his Gospel, that seems like strong evidence that John was not killed early.