Here's a programming tutorial on how to add an offline voice interface to a cross-platform .NET desktop app.