t4ngo / dragonfly

ARCHIVED! - Speech recognition framework allowing powerful Python-based scripting and extension of Dragon NaturallySpeaking (DNS) and Windows Speech Recognition (WSR)
GNU Lesser General Public License v3.0
364 stars 82 forks source link

Installing #43

Open Voxellence opened 9 years ago

Voxellence commented 9 years ago

I have never quite understood the best way to install Dragonfly. Even downloading from GitHub leaves me feeling retarded. The fact that there is only one release dated dated 2009 with a version number of 0.6.4 and yet my own installation downloaded from Google over a year ago is versioned at 0.6.6b1, and then somehow updates are being made and there is no new version. I'm guessing the commits have something to do with this, but I'll be damned if I know what's going on. I'm completely confused and stupid about this. I love Dragonfly/NatLink the way I love the ocean. I'm in there swimming, getting beat up, swallowing water, trying to improve my skills enough not to drown.

My own installation I managed to accomplish using pip, but I have no understanding of how it works. I suspect that the installation mechanics are quite simple, and yet I'm not sure. From some research today I am gathering that Python loads C:\Python2.7\Lib\site.py which then somehow loads Dragonfly perhaps in the addsitepackages(known_paths) method. I dunno.

I would like to use virtualenv to have multiple installations of Dragonfly that are switchable, but I haven't a clue how to get into that without wasting hours and hours of time.

Even Dragonfly itself remains largely a mystery to me. A year or so ago I did some experiments trying to understand its inner workings. I went in and modified a few things to help my understanding, but overall it's still largely a mystery. Most people just take the examples and roll with it. However, Christo has apparently created much more than almost anyone knows how to utilize. Take, for example, the testing classes. The few existing examples are just enough to be interesting, but not enough to accomplish anything. It's like going to a strip club: interesting, but ultimately nothing but a tease.

Voxellence commented 9 years ago

Well, it's over three months later. I had hoped Mr. Butcher would chime in and maybe address this or offer to help, but my above statements were only ignored. If you are reading this, Mr. Butcher, I'm imploring you to document your excellent tool more thoroughly, or at least explain to the world why you don't think it's worth your time to do so. There appear to be a lot of hidden gems inside your framework, and yet it seems that no one other than you and your close associates have enough knowledge to step outside the basic examples. I've perused other people's libraries of macros built upon Dragonfly, and I really haven't seen anything that uses anywhere near all of its capabilities.

I see people on VoiceCoder@yahoogroups.com talking about coding by voice, various solutions being used, oftentimes Vocola since its creator, as well as the creator of UniMacro, frequent that list. I've seen enough, though, in my own lame experimentations with using your base classes versus your parsing engine to cause me to believe that Dragonfly is superior in its capability to anything else that I've seen, or at least equivalent. It seems to be able to do what is known as "continuous command recognition" (through its superb exploitation of NatLink) quite well, and it seems to me that people are missing out on something that could blow away a lot of other tools that are being used for coding as well as other purposes.

synkarius commented 9 years ago

You should ask a specific question.

Voxellence commented 9 years ago

Apparently I will have to do exactly that. What I was really looking for when I started this ramble, though, was more of an overview of the different categories of classes, low-level versus those which do high-level parsing, how to use the classes which are entirely undocumented, how to use the testing framework (which I have found to be of no use at all in my experimentations, probably because I don't understand how to make it useful), etc. Analyzing a framework is a time-intensive task, especially when you're not quite sure what the structural ideology of Dragonfly really is.

I'm not doing this to be a complainer. I very much admire the work done by Mr. Butcher. However, I feel that the failure to document it more fully has caused it to be far underutilized. I've read some exchanges between him and people like Hoogenboom, I believe, and I can understand why he would blow off attempts at public promotion and just go on using it for his own purposes, especially since Nuance really probably doesn't give a rat's ass about NatLink anyway.