• Stars
    star
    1,346
  • Rank 33,564 (Top 0.7 %)
  • Language
    HTML
  • Created about 10 years ago
  • Updated about 6 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

🔈 Web Component wrapper to the Web Speech API, that allows you to do voice recognition and speech synthesis using Polymer

Published on Vaadin  Directory Stars on vaadin.com/directory

<voice-elements>

Web Component wrapper to the Web Speech API, that allows you to do voice recognition (speech to text) and speech synthesis (text to speech) using Polymer.

Demo

Check it live!

Install

Install the component using Bower:

$ bower install voice-elements --save

Or download as ZIP.

Usage

  1. Import Web Components' polyfill:

    <script src="bower_components/webcomponentsjs/webcomponents-lite.min.js"></script>
  2. Import Custom Element:

    <link rel="import" href="bower_components/voice-elements/dist/voice-player.html">
    <link rel="import" href="bower_components/voice-elements/dist/voice-recognition.html">
  3. Start using it!

    <voice-player></voice-player>
    <voice-recognition></voice-recognition>

<voice-player>

Provides you a simple DOM API to do speech synthesis (text to speech).

Options

Attribute Options Default Description
autoplay boolean false Specifies if the audio should play when page loads.
accent en-US, en-GB, es-ES, fr-FR, it-IT, de-DE, ja-JP, ko-KR, zh-CN en-US Specifies the language to be synthesized and spoken.
text string You are awesome Specifies the text to be synthesized and spoken.

Methods

Method Parameters Returns Description
speak() None. Nothing. Triggers the voice audio to be played.
cancel() None. Nothing. Triggers the voice audio to be canceled.
pause() None. Nothing. Triggers the voice audio to be paused.
resume() None. Nothing. Triggers the voice audio to be resumed.

Events

Event Description
onstart Triggers when the voice begun to be spoken.
onend Triggers when the voice completed to be spoken.
onerror Triggers when the voice player detects an error.
onpause Triggers when the voice player is resumed.
onresume Triggers when the voice player is resumed.

<voice-recognition>

Provides you a simple DOM API to do voice recognition (speech to text).

Options

Attribute Options Default Description
continuous boolean true Specifies if the recognition should continue when the user pauses while speaking.
text string Returns the recognized text.

Methods

Method Parameters Returns Description
start() None. Nothing. Starts the voice recognition.
stop() None. Nothing. Requests to recognition service to stop listening to more audio.
abort() None. Nothing. Requests to immediately stop listening and stop recognizing.

Events

Event Description
onstart Triggers when the recognition begins.
onerror Triggers when there's a recognition error.
onend Triggers when the recognition ends.
onresult Triggers when there's a recognition result.

Browser Support

Unfortunately, the Web Speech API still have a poor support. Check Can I Use for more information.

IE Chrome Firefox Opera Safari
None ✘ Latest None ✘ None ✘ Latest (<voice-player> only)

Development

In order to run it locally you'll need to fetch some dependencies and a basic server setup.

  1. Install Bower & Grunt:

    $ [sudo] npm install -g bower grunt-cli
  2. Install local dependencies:

    $ bower install && npm install
  3. To test your project, start the development server and open http://localhost:8000.

    $ grunt server
  4. To build the distribution files before releasing a new version.

    $ grunt build
  5. To provide a live demo, send everything to gh-pages branch.

    $ grunt deploy

Contributing

  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -m 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request :D

History

For detailed changelog, check Releases.

License

MIT License © Zeno Rocha

More Repositories

1

clipboard.js

✂️ Modern copy to clipboard. No Flash. Just 3kb gzipped 📋
JavaScript
33,743
star
2

alfred-workflows

🤘 A collection of Alfred 3 and 4 workflows that will rock your world
12,272
star
3

browser-diet

🍟 The definitive front-end performance guide
CSS
2,209
star
4

codecopy

A browser extension that adds copy to clipboard buttons on every code block
JavaScript
999
star
5

sublime-javascript-snippets

JavaScript & NodeJS Snippets for Sublime Text 2/3
JavaScript
465
star
6

zenorocha.com

My personal website ❤️
JavaScript
367
star
7

jquery-github

A jQuery plugin to display your Github Repositories
JavaScript
276
star
8

diveintohtml5

A portuguese translation of Dive Into HTML5 online book
HTML
200
star
9

delegate

Lightweight event delegation
JavaScript
183
star
10

atom-javascript-snippets

JavaScript & NodeJS Snippets for Atom Editor
168
star
11

select

Programmatically select the text of a HTML element
JavaScript
163
star
12

generator-firefox-os

Yeoman generator for Firefox OS apps
JavaScript
147
star
13

good-listener

A more versatile way of adding & removing event listeners
JavaScript
142
star
14

browser-calories

🍰 The easiest way to measure your performance budget
JavaScript
131
star
15

wormz

HTML5 Canvas Experiment featured in Chrome Experiments
JavaScript
113
star
16

my-coding-style

My own coding conventions for JavaScript development ⚡
77
star
17

ama

💬 Ask me anything!
71
star
18

sublime-preferences

The whole list of plugins, snippets and settings that I use on Sublime Text
60
star
19

14habits.com

The source code of 14habits.com
JavaScript
46
star
20

avatar-elements

Under construction 🚧 Avatars made easy with Web Components
JavaScript
35
star
21

document.queryCommandSupported

Polyfill for document.queryCommandSupported that fixes known bugs on Gecko and Blink
JavaScript
31
star
22

HTML5-Canvas

HTML5 tutorial about Canvas + Three.js
JavaScript
27
star
23

dracula-theme

HTML
24
star
24

talks

Slides (and more) from my presentations
JavaScript
22
star
25

old-dotfiles

My OS X dotfiles.
Shell
17
star
26

Estudos-Java

Resolução de exercícios por Zeno Rocha da matéria de Projeto e Construções de Sistemas, lecionada pelo professor Alexandre Correa na Universidade Federal do Estado de Rio de Janeiro.
Java
16
star
27

browser-calories-api

🍦 Microservice that fetches Web Performance metrics
JavaScript
15
star
28

HTML5-Local-Storage

HTML5 tutorial about the Web Storage API - http://goo.gl/ZDsdz
JavaScript
12
star
29

zenorocha

10
star
30

mintlify-emails

💌 Mintlify Emails
TypeScript
10
star
31

wedeploy-ui

🎨 The new set of UI components behind WeDeploy.com, Console, and Admin
CSS
8
star
32

infisical-emails

💌 Infisical Emails
JavaScript
8
star
33

bytetalk

JavaScript
7
star
34

booth-emails

💌 Booth.ai Emails
TypeScript
6
star
35

HTML5-Script

HTML5 demo testing async atributte on script tag
5
star
36

outerbase-emails

💌 Outerbase emails
TypeScript
4
star
37

sante-emails

TypeScript
4
star
38

web-log

My online trail
3
star
39

infinia-emails

💌 Infinia Emails
TypeScript
3
star
40

spawn-local-bin

A child_process.spawn wrapper that inherits stdio and adds local bin's to the process.env path
JavaScript
3
star
41

react-email-docs

2
star
42

zenorocha.github.io

CSS
2
star
43

wedocs

Documentation for WeDeploy
2
star
44

railway-emails

TypeScript
2
star
45

resend-ruby-example

This example shows how to use Resend with Ruby
Ruby
1
star
46

liferay-learn-old

HTML
1
star
47

compound-emails

TypeScript
1
star
48

liveblocks-emails

TypeScript
1
star
49

max-emails

TypeScript
1
star