//speakjet_pitch.pde // a demo showing the effect of changing pitch and bend values // 5-4-2010 by Galen Raben / droidbuilder.com // modify pitch variable // set up a new serial port //rxPin: the pin on which to receive serial data //txPin: the pin on which to transmit serial data #include #define txPin 2 #define rxPin 3 #define busyPin 4 // set up SoftwareSerial port SoftwareSerial speakJet = SoftwareSerial(rxPin, txPin); void setup() { // define pin modes for tx, rx pins: //pinMode(rxPin, INPUT); pinMode(txPin, OUTPUT); speakJet.begin(9600); } /* HELLO WORLD SpeakJet MSA phonemes (see page 16 of SpeakJet User Manual) 20, 96, 21, 114, 22, 88, 23, 5, 183, 7, 159, 146, 164, 147, 151, 145, 176 v s p b H f E L O W A L E o p i e E a H O W W X E D l e t n s L W R e c d t L W R d h default pitch=88 */ byte prefix[] = {20, 96, 21, 114, 22, 88, 23, 5}; // this is the normal values for setup byte message[] = {183, 7, 159, 146, 164, 147, 151, 145, 176}; //say "hello world" void loop() { // reset to normal settings speakJet.print(20, BYTE); // vol speakJet.print(96, BYTE); speakJet.print(21, BYTE); // speed speakJet.print(114, BYTE); speakJet.print(22, BYTE); // pitch speakJet.print(88, BYTE); speakJet.print(23, BYTE); // bend speakJet.print(5, BYTE); for (int i=0; i