Skip to content

flancast90/Speech-To-Text-in-TW5

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 

Repository files navigation

Speech-to-text-in-TW5

License Badge release Repo size

First Things First, Browser Support

The Speech-to-Text TW5 plugin works best in Chrome/Chromium environments, as well as in a Node.js TW in run in these same browsers. While still supported, optimal results cannot be guarunteed in iOS's Safari, Samsung Internet, or other mobile apps. Unfortunately, due to lack-of-API support, FireFox and Internet Explorer are not yet supported.


Summary

Speech-to-Text-in-TW5, as the name implies, is a cutting-edge plugin for Jermolene's TiddlyWiki5. The plugin adds the ability to create Tiddlers from just your computer microphone and voice! The speech-to-text plugin is also being updated all the time. Here are the release notes for each release so far, as well as what is planned for later updates!


Releases/Version History

Coming Soon!
  • Activate Plugin from Editor Toolbar!
  • various bug fixes and optimisation
v1.0.5
  • Custom Verbal Commands: define command word and action!
  • Better UI: minor edits for after recording stopped with command
  • Language auto-detection: language defaults to whatever language TW is in!
  • language switch: change plugin language with TW built-in-languages
v1.0.4
  • Support for language change
  • Verbal commands, starting with "command"
  • Safari on iOS support tested
v1.0.3
  • Keyboard shortcut! Alt+Shift+R to start recording!
v1.0.2
  • BUG FIXES: plugin no longer stops listening after pause.
v1.0.1
  • Code Cleanup and minor UI edits.
v1.0.0
  • Minimal Implementation. First Release!

Install

Browser
  1. Install an empty.html from tiddlywiki.com, or use your own existing TiddlyWiki

  2. Go to speech-to-text.finnsoftware.net, the plugin homepage

  3. In the Installation tiddler of the speech-to-text plugin page, drag the "Speech-to-text: Speech to Text for TW5" plugin box into your open empty.html instance, or open existing TiddlyWiki. You now have the plugin! 🎉
Node.js
  1. Install Node.js and NPM (Node Package Manager) from these instructions

  2. In your terminal, type: npm install -g tiddlywiki

  3. In your terminal again, create a new wiki with tiddlywiki mynewwiki --init server

  4. Then, cd to myneweiki, and open the ``tiddlywiki.info`` file there. Insert the lines ``"Speech-To-Text-in-TW5/plugins/speech-to-text"`` inside the "plugins: [`` section.
  5. OPTIONAL: you may want to tell TiddlyWiki where the plugin will be found so you can store it in any folder. To do so, type export TIDDLYWIKI_PLUGIN_PATH="$HOME/location_of_plugin"
  6. You then can install the latest version of the plugin via This Link as either a .zip or .tar.gz. *Make sure you extract the files to the location you specified in the last step!

  7. That's it! 🎉 Launch your new wiki with the plugin using tiddlywiki mynewwiki --listen

Getting Started

The Speech-to-Text plugin for TW5 is near limitless in applications in TiddlyWiki. Just like Google Docs already supports, the plugin adds a button to the wiki sidebar so that you can speak into the Mic, and get a transcript of your conversation as a TiddlyWiki Tiddler!

Starting the Plugin to Record

To test it out, follow the install instructions above, or just test out a demo version at speech-to-text.finnsoftware.net. Once loaded, you should see a Microphone button on the wiki sidebar. Click it, and when you see a "Recording Started", you know that it is listening. For any questions, refer to the image below:

Recording Started


Stopping the Plugin from Recording

To stop the plugin, you can click the Mic icon on the wiki sidebar again, or, since >= v1.0.4, you can say "Ok Wiki, stop listening". You will get a message that the "Recording Stopped", and the transcript will be added to a new Tiddler (see image).

Recording stopped


Verbal Commands (v1.0.4 +)

Since version 1.0.4, Speech-to-Text-for-TW5 has supported some kind of verbal command. These are keywords/phrases that can be spoken into the Mic when the plugin is running, to complete some action.

For example, by saying "Ok wiki, stop listening", you can end the listening, the same action that would be taken by clicking the Mic button again. From v1.0.5, user-defined custom commands and keywords are supported. That means you could refactor the command process to understand different words; For example,

"Ok Wiki" could be "Pasta Macaroni", and the word "Tiddler" could now create a new Tiddler in the Wiki instance

It should be noted that the verbal commands are not perfect: the plugin can always misunderstand a word, which will lead to commands not being recognized. At this time, the devs are working on a Dictionary of "sound-alike" words, so that even if the command is misunderstood, it has a higher chance of being recognized. You can help in this effort by logging failed commands, and the word that was misunderstood, and then sending this information to the devs in the form of a New Issue. Thank You!

Note: There is currently a limitation on plugin command-words in that they cannot be the same as the keywords (eg OK Wiki or custom keywords)


License

Copyright 2021 Finn Lancaster, Simon Huber, TonyM, collaborators, and the TiddlyWiki Community

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

End license text.