opus-recorder VS react-xr

Compare opus-recorder vs react-xr and see what are their differences.

opus-recorder

A library for encoding and decoding web audio as OggOpus. (by chris-rudmin)

react-xr

๐Ÿคณ VR/AR with react-three-fiber (by pmndrs)
Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
opus-recorder react-xr
2 12
936 1,922
- 2.8%
0.0 6.4
about 1 year ago 3 months ago
JavaScript TypeScript
GNU General Public License v3.0 or later MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

opus-recorder

Posts with mentions or reviews of opus-recorder. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-02-01.
  • Push Notifications, WebXR, and better PWA support coming to iOS
    2 projects | news.ycombinator.com | 1 Feb 2022
    In the end, I went with this library for now: https://github.com/chris-rudmin/opus-recorder

    There are issues reported with the latest iOS, though.

  • Flask breaks webpage
    1 project | /r/flask | 4 Aug 2021
    // size of one wav in ms var PACKAGESIZE = 175; // offset proportion for delay from recders ( if .5 recoder2 starts at the midlle of recorder1) var OFFSETRATIO = 0.99; var BRIDGERATIO = 0.05; // audio streamer implementation using https://github.com/chris-rudmin/opus-recorder to record audio data and convert to real 16bit pcm mono wav file // sending wav to flask server using post via ajax blob post function screenLogger(text, data) { log.innerHTML += "\n" + text + " " + (data || ''); // console.log(text); } var recorder = new Recorder({ monitorGain: 0, recordingGain: 1, numberOfChannels: 1, wavBitDepth: 16, encoderPath: "../static/dist/waveWorker.min.js" }); // function startRecording(){recorder.start();console.log("started recording");} document.getElementById("startRecording").addEventListener("click", function(){recorder.start();console.log("start");}); //#region recorder1 recorder.onstart = function(){ screenLogger('Recorder is started'); setTimeout(function(){recorder.stop();},PACKAGESIZE); }; recorder.onstop = function(){ screenLogger('Recorder is stopped'); recorder.start(); }; recorder.onstreamerror = function(e){ screenLogger('Error encountered: ' + e.message ); }; recorder.ondataavailable = function( typedArray ){ console.log(recorder.encodedSamplePosition); console.log("data available"); var dataBlob = new Blob( [typedArray], { type: 'audio/wav' } ); var form = new FormData(); form.append('file', dataBlob, "fileName"); form.append('title', "fileName2"); $.ajax({ type: 'POST', url: 'http://127.0.0.1:5000/send', crossDomain: true, data: form, cache: false, processData: false, contentType: false }).done(function(data,status) { console.log(data,status); screenLogger("result:",data); }); var fileName = new Date().toISOString() + ".wav"; var url = URL.createObjectURL( dataBlob ); var audio = document.createElement('audio'); audio.controls = true; audio.src = url; var link = document.createElement('a'); link.href = url; link.download = fileName; link.innerHTML = link.download; var li = document.createElement('li'); li.appendChild(link); li.appendChild(audio); recordingslist.appendChild(li); }; //#endregion //#region recoder2 var recorder2 = new Recorder({ monitorGain: 0, recordingGain: 1, numberOfChannels: 1, wavBitDepth: 16, encoderPath: "../static/dist/waveWorker.min.js" }); recorder2.onstart = function(){ screenLogger('Recorder 2 is started'); setTimeout(function(){recorder2.stop();},PACKAGESIZE*BRIDGERATIO); }; recorder2.onstop = function(){ screenLogger('Recorder 2 is stopped'); recorder2.start(); }; recorder2.onstreamerror = function(e){ screenLogger('Error encountered: ' + e.message ); }; recorder2.ondataavailable = function( typedArray ){ console.log("data available 2 "); var dataBlob = new Blob( [typedArray], { type: 'audio/wav' } ); var form = new FormData(); form.append('file', dataBlob, "fileName"); form.append('title', "fileName2"); $.ajax({ type: 'POST', url: 'http://127.0.0.1:5000/send', crossDomain: true, data: form, cache: false, processData: false, contentType: false }).done(function(data,status) { console.log(data,status); screenLogger("result:",data); }); var fileName = new Date().toISOString() + ".wav"; var url = URL.createObjectURL( dataBlob ); var audio = document.createElement('audio'); audio.controls = true; audio.src = url; var link = document.createElement('a'); link.href = url; link.download = fileName; link.innerHTML = link.download; var li = document.createElement('li'); li.appendChild(link); li.appendChild(audio); recordingslist.appendChild(li); }; //#endregion

react-xr

Posts with mentions or reviews of react-xr. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-03-01.

What are some alternatives?

When comparing opus-recorder and react-xr you can also consider the following projects:

BootstrapBlazor - A set of enterprise-class UI components based on Bootstrap and Blazor

react-three-fiber - ๐Ÿ‡จ๐Ÿ‡ญ A React renderer for Three.js

noisecraft - Browser-based visual programming language and platform for sound synthesis.

WebXR-emulator-extension - WebXR emulator extension

outreachy - Repo to receive contributions from Outreachy applicants

react-three-next - React Three Fiber, Threejs, Nextjs starter

opustags - Ogg Opus tags editor

mind-ar-js - Web Augmented Reality. Image Tracking, Face Tracking. Tensorflow.js

Olaf - Olaf: Overly Lightweight Acoustic Fingerprinting is a portable acoustic fingerprinting system.

use-cannon - ๐Ÿ‘‹๐Ÿ’ฃ physics based hooks for @react-three/fiber

wasm-pandoc - Pandoc compiled into WebAssembly by Asterius. ๐Ÿ“š

gltfjsx - ๐ŸŽฎ Turns GLTFs into JSX components