Vocola 2.6.4 problem
I'm using the latest version installed with the unimacro 3.8 installer. Dragon NaturallySpeaking 10.1 on Windows 7 64-bit with Word 2007.
I do court transcription and use a lot of vocola macros for things like proper formatting of lawyer names, etc. I'm finding that every once in a while, but regularly enough to be annoying, the first part of a vocola macro is being skipped. For example, if the macro is
the court = {Tab_2}"THE COURT: ";
Sometimes the first {Tab} will get missed. I have tried many different things like having two {Tab} keys instead of {Tab_2} as well as adding various wait commands of different lengths, but then strange things happen like the first letter of "THE COURT" shows up in lowercase like "tHE COURT".
Does anyone have any ideas?

Which application(s) are
Which application(s) are this occurring with?
I'm noticing it in Word
I'm noticing it in Word 2007. Don't know if it occurs in other applications.
Hmmm. Let us try and narrow
Hmmm. Let us try and narrow the problem down.
Does the problem happen with macros with that do not start with tab?
What happens if you use SendSystemKeys? E.g., SendSystemKeys({tab_2} "THE COURT")?
Do you have any other way of creating a macro with DNS? step-by-step or something like that? Does it have the same problem?
Does using a really long wait (e.g. 2000) between the tab and the text help?
What happens if you do something like "foo{backspace_3}{tab_2}THE COURT"? ( attempting to put the tab part in the middle)
I will try to do some
I will try to do some testing, your final example looks the most promising, even if it is a kludge.
I tried to SendSystemKeys thing, but it was too slow to be useful. I also tried having wait commands of various lengths at the beginning and in the middle of the tabs. It didn't seem to make a difference.
As I say, I will try the week "foo{backspace_3}{tab_2}" idea and see what happens for a while.
About the SendSystemKeys:
About the SendSystemKeys: How about
SendSystemKeys({tab_2}) "THE COURT"Then only 2 keys (to tabs) are sent slow and the rest fast. Probably need a wait after the SendSystemKeys here.
If you need more text, another possibility is setting the "THE COURT" text on the clipboard and do a
SendSystemKeys({tab_2}{ctrl+v})Quintijn
I'm pretty sure I tried your
I'm pretty sure I tried your first idea (including the wait command) and I would get "tHE COURT" sometimes.
Your second idea, while interesting, won't work because there are about 150 vocola macros that are similar to my "the court" example.
So far, the foo{backspace_3} kluge seems to be working. However, I haven't extensively tested it yet.
dkehler wrote: I'm pretty
I'm pretty sure I tried your first idea (including the wait command) and I would get "tHE COURT" sometimes.
Bear in mind I don't use Vocola, but the thought came to me that perhaps you could do an ALL CAPS ON prior to "THE COURT" and an ALL CAPS OFF afterwards. Seems that would fix it but take a short bit more time.
That's another good idea. I
That's another good idea. I will try that if the current one doesn't continue to work.
If it is about so many
If it is about so many similar commands, maybe it is usefull to think about a smart Unimacro grammar, in which you can easily add new words as well.
Quintijn
Maybe. I wouldn't know
Maybe. I wouldn't know where to begin though. I could send you my vocola word macros file, if you wouldn't mind taking a look. I'm constantly adding new lawyer names.
Please post it here if there
Please post it here if there are not privacy concerns.
copy [that] =
copy [that] = SendSystemKeys("{Ctrl+c}") Beep();
paste [that] = SendSystemKeys("{Ctrl+v}") Beep();
cut [that] = SendSystemKeys("{Ctrl+x}") Beep();
save document = SendSystemKeys("{Ctrl+s}") Beep();
change case = SendSystemKeys("{Shift+F3}");
(capitalize | cap dot) = HeardWord(\Cap,that);
centre page = {Up_33} {PgDn}{Home} HeardWord(continue) SendSystemKeys("{Ctrl+s}");
hyphenate = HeardWord(Hyphenate,Phrase);
back = HeardWord(switch,to,TheRecord,Player) Wait(50) SendSystemKeys("{Alt+1}") Wait(50) SendSystemKeys("{Right_2}") Wait(50) SendSystemKeys("{Down_2}") Wait(50) SendSystemKeys("{F2}");
question = {Tab}Q{Tab} HeardWord(\Cap);
answer = {Tab}A{Tab} HeardWord(\Cap);
indent = foo{backspace_3}{Tab_2};
indented margin = SendSystemKeys("{Ctrl+i}");
normal margin = SendSystemKeys("{Alt+Ctrl+n}");
brief recess = SendSystemKeys("{Ctrl+i}")"(BRIEF RECESS)";
Jury in = SendSystemKeys("{Ctrl+i}")"(JURY IN [at time])";
Jury out = SendSystemKeys("{Ctrl+i}")"(JURY OUT [at time])";
Jury discharged = SendSystemKeys("{Ctrl+i}")"(JURY DISCHARGED)";
Jurors confirm = SendSystemKeys("{Ctrl+i}")"(JURORS CONFIRM)";
Jury roll call = SendSystemKeys("{Ctrl+i}")"(JURY ROLL CALLED - ALL PRESENT)";
luncheon recess = SendSystemKeys("{Ctrl+i}")"(LUNCHEON RECESS)";
Videotape played = SendSystemKeys("{Ctrl+i}")"(VIDEOTAPE PLAYED)";
witness aside = SendSystemKeys("{Ctrl+i}")"(WITNESS ASIDE)";
witness excused = SendSystemKeys("{Ctrl+i}")"(WITNESS EXCUSED)";
digital audio played = SendSystemKeys("{Ctrl+i}")"(DIGITAL AUDIO PLAYED)";
Digital audio visual played = SendSystemKeys("{Ctrl+i}")"(DIGITAL AUDIO/VISUAL PLAYED)";
audio tape played = SendSystemKeys("{Ctrl+i}")"(AUDIO TAPE PLAYED)";
monitor equipment malfunctioned = SendSystemKeys("{Ctrl+i}")"(MONITOR EQUIPMENT MALFUNCTIONED)";
other matters spoken to = SendSystemKeys("{Ctrl+i}")"(OTHER MATTERS SPOKEN TO)";
reasons for sentence delivered = SendSystemKeys("{Ctrl+i}")"(REASONS FOR SENTENCE DELIVERED)";
reasons for judgment delivered = SendSystemKeys("{Ctrl+i}")"(REASONS FOR JUDGMENT DELIVERED)";
witness sworn = SendSystemKeys("{Ctrl+i}{Ctrl+b}")"WITNESS NAME"{Ctrl+b} Wait(50)", sworn, testified as follows: ";
witness affirmed = SendSystemKeys("{Ctrl+i}{Ctrl+b}")"WITNESS NAME"{Ctrl+b} Wait(50)", affirmed, testified as follows: ";
enter exhibit = SendSystemKeys("{Ctrl+i}{Ctrl+b}") Wait(50) "EXHIBIT #: DESCRIPTION"{Ctrl+b};
the court = foo{backspace_3}{Tab_2}"THE COURT: ";
the clerk = foo{backspace_3}{Tab_2}"THE CLERK: ";
the foreperson = foo{backspace_3}{Tab_2}"THE FOREPERSON: ";
the witness = foo{backspace_3}{Tab_2}"THE WITNESS: ";
the accused = foo{backspace_3}{Tab_2}"THE ACCUSED: ";
the young person = foo{backspace_3}{Tab_2}"THE YOUNG PERSON: ";
unidentified person = foo{backspace_3}{Tab_2}"UNIDENTIFIED PERSON: ";
[a] sheriffs officer = foo{backspace_3}{Tab_2}"A SHERIFF'S OFFICER: ";
Jurors = foo{backspace_3}{Tab_2}"JURORS: ";
positive response = Um-hum;
negative response = Uh-uh;
# lawyer and Dr. names
Mr. Aniceto = foo{backspace_3}{Tab_2}"MR. ANICETO: ";
Mr. Arenson = foo{backspace_3}{Tab_2}"MR. ARENSON: ";
Mr. Armstrong = foo{backspace_3}{Tab_2}"MR. ARMSTRONG: ";
Mr. Ashcroft = foo{backspace_3}{Tab_2}"MR. ASHCROFT: ";
Mr. Bates = foo{backspace_3}{Tab_2}"MR. BATES: ";
Mr. Bhangu = foo{backspace_3}{Tab_2}"MR. BHANGU: ";
Mr. Bauman = foo{backspace_3}{Tab_2}"MR. BAUMAN: ";
Mr. Bell = foo{backspace_3}{Tab_2}"MR. BELL: ";
Mr. Bond = foo{backspace_3}{Tab_2}"MR. BOND: ";
Mr. Bowring = foo{backspace_3}{Tab_2}"MR. BOWERING: ";
Mr. Boyd = foo{backspace_3}{Tab_2}"MR. BOYD: ";
Mr. Brodsky = foo{backspace_3}{Tab_2}"MR. BRODSKY: ";
Mr. Brown = foo{backspace_3}{Tab_2}"MR. BROWN: ";
Mr. Burnett = foo{backspace_3}{Tab_2}"MR. BURNETT: ";
Mr. Cook = foo{backspace_3}{Tab_2}"MR. COOK: ";
Mr. Cooper = foo{backspace_3}{Tab_2}"MR. COOPER: ";
Mr. Corona = foo{backspace_3}{Tab_2}"MR. CORONA: ";
Mr. Dhillon = foo{backspace_3}{Tab_2}"MR. DHILLON: ";
Mr. De Moissac = foo{backspace_3}{Tab_2}"MR. DE MOISSAC: ";
Mister De Moissac = foo{backspace_3}{Tab_2}"MR. DE MOISSAC: ";
Mr. Deshaye = foo{backspace_3}{Tab_2}"MR. DESHAYE: ";
Mr. Edgett = foo{backspace_3}{Tab_2}"MR. EDGETT: ";
Mr. Edmond = foo{backspace_3}{Tab_2}"MR. EDMOND: ";
Mr. Eyrikson = foo{backspace_3}{Tab_2}"MR. EYRIKSON: ";
Mr. Field = foo{backspace_3}{Tab_2}"MR. FIELD: ";
Mr. Garber = foo{backspace_3}{Tab_2}"MR. GARBER: ";
Mr. Gillespie = foo{backspace_3}{Tab_2}"MR. GILLESPIE: ";
Mr. Graham = foo{backspace_3}{Tab_2}"MR. GRAHAM: ";
Mr. Gray = foo{backspace_3}{Tab_2}"MR. GRAY: ";
Mr. Haberman = foo{backspace_3}{Tab_2}"MR. HABERMAN: ";
Mr. Harvie = foo{backspace_3}{Tab_2}"MR. HARVIE: ";
Mr. Hawrysh = foo{backspace_3}{Tab_2}"MR. HAWRYSH: ";
Mr. Hill = foo{backspace_3}{Tab_2}"MR. HILL: ";
Mr. Holmes = foo{backspace_3}{Tab_2}"MR. HOLMES: ";
Mr. Holloway = foo{backspace_3}{Tab_2}"MR. HOLLOWAY: ";
Mr. Ishmael = foo{backspace_3}{Tab_2}"MR. ISHMAEL: ";
Mr. Johnson = foo{backspace_3}{Tab_2}"MR. JOHNSON: ";
Mr. Jones = foo{backspace_3}{Tab_2}"MR. JONES: ";
Mr. Joycey = foo{backspace_3}{Tab_2}"MR. JOYCEY: ";
Mr. Kagan = foo{backspace_3}{Tab_2}"MR. KAGAN: ";
Mr. Killeen = foo{backspace_3}{Tab_2}"MR. KILLEEN: ";
Mr. Kreel = foo{backspace_3}{Tab_2}"MR. KREEL: ";
Mr. Lach = foo{backspace_3}{Tab_2}"MR. LACH: ";
Mr. Lavitt = foo{backspace_3}{Tab_2}"MR. LAVITT: ";
Mr. Levitt = foo{backspace_3}{Tab_2}"MR. LAVITT: ";
Mr. Lebras = foo{backspace_3}{Tab_2}"MR. LEBRAS: ";
Mr. Libman = foo{backspace_3}{Tab_2}"MR. LIBMAN: ";
Mr. Lintz = foo{backspace_3}{Tab_2}"MR. LINTZ: ";
Mr. MacKenzie = foo{backspace_3}{Tab_2}"MR. MACKENZIE: ";
Mr. Mahon = foo{backspace_3}{Tab_2}"MR. MAHON: ";
Mr. Mainella = foo{backspace_3}{Tab_2}"MR. MAINELLA: ";
Mr. Mariash = foo{backspace_3}{Tab_2}"MR. MARIASH: ";
Mr. McKinnon = foo{backspace_3}{Tab_2}"MR. MCKINNON: ";
Mr. Minuk = foo{backspace_3}{Tab_2}"MR. MINUK: ";
Mr. Minogue = foo{backspace_3}{Tab_2}"MR. MINUK: ";
Mr. Mokriy = foo{backspace_3}{Tab_2}"MR. MOKRIY: ";
Mr. Mochrie = foo{backspace_3}{Tab_2}"MR. MOKRIY: ";
Mr. Murphy = foo{backspace_3}{Tab_2}"MR. MURPHY: ";
Mr. Neufeld = foo{backspace_3}{Tab_2}"MR. NEUFELD: ";
Mr. Newman = foo{backspace_3}{Tab_2}"MR. NEWMAN: ";
Mr. Orle = foo{backspace_3}{Tab_2}"MR. ORLE: ";
Mr. Oral = foo{backspace_3}{Tab_2}"MR. ORLE: ";
Mr. Paluk = foo{backspace_3}{Tab_2}"MR. PALUK: ";
Mr. Pankiw = foo{backspace_3}{Tab_2}"MR. PANKIW: ";
Mr. Pauls = foo{backspace_3}{Tab_2}"MR. PAULS: ";
Mr. Pinx = foo{backspace_3}{Tab_2}"MR. PINX: ";
Mr. Pollock = foo{backspace_3}{Tab_2}"MR. POLLOCK: ";
Mr. Purvis = foo{backspace_3}{Tab_2}"MR. PURVIS: ";
Mr. Ramsay = foo{backspace_3}{Tab_2}"MR. RAMSAY: ";
Mr. Saull = foo{backspace_3}{Tab_2}"MR. SAULL: ";
Mr. Schaan = foo{backspace_3}{Tab_2}"MR. SCHAAN: ";
Mr. Simmonds = foo{backspace_3}{Tab_2}"MR. SIMMONDS: ";
Mr. Sinder = foo{backspace_3}{Tab_2}"MR. SINDER: ";
Mr. Soper = foo{backspace_3}{Tab_2}"MR. SOPER: ";
Mr. Stefaniuk = foo{backspace_3}{Tab_2}"MR. STEFANIUK: ";
Mr. Stienstra = foo{backspace_3}{Tab_2}"MR. STIENSTRA: ";
Mr. Stern = foo{backspace_3}{Tab_2}"MR. STERN: ";
Mr. Tapper = foo{backspace_3}{Tab_2}"MR. TAPPER: ";
Dr. Thompson = foo{backspace_3}{Tab_2}"DR. THOMPSON: ";
Mr. Turner = foo{backspace_3}{Tab_2}"MR. TURNER: ";
Mr. Vanderhooft = foo{backspace_3}{Tab_2}"MR. VANDERHOOFT: ";
Mr. Wansbutter = foo{backspace_3}{Tab_2}"MR. WANSBUTTER: ";
Mr. Wasyliw = foo{backspace_3}{Tab_2}"MR. WASYLIW: ";
Mr. was ill you = foo{backspace_3}{Tab_2}"MR. WASYLIW: ";
Mr. Wilford = foo{backspace_3}{Tab_2}"MR. WILFORD: ";
Mr. Worme = foo{backspace_3}{Tab_2}"MR. WORME: ";
Mr. Walker = foo{backspace_3}{Tab_2}"MR. WALKER: ";
Mr. Zaman = foo{backspace_3}{Tab_2}"MR. ZAMAN: ";
Ms. Anderson = foo{backspace_3}{Tab_2}"MS. ANDERSON: ";
Ms. Baragar = foo{backspace_3}{Tab_2}"MS. BARAGAR: ";
Ms. Benevides = foo{backspace_3}{Tab_2}"MS. BENEVIDES: ";
Ms. Bueti = foo{backspace_3}{Tab_2}"MS. BUETI: ";
Ms. Buors = foo{backspace_3}{Tab_2}"MS. BUORS: ";
Ms. Buset = foo{backspace_3}{Tab_2}"MS. BUSET: ";
Ms. Campbell = foo{backspace_3}{Tab_2}"MS. CAMPBELL: ";
Ms. Carswell = foo{backspace_3}{Tab_2}"MS. CARSWELL: ";
Ms. Cawley = foo{backspace_3}{Tab_2}"MS. CAWLEY: ";
Ms. Champagne = foo{backspace_3}{Tab_2}"MS. CHAMPAGNE: ";
Ms. Christie = foo{backspace_3}{Tab_2}"MS. CHRISTIE: ";
Ms. Dalmyn = foo{backspace_3}{Tab_2}"MS. DALMYN: ";
Ms. Deegan = foo{backspace_3}{Tab_2}"MS. DEEGAN: ";
Ms. Dojack = foo{backspace_3}{Tab_2}"MS. DOJACK: ";
Ms. Dillon = foo{backspace_3}{Tab_2}"MS. DILLON: ";
Ms. Dundas = foo{backspace_3}{Tab_2}"MS. DUNDAS: ";
Ms. Dzydz = foo{backspace_3}{Tab_2}"MS. DZYDZ: ";
Ms. Fotheringham = foo{backspace_3}{Tab_2}"MS. FOTHERINGHAM: ";
Ms. Garreck = foo{backspace_3}{Tab_2}"MS. GARRECK: ";
Ms. Haberman = foo{backspace_3}{Tab_2}"MS. HABERMAN: ";
Ms. Hermiston = foo{backspace_3}{Tab_2}"MS. HERMISTON: ";
Ms. Houle = foo{backspace_3}{Tab_2}"MS. HOULE: ";
Ms. Inness = foo{backspace_3}{Tab_2}"MS. INNESS: ";
Ms. Jardine = foo{backspace_3}{Tab_2}"MS. JARDINE: ";
miz Jardine = foo{backspace_3}{Tab_2}"MS. JARDINE: ";
Ms. Johnson = foo{backspace_3}{Tab_2}"MS. JOHNSON: ";
Ms. Kennedy = foo{backspace_3}{Tab_2}"MS. KENNEDY: ";
Ms. Kostiuk = foo{backspace_3}{Tab_2}"MS. KOSTIUK: ";
Ms. Castilla = foo{backspace_3}{Tab_2}"MS. KOSTIUK: ";
Ms. Kucher = foo{backspace_3}{Tab_2}"MS. KUCHER: ";
Ms. Laycock = foo{backspace_3}{Tab_2}"MS. LAYCOCK: ";
Ms. Leinburd = foo{backspace_3}{Tab_2}"MS. LEINBURD: ";
Ms. Lintz = foo{backspace_3}{Tab_2}"MS. LINTZ: ";
Ms. Malaviya = foo{backspace_3}{Tab_2}"MS. MALAVIYA: ";
Ms. Malden = foo{backspace_3}{Tab_2}"MS. MALDEN: ";
Ms. Mann = foo{backspace_3}{Tab_2}"MS. MANN: ";
Ms. McBride = foo{backspace_3}{Tab_2}"MS. MCBRIDE: ";
Ms. McDonald = foo{backspace_3}{Tab_2}"MS. MCDONALD: ";
Ms. McFadden = foo{backspace_3}{Tab_2}"MS. MCFADYEN: ";
Ms. McFadyen = foo{backspace_3}{Tab_2}"MS. MCFADYEN: ";
Ms. Murray = foo{backspace_3}{Tab_2}"MS. MURRAY: ";
Ms. Natuik = foo{backspace_3}{Tab_2}"MS. NATUIK: ";
Ms. Nickel = foo{backspace_3}{Tab_2}"MS. NICKEL: ";
Ms. Owen = foo{backspace_3}{Tab_2}"MS. OWEN: ";
Ms. Pellettieri = foo{backspace_3}{Tab_2}"MS. PELLETTIERI: ";
Ms. Flug = foo{backspace_3}{Tab_2}"MS. PFLUG: ";
Ms. Ritchot = foo{backspace_3}{Tab_2}"MS. RITCHOT: ";
Ms. Scharikow = foo{backspace_3}{Tab_2}"MS. SCHARIKOW: ";
Ms. Sholdice = foo{backspace_3}{Tab_2}"MS. SHOLDICE: ";
Ms. Thomas = foo{backspace_3}{Tab_2}"MS. THOMAS: ";
Ms. Webb = foo{backspace_3}{Tab_2}"MS. WEBB: ";
Ms. Wong = foo{backspace_3}{Tab_2}"MS. WONG: ";
Well, in Unimacro you could
Well, in Unimacro you could make grammar rules like
<italicphrase> exported = {boldphrases}; <mrphrases> exported = mister {mrphrases}; <msphrases> exported = missis {msphrases};and fill the lists "italicphrases", "mrphrases", "msphrases" in a Unimacro "ini" file. They can be edited and inspected in a similar (but more orderly) way as in Vocola.
The inifile looks something like:
Moreover the actions to perform are defined in the Unimacro grammar, so once they work (or have to be revised), they do not have to be changed for all macro's like you do now in the Vocola commands file.
I can provide a setup grammar, but want to ask you some fee for that special support. I you wish to discuss so, please contact me private.
Quintijn
Quintijn wrote: I can
I can provide a setup grammar, but want to ask you some fee for that special support. I you wish to discuss so, please contact me private.
Quintijn
Thanks but I'm not in the market for such service. Adding granularity to script classifications is a convenience rather than a necessity. If I had time to switch scripting systems I would use it for something more rewarding, like cigar smoking or throat-singing with my cat.
Bruce
identity
Hi Bruce, are dkehler and BruceCyr the same person then? Quintijn
In Vocola you can factor out
In Vocola you can factor out common code via lists; for example, take your list of people names:
# lawyer and Dr. names
Mr. Aniceto = foo{backspace_3}{Tab_2}"MR. ANICETO: ";
Mr. Arenson = foo{backspace_3}{Tab_2}"MR. ARENSON: ";
Mr. Armstrong = foo{backspace_3}{Tab_2}"MR. ARMSTRONG: ";
Mr. Ashcroft = foo{backspace_3}{Tab_2}"MR. ASHCROFT: ";
Mr. Bates = foo{backspace_3}{Tab_2}"MR. BATES: ";
...
We could turn that into:
# lawyer and Dr. names
<person> := (
Mr. Aniceto = "MR. ANICETO: " |
Mr. Arenson = "MR. ARENSON: " |
Mr. Armstrong = "MR. ARMSTRONG: " |
Mr. Ashcroft = "MR. ASHCROFT: " |
Mr. Bates = "MR. BATES: " |
...
);
<person> = foo{backspace_3}{tab_2} $1;
That still pretty repetitive, so let's automate the part about capitalizing the name and adding ": ":
# lawyer and Dr. names
<person> := (
Mr. Aniceto |
Mr. Arenson |
Mr. Armstrong |
Mr. Ashcroft |
Mr. Bates |
...
miz Jardine = "Ms. Jardine" |
...
);
<person> = foo{backspace_3}{tab_2} Eval("str($1).upper()") ": ";
(We have to special case where the written and spoken forms are different.)
Good tips! Thank you.
Good tips! Thank you.
As an update, I find that
As an update, I find that the problem (where vocola seems to "miss" the first character in a macro) also seems to occur in Excel 2007. Definitely seems to be some sort of bug, possibly/probably related to Windows 7.