Took out -n and it worked! Thanks! Sent from my iPhone
On Sep 28, 2009, at 7:40 PM, Michael Whapples <[email protected]> wrote: > OK, there must be something quite different about the Mac shell, it > doesn't seem to be recognising -n in the echo command (I am a bit > puzzled as I thought that was fairly standard and seems to be > supported > by the shells I tried on my linux system). Anyway I think same advice, > try removing the -n option (possibly should have paid more attention > to > your first post where you said someone had told you to use echo > "\00" to > get the null). > > Michael Whapples > On 29/09/09 00:15, james collins wrote: >> 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 >> > > _______________________________________________ > 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
