![]() |
KnowBrainer Speech Recognition | ![]() |
Topic Title: New release of Vocola 2, 2.8.7, now available Topic Summary: Created On: 12/28/2021 01:41 PM Status: Post and Reply |
|
![]() |
![]() |
- mdl | - 12/28/2021 01:41 PM |
![]() |
![]() |
- R. Wilke | - 12/28/2021 03:00 PM |
![]() |
![]() |
- alexander | - 01/05/2022 09:09 PM |
![]() |
![]() |
- BigTech | - 12/29/2021 06:21 AM |
![]() |
![]() |
- alexander | - 01/05/2022 09:16 PM |
![]() |
![]() |
- mdl | - 08/14/2022 10:29 PM |
![]() |
![]() |
- mdl | - 08/14/2022 10:33 PM |
![]() |
![]() |
- alexander | - 01/07/2022 06:32 PM |
![]() |
![]() |
- BigTech | - 01/27/2022 07:39 PM |
![]() |
![]() |
- alexander | - 02/04/2022 12:19 PM |
![]() |
![]() |
- mdl | - 08/14/2022 10:41 PM |
![]() |
![]() |
- alexander | - 02/04/2022 12:18 PM |
![]() |
![]() |
- mdl | - 08/14/2022 10:48 PM |
![]() |
|
Notable changes since last version (2.8.6):
! By default, Vocola now uses SendInput instead of SendDragonKeys to send keystrokes. This should work better in most cases: SendInput is immune to the character doubling/dropping bug, for example. SendInput, however, does not work with UAC-elevated windows and may have issues with some foreign-language keyboard settings.
Accordingly, you may now temporarily switch back to SendDragonKeys via a voice command, add code in the the DragonProxy extension (see below) to further translate keystrokes as needed, or simply delete the DragonProxy extension to permanently switch back to using SendDragonKeys.
More information on the different ways of sending keystrokes may be found on the Vocola 2 website at http://vocola.net/v2/SendingKeystrokes.asp.
! The following unofficial Vocola extensions have been made official, and are now included in the Vocola 2 release: Clipboard, Date, Env, Keys, Subprocess, Variable, and Vocola
! Python version 2.6 is no longer supported
* Vocola now supports a _Dragon proxy_, which is a special Vocola extension that can intercept and change or redirect Vocola's calls to Dragon. A starter version of the proxy is provided which can switch back and forth between SendDragonKeys and SendInput for default keystrokes as well as print out Dragon actions when verbose mode is turned on.
* Vocola now prints an error if the user redefines an extension function
* A great deal of portability work has been done under the covers to make Vocola 2 work with Python 3. Hopefully the next version will support Python 3.
* Vocola 2 is being refactored to be more flexible. As part of this, it is now possible to choose a backend dynamically at "compile time". This is intended to be used for "cross-compilation" -- e.g., compiling to Dragonfly or Advanced Scripting instead of NatLink directly. Currently only NatLink and trivial echo backends are available.
This will hopefully be the last version that only works with Python 2. A combined installer that installs NatLink and this version of Vocola will *not* be available -- the NatLink project is focusing instead on a new version that works with Python 3. This plus some dependencies that have crept in for the installer means that the install procedure for Vocola is somewhat longer than I would like. See http://vocola.net/v2/InstallVocola.asp for the installation instructions.
- Mark |
|
|
|
![]() |
|
Mark, as I'm currently looking to create a completely new command and control infrastructure based on how Natlink was initially designed, based on SAPI 4 and when Python 1.5 was the version to go with, I could probably use some help from people being more acquainted with Python than I am, specifically when it comes to translating from Python to C++, and potentially how Natlink was designed in general to cross the bridges between C++ and Python. (Although it is almost for certain that I'll be burning all those bridges anyway and do away with everything Python related to start with.) Nonetheless, do you think that you could join me in this project in some kind of ways? For when I have particular questions? ------------------------- |
|
|
|
![]() |
|
I recently used pybind11 to create bindings between C++ and Python. It has a lot of templates and is fairly intuitive for the most part. It allows you to expose classes functions, access Python from C++ and other way around. I would definitely recommend looking at that rather than doing it by hand so to speak. |
|
|
|
![]() |
|
IMO, would be less work for you and would be better for us to just allow us to choose Keys.SendInput() or SendInput(), like the way it works currently? When the one doesn't work, I try the other. Maybe it's voodoo, but sometimes it helps. Might be better if both of those did the exact same things. Whatever... |
|
|
|
![]() |
|
! By defaultyour, Vocola now uses SendInput instead of SendDragonKeys to
send keystrokes. This should work better in most cases: SendInput is
immune to the character doubling/dropping bug, for example.
SendInput, however, does not work with UAC-elevated windows and may
have issues with some foreign-language keyboard settings.
Accordingly, you may now temporarily switch back to SendDragonKeys via
a voice command, add code in the the DragonProxy extension (see below)
to further translate keystrokes as needed, or simply delete the
DragonProxy extension to permanently switch back to using
SendDragonKeys.
More information on the different ways of sending keystrokes may be
found on the Vocola 2 website at
http://vocola.net/v2/SendingKeystrokes.asp.
! The following unofficial Vocola extensions have been made official,
and are now included in the Vocola 2 release:
Clipboard, Date, Env, Keys, Subprocess, Variable, and Vocola
! Python version 2.6 is no longer supported
* Vocola now supports a _Dragon proxy_, which is a special Vocola
extension that can intercept and change or redirect Vocola's calls to
Dragon. A starter version of the proxy is provided which can switch
back and forth between SendDragonKeys and SendInput for default
keystrokes as well as print out Dragon actions when verbose mode is
turned on.
* Vocola now prints an error if the user redefines an extension function
* A great deal of portability work has been done under the covers to
make Vocola 2 work with Python 3. Hopefully the next version will
support Python 3.
* Vocola 2 is being refactored to be more flexible. As part of this, it
is now possible to choose a backend dynamically at "compile time".
This is intended to be used for "cross-compilation" -- e.g., compiling
to Dragonfly or Advanced Scripting instead of NatLink directly.
Currently only NatLink and trivial echo backends are available.
This will hopefully be the last version that only works with Python
2. A combined installer that installs NatLink and this version of
Vocola will *not* be available -- the NatLink project is focusing instead on a
new version that works with Python 3. This plus some dependencies that
have crept in for the installer means that the install procedure for
Vocola is somewhat longer than I would like. See
http://vocola.net/v2/InstallVocola.asp for the installation
instructions.
- Mark
great work Mark thanks for doing this! I will try to install this sometime this week and see if I have any feedback for you.
Is the Dragon proxy similar to Vortex? Ie does allow access to the Dragon dictation buffers etc.? also with regards to re-factoring, this also sounds very interesting. It would be great if Vocola could output dragonfly and even talon files. Another suggestion would be to start adding known actions so that one could support cross-platform copy and paste, or Windows movement for example.
many thanks for keeping this project alive and current!
|
|
|
|
![]() |
|
Alexander wrote:
No, it's about interaction between Vocola and Dragon; it allows you to do things like change 1the handling of keystrokes or Dragon calls like PlaySound. It may also get used to
also with regards to re-factoring, this also sounds very interesting. It would be great if Vocola could output dragonfly and even talon files. Another suggestion would be to start adding known actions so that one could support cross-platform copy and paste, or Windows movement for example. |
|
|
|
![]() |
|
Alexander wrote: > Is the Dragon proxy similar to Vortex? Ie does allow access to the Dragon dictation buffers etc.? No, it's about the interaction between Vocola and Dragon; it allows you to do things like change the handling of keystrokes or Dragon calls like PlaySound. It may also get used to convert Dragon calls into say Dragonfly actions. It may also be useful for things like bridging Vocola running in a VM to controlling the outer machine.
> also with regards to re-factoring, this also sounds very interesting. It would be great if Vocola could output dragonfly and even talon files. Vocola 2.9 is going to support generating Dragonfly files; see https://www.knowbrainer.com/forums/forum/messageview.cfm?catid=25&threadid=36692&enterthread=y. Talon files may follow in time. |
|
|
|
![]() |
|
Mark, |
|
|
|
![]() |
|
Can you add the Alt (down/up) to Mark's Window.Go()? I would be THRILLED to have contributed a tiny grain of something to Mark's monumental works, with your help.
|
|
|
|
![]() |
|
I would be THRILLED to have contributed a tiny grain of something to Mark's monumental works, with your help.
I'm not sure if you're speaking to me or to Mark, but I do not have access to the official Vocola git repository so unfortunately I can't be of any help here. Maybe Quintjin could help? (I know Mark is very busy these days otherwise I'm sure he would reply) |
|
|
|
![]() |
|
Alexander wrote: > https://github.com/mdbridge/bit-bucket/blob/master/voice/Vocola_development/unofficial/vocola_ext_window_switching.py ( which I know is unofficial of course :-) ) has a conflict with Window.Success.
That's actually completely unofficial -- the officially unofficial extensions are at http://vocola.net/unofficial/extensions.html and don't include anything for Windows yet. :-)
That said, there is no Window extension in the Vocola release so I'm not sure where the conflict is. |
|
|
|
![]() |
|
* Vocola 2 is being refactored to be more flexible. As part of this, it
is now possible to choose a backend dynamically at "compile time".
This is intended to be used for "cross-compilation" -- e.g., compiling
to Dragonfly or Advanced Scripting instead of NatLink directly.
Currently only NatLink and trivial echo backends are available.
- Mark
Mark, do you have any guidance on how to add a new backend and also how to add a back end that runs concurrentlly? I have a Voocola system running inside of a Mac VM. I'm experimenting with a voice system on the host Mac, and would like to start outputting some voice commands there (which are derived from my Vocola scripts). I will probably dig around the code and see what I can figure out, but if you have any guidance that would be appreciated. Right now I will probably start with simple commands and hopefully several lists I have of folders and websites. The output format will either be csv or some form of toml/yaml.
|
|
|
|
![]() |
|
Alexander wrote: > Mark, do you have any guidance on how to add a new backend and also how to add a back end that runs concurrentlly? I have a Voocola system running inside of a Mac VM. I'm experimenting with a voice system on the host Mac, and would like to start outputting some voice commands there (which are derived from my Vocola scripts). I will probably dig around the code and see what I can figure out, but if you have any guidance that would be appreciated. Right now I will probably start with simple commands and hopefully several lists I have of folders and websites. The output format will either be csv or some form of toml/yaml.
I would start by trying to just get manually created commands working with whatever speech engine you're going to be using. Once you figure out how that works, you can talk to me about using the Vocola compiler to generate such commands for you. |
|
|
FuseTalk Standard Edition v4.0 - © 1999-2023 FuseTalk™ Inc. All rights reserved.