All Projects → hackingbeauty → React Mic

hackingbeauty / React Mic

Record audio from a user's microphone and display a cool visualization.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to React Mic

QuietVR
A Quiet Place in VR: Generate any 3D object with your voice. It's magic!
Stars: ✭ 17 (-94.74%)
Mutual labels:  voice, audio-visualizer, voice-recognition
Voice Overlay Ios
🗣 An overlay that gets your user’s voice permission and input as text in a customizable UI
Stars: ✭ 440 (+36.22%)
Mutual labels:  speech-to-text, voice-recognition, voice
Voice Overlay Android
🗣 An overlay that gets your user’s voice permission and input as text in a customizable UI
Stars: ✭ 189 (-41.49%)
Mutual labels:  speech-to-text, voice-recognition, voice
AmazonSpeechTranslator
End-to-end Solution for Speech Recognition, Text Translation, and Text-to-Speech for iOS using Amazon Translate and Amazon Polly as AWS Machine Learning managed services.
Stars: ✭ 50 (-84.52%)
Mutual labels:  voice-recognition, speech-to-text
octopus
On-device speech-to-index engine powered by deep learning.
Stars: ✭ 30 (-90.71%)
Mutual labels:  voice-recognition, speech-to-text
KeenASR-Android-PoC
A proof-of-concept app using KeenASR SDK on Android. WE ARE HIRING: https://keenresearch.com/careers.html
Stars: ✭ 21 (-93.5%)
Mutual labels:  voice-recognition, speech-to-text
react-native-spokestack
Spokestack: give your React Native app a voice interface!
Stars: ✭ 53 (-83.59%)
Mutual labels:  voice-recognition, speech-to-text
assister
Private Open General Assistant Platform
Stars: ✭ 42 (-87%)
Mutual labels:  voice, voice-recognition
voice gender detection
♂️♀️ Detect a person's gender from a voice file (90.7% +/- 1.3% accuracy).
Stars: ✭ 51 (-84.21%)
Mutual labels:  voice, voice-recognition
RecPlayer-iOS
A simple iOS application that records audio and plays it back. (+some animations)
Stars: ✭ 21 (-93.5%)
Mutual labels:  audio-visualizer, microphone
figaro
Real-time voice-changer for voice-chat, etc. Will support many different voice-filters and features in the future. 🎵
Stars: ✭ 362 (+12.07%)
Mutual labels:  voice, microphone
picovoice
The end-to-end platform for building voice products at scale
Stars: ✭ 316 (-2.17%)
Mutual labels:  voice, voice-recognition
brasiltts
Brasil TTS é um conjunto de sintetizadores de voz, em português do Brasil, que lê telas para portadores de deficiência visual. Transforma texto em áudio, permitindo que pessoas cegas ou com baixa visão tenham acesso ao conteúdo exibido na tela. Embora o principal público-alvo de sistemas de conversão texto-fala – como o Brasil TTS – seja formado…
Stars: ✭ 34 (-89.47%)
Mutual labels:  voice, voice-recognition
speaker.app
Source code for https://speaker.app, a batteries-included, web-based, quasi-decentralized, WebRTC networking platform, with a primary focus on audio and screen-sharing, and a secondary focus on chat messages and peripheral features.
Stars: ✭ 26 (-91.95%)
Mutual labels:  voice, microphone
web-voice-processor
A library for real-time voice processing in web browsers
Stars: ✭ 69 (-78.64%)
Mutual labels:  microphone, speech-to-text
spokestack-ios
Spokestack: give your iOS app a voice interface!
Stars: ✭ 27 (-91.64%)
Mutual labels:  voice-recognition, speech-to-text
voce-browser
Voice Controlled Chromium Web Browser
Stars: ✭ 34 (-89.47%)
Mutual labels:  voice-recognition, speech-to-text
spokestack-android
Extensible Android mobile voice framework: wakeword, ASR, NLU, and TTS. Easily add voice to any Android app!
Stars: ✭ 52 (-83.9%)
Mutual labels:  voice, voice-recognition
anycontrol
Voice control for your websites and applications
Stars: ✭ 53 (-83.59%)
Mutual labels:  voice, speech-to-text
leopard
On-device speech-to-text engine powered by deep learning
Stars: ✭ 354 (+9.6%)
Mutual labels:  voice-recognition, speech-to-text

ATTENTION Machine Learning Engineres, Data Scientists, & AI Developers using speech-recognition technologies. Learn how to develop applications that capture voice on any device here!

React-Mic

Record a user's voice and display as an oscillation (or frequency bars). Plug-n-play component for React apps.

Audio is saved as WebM audio file format. Works via the HTML5 MediaRecorder API (currently only available in Chrome & Firefox).

Create a FREE account in the React-Mic member's area to see how to integrate, configure, and style React-Mic in a professional React.js application.

PLEASE NOTE: The WebM audio format is not supported in Safari browsers (including Safari on iOS). You need to save an audio recording as an MP3 or WAV file in order to get full cross-browser and cross-device support.

You can do that with the premium enhancement of this component called React-Mic-Gold.

Companies that develop speech-recognition apps, voice-activated software, call center software, apps that require audio recording features, or language-learning products all use React-Mic-Gold.

Installation

npm install --save react-mic

yarn add react-mic

Demos

Check out the simple React-Mic demo.

Features

  • Record audio from microphone
  • Display sound wave as voice is being recorded
  • Save audio as BLOB

License

MIT

Usage

<ReactMic
  record={boolean}         // defaults -> false.  Set to true to begin recording
  pause={boolean}          // defaults -> false (available in React-Mic-Gold)
  visualSetting="sinewave" // defaults -> "sinewave".  Other option is "frequencyBars"
  className={string}       // provide css class name
  onStop={function}        // required - called when audio stops recording
  onData={function}        // optional - called when chunk of audio data is available
  onBlock={function}       // optional - called if user selected "block" when prompted to allow microphone access (available in React-Mic-Gold)
  strokeColor={string}     // sinewave or frequency bar color
  backgroundColor={string} // background color
  mimeType="audio/webm"     // defaults -> "audio/webm".  Set to "audio/wav" for WAV or "audio/mp3" for MP3 audio format (available in React-Mic-Gold)
  echoCancellation={boolean} // defaults -> false
  autoGainControl={boolean}  // defaults -> false
  noiseSuppression={boolean} // defaults -> false
  channelCount={number}     // defaults -> 2 (stereo).  Specify 1 for mono.
  bitRate={256000}          // defaults -> 128000 (128kbps).  React-Mic-Gold only.
  sampleRate={96000}        // defaults -> 44100 (44.1 kHz).  It accepts values only in range: 22050 to 96000 (available in React-Mic-Gold)
  timeSlice={3000}          // defaults -> 4000 milliseconds.  The interval at which captured audio is returned to onData callback (available in React-Mic-Gold).
/>

Example

The code snippet below is just a quick example of how to use React-Mic. To see how to integrate React-Mic into a real application, join the React-Mic private member's area for a complete tutorial.

import { ReactMic } from 'react-mic';

export class Example extends React.Component {
  constructor(props) {
    super(props);
    this.state = {
      record: false
    }
  }

  startRecording = () => {
    this.setState({ record: true });
  }

  stopRecording = () => {
    this.setState({ record: false });
  }

  onData(recordedBlob) {
    console.log('chunk of real-time data is: ', recordedBlob);
  }

  onStop(recordedBlob) {
    console.log('recordedBlob is: ', recordedBlob);
  }

  render() {
    return (
      <div>
        <ReactMic
          record={this.state.record}
          className="sound-wave"
          onStop={this.onStop}
          onData={this.onData}
          strokeColor="#000000"
          backgroundColor="#FF4081" />
        <button onClick={this.startRecording} type="button">Start</button>
        <button onClick={this.stopRecording} type="button">Stop</button>
      </div>
    );
  }
}

React-Mic-Gold

Voice Record Pro

Get your copy of React-Mic-Gold, the premium enhanced version of React-Mic here.

React-Mic-Gold lets you record audio as either MP3 or WAV files. The MP3 audio file format is super compressed which will result in small file sizes, and is widely supported across all devices. The WAV audio file format is uncompressed and is used when you need professional quality audio; however, the file size is significantly larger.

React-Mic-Gold is built with WebAssembly and Web Workers. The MP3/WAV encoding process takes place in the browser using WebAssembly which makes it super fast. Via Web Workers, the encoding process occurs in a separate thread in the browser so the performance of your UI won't be affected.

There's no need to set up a separate backend endpoint to convert captured voice/audio into MP3 or WAV. It all happens in the browser.

Plus, you can stream MP3/WAV to any endpoint as voice/audio is being captured via the onData callback.

Demos

Check out the simple demo of React-Mic-Gold in action here.

Also, check out React-Mic-Gold integrated into an actual app here.

Details

In React-Mic-Gold, encoding of recorded audio into MP3 format happens in the browser, via a combination of advanced Web technologies (Web Workers and Web Assembly).

You won't have to continuously stream audio data to your back-end server or API endpoint to convert captured audio into an MP3 file. Althought you can if you want to.

React-Mic-Gold also comes with an optional pause feature and additional premium enhancements.

   

React-Mic-Plus

If you need a version of this React component that only supports the WAV audio format on every device (iOS + Android), you can purchase React-Mic-Plus.

React-Mic-Plus also comes with an optional pause feature and additional premium enhancements.

PLEASE NOTE: Apple does not allow audio recording from the Chrome browser on Iphone/iOS. To record audio from a web application on an Iphone, a user must use the Safari browser. There is no way around this.

   

Get Support

Join the Slack channel if you have any questions or problems with React-Mic or React-Sound-Gold. I'm here to help you build amazing apps with audio recording capabilities.

Customers of React-Mic-Gold and associated products develop audio recording apps, voice-activated apps, speech recognition apps, language learning apps, and much more.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].