Category archives: Snaking
Discussions of programming, particularly of programming Python
First-Light on Dictating Code into Eric
Written by
on
in
Snaking,
Tuxedo.
So as of earlier this evening I've now got the Listener service hooked up such that I can dictate code into Eric (via an Eric Plug-in talking to the service over DBus). There's still an enormous amount that doesn't work. But that first-light moment has made me rather happy; instead of a collection of little ...
Aw, come-on QtDBus, just work already
Written by
on
in
Snaking,
Tuxedo.
[Update] I got it working by going down to the "connection" level and registering the callback there. The code below is updated with the working version... as of now I've got some basic "voice coding" possible, but lots more to do to make it practical and useful.
Plowing ahead with integrating Listener into Eric (my ...
Interpretation of Dictation
Written by
on
in
Snaking,
Tuxedo.
Sometimes as you're developing a project it's easy to lose site of the end goal. I've spent so long on giving Listener context setup, code-to-speech converters, etc. that the actual point of the whole thing (i.e. letting you dictate text into an editor) hasn't actually been built. Today I started on that a bit more. ...
Using GStreamer AppSink from Python
Written by
on
in
Snaking.
So I decided to play a bit with how to get raw audio samples from gstreamer pipelines. This is normally done (in C or whatever) with an `appsink` element in your gstreamer pipeline. You hook up the pipeline, watch for the buffer, and then you can map it into a Numpy buffer (or whatever you ...
Python-dbus needs some non-trivial examples
Written by
on
in
Snaking,
Tuxedo.
So I got tired of paying work this afternoon and decided I would work on getting a dbus service started for Listener. The idea here is that there will be a DBus service which does all the context management, microphone setup, playback, etc and client software (such as the main GUI and apps that want ...
Seem to need hidden-markov-models for text extraction...
Written by
on
in
Snaking,
Tuxedo.
So in order to "seed" listener with text-as-it-would-be-spoken for coding, I've built up a tokenizer that will parse through a file and attempt to produce a model of what would have been said to dictate that text. The idea being that we want to generate a few hundred megabytes of sample statements that can then ...
Project-to-language model almost working
Written by
on
in
Snaking,
Tuxedo.
So at this point Listener can generate a language model from a (Python) project and the dictation results from that are reasonable, but by no means perfect, still, you can dictate text as long as you stick to the words and statements already used in the project. There are some obvious reworks now showing up: ...
Automatic Language Model Creation Started
Written by
on
in
Snaking,
Tuxedo.
Since the point of Listener is to allow for coding, the language model needs to reflect how one would dictate code. Further, to get reasonable accuracy I'm hoping to tightly focus the language models so that your language model for project X reflects the identifiers (and operators, etc) you are using in that project. To ...
Create your own virtual keyboard with Python
Written by
on
in
Snaking,
Tuxedo.
So at some point I need the voice dictation client to be able to do basic interactions with applications on the desktop (think typing text and the like). So how do I go about doing that? I want to be compatible with Wayland when it shows up, but still work on X (since that's where ...
Listener is Crawling Forward
Written by
on
in
Snaking,
Tuxedo.
I spent the day working on Listener. The bulk of the work was just cleanup, getting TODO items set up, fixing the setup script, etc. The actual task of voice dictation didn't get moved very far (I got a trivial "correct that") event working, but it doesn't actually make anything happen.
I also started ...