This is a simple WebExtension that adds support to use Speech To Text as an input method in web pages.
Install the web-ext
npm module: npm install --global web-ext
and
run web-ext run
from the extension
subdirectory.
A WebExtension To Add Speech To Text Support to Web Pages
License: Mozilla Public License 2.0
[Affected versions]:
[Affected Platforms]:
[Prerequisites]:
[Steps to reproduce]:
[Expected result]:
[Actual results]:
[Notes]:
When saving the voice sample:
/cc @eleemoz @johngruen
@andrenatal : Can you sketch a diagram of how this works? Kaldi can probably save a sample, but we need to do a separate ping for what was submitted? let's talk! Doesn't need to be a diagram necessarily, just need a plan for this.
[Affected versions]:
[Affected Platforms]:
[Prerequisites]:
[Steps to reproduce]:
[Expected result]:
[Actual results]:
[Notes]:
[Notes]:
[Affected versions]:
[Affected Platforms]:
[Prerequisites]:
[Steps to reproduce]:
[Expected result]:
[Actual result]:
[Additional notes]:
I'll take this one. We need to add a checklist to confirm all UI implementation
We don't want to run code or display the microphone on sites that aren't served over SSL
[Affected versions]:
[Affected Platforms]:
[Prerequisites]:
[Steps to reproduce]:
[Expected result]:
[Actual results]:
[Notes]:
Implemen Voice Fill on Google, DDG, Yahoo
[Affected versions]:
[Affected Platforms]:
[Prerequisites]:
[Steps to reproduce]:
[Expected result]:
[Actual results]:
[Notes]:
$ git rev-parse --short HEAD # 28cc402
npm run build
npm run once
I don't seem to be able to click the speak-to-me icon in the text input field in order to grant microphone access and do a voice search.
Able to search by voice.
Looks like a potential scoping issue w/ SpeakToMeVad
. I think it's defined in an IIFE, but then accessed later outside of that scope in some module code.
Slightly modified npm run lint:js
output is as follows (minus the no-console
warnings):
$ npm run lint:js
> [email protected] lint:js /Users/pdehaan/dev/github/mozilla/speaktome
> eslint extension
/Users/pdehaan/dev/github/mozilla/speaktome/extension/content.js
101:5 warning Unexpected 'todo' comment no-warning-comments
142:1 warning Unexpected 'todo' comment no-warning-comments
177:18 error Expected '!==' and instead saw '!=' eqeqeq
181:17 error Expected '!==' and instead saw '!=' eqeqeq
285:37 error Expected '===' and instead saw '==' eqeqeq
298:33 error Expected '===' and instead saw '==' eqeqeq
318:58 error Expected '!==' and instead saw '!=' eqeqeq
323:21 error Expected '===' and instead saw '==' eqeqeq
324:9 warning Unexpected 'todo' comment no-warning-comments
349:1 error 'SpeakToMeVad' is not defined no-undef
427:25 error Expected '===' and instead saw '==' eqeqeq
498:5 warning Unexpected 'todo' comment no-warning-comments
508:19 error 'SpeakToMeVad' is not defined no-undef
โ 13 problems (9 errors, 4 warnings)
Ref: #22
[Affected versions]:
[Affected Platforms]:
[Prerequisites]:
[Steps to reproduce]:
[Expected result]:
3. The microphone button is displayed inside the search input.
5. The microphone button remains inside the search box and the content area is correctly displayed.
[Actual results]:
3. The microphone button is not displayed inside the search input.
5. The microphone button can be observed under the toolbar's search input, over the website's content area.
[Notes]:
[Notes]:
[Affected versions]:
[Affected Platforms]:
[Prerequisites]:
[Steps to reproduce]:
[Expected result]:
[Actual result]:
[Additional notes]:
[Affected versions]:
[Affected Platforms]:
[Prerequisites]:
[Steps to reproduce]:
[Expected result]:
[Actual results]:
[Notes]:
I think i kinda messed up a few of the required buttons. I'll dive into that code tomorrow!
[Affected versions]:
[Affected Platforms]:
[Prerequisites]:
[Steps to reproduce]:
[Expected result]:
[Actual results]:
[Notes]:
We're talking about having Stage available on July 11th for load testing. This is a really tight squeeze for launching on July 18th. This issue is to track load testing.
@fangshih, we need to provide the team with an animation spec for speak to me. Let's touch base tomorrow to see how best to convert your ideas into code.
You can detect this in a background page by inspecting navigator.doNotTrack
.
[Affected versions]:
[Affected Platforms]:
[Prerequisites]:
[Steps to reproduce]:
[Expected result]:
[Actual results]:
[Notes]:
How would we test this from the CLI (for load testing)?
I found this fetch()
call which seems to POST a blob to the stage server.
Is there an easy we can capture some Blobs from the client side (or somewhere) so we can send them through to the proxy server to get us started w/ the load testing?
Once we have this working from the CLI, it should hopefully be "easy" to convert to a Python script and then run it at scale on AWS to do some load testing on the proxy server to see how many incoming connections/blobs it can process before ๐ฅ.
$ git rev-parse --short HEAD # 28cc402
Looks like the npm run build
fails if the extension is already built at ./web-ext-artifacts/.
We should either remove that directory prior to running npm run build
(using rm -rf
, or rimraf
module), or apparently just add the --overwrite-dest
flag on web-ext build -s extension
:
$ npm run build
> [email protected] build /Users/pdehaan/dev/github/mozilla/speaktome
> web-ext build -s extension
Building web extension from /Users/pdehaan/dev/github/mozilla/speaktome/extension
build: UsageError: Extension exists at the destination path: /Users/pdehaan/dev/github/mozilla/speaktome/web-ext-artifacts/speak-to-me-1.0.zip
Use --overwrite-dest to enable overwriting.
[Affected versions]:
[Affected Platforms]:
[Prerequisites]:
[Steps to reproduce]:
[Expected result]:
[Actual result]:
[Notes]:
@oremj is working on a solution to this
Meaning, disable functionality within frames
We need to make this repository match the spec at https://github.com/mozilla/testpilot/blob/master/docs/development/hosting.md
@relud to add this repository to the watcher
I think these can be set in nginx, so I'm ccing @jasonthomas
I don't have recommendations for values here.
Add a voice control button to about:newtab and about:home page search boxes.
This button should have the following features:
Please review the Main Interface view for UI measurements:
https://www.dropbox.com/sh/iy20ednfyxhsj3l/AACABj4tCdqMySL6UDUqNxlKa?dl=0
note: you may have to download the Dropbox folder to see the measurement spec, we're working on a hosted solution
[Affected versions]:
[Affected Platforms]:
[Prerequisites]:
[Steps to reproduce]:
[Expected result]:
[Actual results]:
[Notes]:
[Affected versions]:
[Affected Platforms]:
[Prerequisites]:
[Steps to reproduce]:
[Expected result]:
[Actual results]:
[Notes]:
[Notes]:
[Affected versions]:
[Affected Platforms]:
[Prerequisites]:
[Steps to reproduce]:
[Expected result]:
[Actual result]:
[Additional notes]:
according to the rfc, it's 0x4F70757348656164 ("OpusHead")
The build is broken right now because https://github.com/mozilla/speaktome/blob/master/.travis.yml#L8 and line 13 both have a version number in the file name but the version is increasing
[Affected versions]:
[Affected Platforms]:
[Prerequisites]:
[Steps to reproduce]:
[Expected result]:
[Actual results]:
[Notes]:
The updateURL will be:
https://testpilot.firefox.com/files/%ID%/updates.json
With the %ID% being the ID of the add-on
[Affected versions]:
[Affected Platforms]:
[Prerequisites]:
[Steps to reproduce]:
[Expected result]:
[Actual results]:
[Affected versions]:
[Affected Platforms]:
[Prerequisites]:
[Steps to reproduce]:
[Expected result]:
[Actual result]:
[Additional notes]:
In case the server responds status code > 500, or when the response is not a json, and etc.. we should fail gracefully an display an error message.
See #16 for full set of criteria
For measurements, please review the view for UI measurements:
https://www.dropbox.com/sh/iy20ednfyxhsj3l/AACABj4tCdqMySL6UDUqNxlKa?dl=0
note: you may have to download the Dropbox folder to see the measurement spec, we're working on a hosted solution
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.