noisecraft
opus-recorder
noisecraft | opus-recorder | |
---|---|---|
4 | 2 | |
1,021 | 936 | |
- | - | |
4.4 | 0.0 | |
7 months ago | about 1 year ago | |
JavaScript | JavaScript | |
GNU General Public License v3.0 only | GNU General Public License v3.0 or later |
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.
noisecraft
-
Show HN: A Web-Based Modular Drum Machine for You to Play With
No problem :)
I should mention that this is open source too: https://github.com/maximecb/noisecraft
-
I made a visual programming language to build synths (in your web browser)
Awesome. I've put it online on GitHub over here :D https://github.com/maximecb/noisecraft
-
NoiseCraft: a browser-based visual programming language for sound synthesis & music, looking for contributors :)
Currently I'm working on a version 2.0 (called NoiseCraft) which has some much needed usability enhancements such as undo/redo, group selection, copy and paste, and colorful connections that are easier to follow visually. Many more improvements to follow, and best of all, it's open source, ad-free and non-commercial. Currently this only works in Chrome because Firefox is missing ES6 imports in audioworklet, which should be fixed within a few months.
-
NoiseCraft (aka Zupiter 2.0) Beta is Now Online!
It needs testing, bug reports and a couple more features. If you are reading this, you can help this project just by using it and sharing things you make to help showcase the application, and let me know if you run into bugs. You can also check out NoiseCraft on GitHub if you would like to report bugs or participate in the implementation.
opus-recorder
-
Push Notifications, WebXR, and better PWA support coming to iOS
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
// 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
What are some alternatives?
ZzFX - A Tiny JavaScript Sound FX System
BootstrapBlazor - A set of enterprise-class UI components based on Bootstrap and Blazor
javascriptmusic - A.K.A. WebAssembly Music. Live coding music and synthesis in Javascript / AssemblyScript (WebAssembly)
react-xr - 🤳 VR/AR with react-three-fiber
efflux-tracker - Browser based music making application driving synthesizers, samplers and effects using both a tracker and piano roll/loop based interface. Supports MIDI controllers and provides both local and cloud based project storage.
opustags - Ogg Opus tags editor
Z_TENNOT_IU - harmonic table note layout, Euler Tonnetz, Browser GUI, WebMIDI Interface, Sequencer
outreachy - Repo to receive contributions from Outreachy applicants
melonJS - a fresh, modern & lightweight HTML5 game engine
Olaf - Olaf: Overly Lightweight Acoustic Fingerprinting is a portable acoustic fingerprinting system.
dats-src - A computer language for music composition, sound filtering and sound synthesis
wasm-pandoc - Pandoc compiled into WebAssembly by Asterius. 📚