Now my synthesizer, says the line but adds a "n"? Sent from my iPhone
On Sep 28, 2009, at 6:49 PM, Michael Whapples <[email protected]> wrote: > Could the extra characters/text you hear be "e n"? If so it seems your > copy of echo is not recognising the -e option, but if speech is coming > out then it must be inserting the NULL. Try editing your script to > remove the -e option from the echo command, does it help? Having a > look > at various shells on my system it seems some versions of echo will do > the escape sequences needed to get the NULL character even without > giving the -e option. > > Michael Whapples > On 28/09/09 22:49, james collins wrote: >> The script worked, but my synthesizer says something in the >> beginning? >> Like it adds, it sounds like "bn" or "vn" to what I write? >> >> Sent from my iPhone >> >> On Sep 28, 2009, at 5:08 PM, Michael Whapples<[email protected]> >> wrote: >> >> >>> The first line should start while and end with do >>> second line has an echo command >>> Third line should just be done >>> >>> Hope that makes it clearer as to the lines. >>> >>> As for shells, you probably have bash, so you could replace sh with >>> bash >>> when launching the script or in the #!/bin/sh (so line reads #!/bin/ >>> bash >>> ). I am using bash here. >>> >>> Michael Whapples >>> On 28/09/09 21:42, james collins wrote: >>> >>>> On my phone which is where I am reading this email the lines you >>>> gave >>>> gotten broken up into four lines? Just wondering how to enter those >>>> lines: >>>> >>>> while starts the 1st line and it ends w/; >>>> do starts the second line >>>> and done is on the third line? >>>> >>>> Is that right? Also I looked at the man page for echo under bash on >>>> my >>>> computer, there is a -n option but no -e option, I wondered if that >>>> would make a difference? I guess I am using sh though? >>>> >>>> Sent from my iPhone >>>> >>>> On Sep 28, 2009, at 3:26 PM, Michael Whapples<[email protected]> >>>> wrote: >>>> >>>> >>>> >>>>> You are correct that you would put at the beginning of the script >>>>> the line: >>>>> #!/bin/sh >>>>> >>>>> Also how you said to start it is correct (in fact for running it >>>>> in >>>>> the >>>>> way you describe that #!/bin/sh line wouldn't be needed). >>>>> >>>>> An alternative would be to set the script to be executable, a >>>>> command like: >>>>> chmod a+x your_file_name >>>>> >>>>> will set the file you name in the place of your_file_name to be >>>>> executable by all users. Then you can run it by simply giving the >>>>> file >>>>> name on the command line. However for this to work you MUST >>>>> remember >>>>> to >>>>> include that #!/bin/sh line otherwise the system won't know what >>>>> to >>>>> run >>>>> the script with. Also if you use this you can put the script in a >>>>> directory pointed at by $PATH and you can run it using just the >>>>> script's >>>>> name (eg. if you called the script file "speak_lines" and placed >>>>> it >>>>> in a >>>>> directory in $PATH (on my linux system /usr/local/bin would be a >>>>> good >>>>> choice) then it could be run just giving the speak_lines command). >>>>> >>>>> Now for how this script behaves: >>>>> Precisely how you described you wanted things to work. Launch the >>>>> script >>>>> and the cursor is placed on a new line waiting for you to enter >>>>> text. >>>>> Enter text and press enter, it will append a NULL character to the >>>>> text >>>>> and send it to /dev/cu.usbserial-FTKVMAFF and hopefully the synth >>>>> will >>>>> talk. The cursor will have dropped down a line and be waiting for >>>>> more >>>>> text, keep entering lines of text until you get bored with it, at >>>>> which >>>>> point press ctrl+d on a blank line (ends file, tells the script no >>>>> more >>>>> text to read) or ctrl+c (not so preferred as this kills it) and in >>>>> either case you will find yourself back at the shell prompt. >>>>> >>>>> Michael Whapples >>>>> On 28/09/09 20:09, james collins wrote: >>>>> >>>>> >>>>>> Thanks for the responses. To make a script out of the lines you >>>>>> gave >>>>>> me, would I write in a text editor, first line: >>>>>> #!/bin/sh >>>>>> How would I invoke this script, like let's say I made a script, >>>>>> and >>>>>> called it samplescript.txt, if I was in the directory where it >>>>>> was >>>>>> located I would say: >>>>>> sh ./samplescript.txt >>>>>> what would happen next? In the script cat never gets called? >>>>>> Would my >>>>>> cursor drop down a line and I would enter text? And when I hit >>>>>> return >>>>>> a NUL character would be appended to the end of the text? And >>>>>> then if >>>>>> I hit cntrl-c it would exit cat? >>>>>> >>>>>> Sent from my iPhone >>>>>> >>>>>> On Sep 28, 2009, at 1:46 PM, Michael Whapples<[email protected]> >>>>>> wrote: >>>>>> >>>>>> >>>>>> >>>>>> >>>>>>> You can do what you are asking for in three lines: >>>>>>> >>>>>>> while read myline ; do >>>>>>> echo -e -n "$myline\00">/dev/cu.usbserial-FTKVMAFF >>>>>>> done >>>>>>> >>>>>>> >>>>>>> >>>>>> On my phone it is written as four lines? >>>>>> >>>>>> >>>>>> >>>>>>> For convenience you may want to put those three lines in a text >>>>>>> file >>>>>>> to >>>>>>> make a script. >>>>>>> >>>>>>> Michael Whapples >>>>>>> On 28/09/09 18:06, Dave Mielke wrote: >>>>>>> >>>>>>> >>>>>>> >>>>>>>> [quoted lines by james collins on 2009/09/28 at 12:29 -0400] >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>>> Just wondering what I am doing wrong? I want to use cat, but I >>>>>>>>> want to >>>>>>>>> append a NUL character to what I type? I tried typing: >>>>>>>>> echo -e -n '\000' | cat> /dev/cu.usbserial -FTKVMAFF >>>>>>>>> What I was hoping would happen, is my cursor would drop down a >>>>>>>>> line >>>>>>>>> and I would be in the cat command, I would then right some >>>>>>>>> text >>>>>>>>> and >>>>>>>>> when I hit return, a NUL character would be appended to the >>>>>>>>> text I >>>>>>>>> had >>>>>>>>> written and my synthesizer would speak the words I had >>>>>>>>> written? >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>> I think you mustn't be very familiar with Unix-style operating >>>>>>>> systems. >>>>>>>> >>>>>>>> When you join two commands with |, what you're doing is >>>>>>>> redirecting >>>>>>>> the input >>>>>>>> of the second command (in your case, cat) away from your >>>>>>>> keyboard >>>>>>>> and to the >>>>>>>> output of the first command (in your case, echo). >>>>>>>> >>>>>>>> There's no magic way to do what you're wanting to do. If you >>>>>>>> want a >>>>>>>> NUL >>>>>>>> appended to each line you type before that line is written to >>>>>>>> your >>>>>>>> synthesizer >>>>>>>> then you're going to have to write a simple program to do >>>>>>>> exactly >>>>>>>> that. In this >>>>>>>> case, a fairly simple shell script should suffice. >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>> _______________________________________________ >>>>>>> This message was sent via the BRLTTY mailing list. >>>>>>> To post a message, send an e-mail to: [email protected] >>>>>>> For general information, go to: http://mielke.cc/mailman/listinfo/brltty >>>>>>> >>>>>>> >>>>>>> >>>>>> _______________________________________________ >>>>>> This message was sent via the BRLTTY mailing list. >>>>>> To post a message, send an e-mail to: [email protected] >>>>>> For general information, go to: http://mielke.cc/mailman/listinfo/brltty >>>>>> >>>>>> >>>>>> >>>>> _______________________________________________ >>>>> This message was sent via the BRLTTY mailing list. >>>>> To post a message, send an e-mail to: [email protected] >>>>> For general information, go to: http://mielke.cc/mailman/listinfo/brltty >>>>> >>>>> >>>> _______________________________________________ >>>> This message was sent via the BRLTTY mailing list. >>>> To post a message, send an e-mail to: [email protected] >>>> For general information, go to: http://mielke.cc/mailman/listinfo/brltty >>>> >>>> >>> _______________________________________________ >>> This message was sent via the BRLTTY mailing list. >>> To post a message, send an e-mail to: [email protected] >>> For general information, go to: http://mielke.cc/mailman/listinfo/brltty >>> >> _______________________________________________ >> This message was sent via the BRLTTY mailing list. >> To post a message, send an e-mail to: [email protected] >> For general information, go to: http://mielke.cc/mailman/listinfo/brltty >> > > _______________________________________________ > This message was sent via the BRLTTY mailing list. > To post a message, send an e-mail to: [email protected] > For general information, go to: http://mielke.cc/mailman/listinfo/brltty _______________________________________________ This message was sent via the BRLTTY mailing list. To post a message, send an e-mail to: [email protected] For general information, go to: http://mielke.cc/mailman/listinfo/brltty
