bgins / coincident-spectra Goto Github PK
View Code? Open in Web Editor NEWA spectral-microtuning additive synthesizer
Home Page: https://coincident-spectra.fission.app/
License: Apache License 2.0
A spectral-microtuning additive synthesizer
Home Page: https://coincident-spectra.fission.app/
License: Apache License 2.0
The additive synth currently uses 16 partials. We may be able to get away with using 32 partials, which would create a richer sound and demonstrate partial retuning more effectively.
Try adding 32 spectra and listen for how the audio holds up. If it works, consider how this will change the UI. Do we display two tables with 16 partials side-by-side? One long table?
SvelteKit has released a 1.0.0, and we aren't using it.
No immediate impact, but moving to stable brings us forward past breaking changes.
Upgrade to latest SvelteKit stable release.
Users do not have enough context to use the app on first use.
Users may be confused until they find the more information button that opens the guide.
Add a welcome modal that describes the app and informs the user how to use it. The modal should have a "Get Started" button that starts WebAudio and initializes the synth.
The current MIDI implementation only detects the MIDI devices available at page load. The WebMIDI API has a MIDIConnectionEvent
that we should be able to use to detect device connected and disconnected events.
Notes can hang when the window loses focus and the user releases held notes.
Hung notes. The user has to pause and restart the audio to stop them.
The Page Visibility API may help in some cases like switching browser tabs, but will not work when a developer switches to another application and the browser window is still visible.
Window blur
events might be a better overall solution.
We are missing types in a few places:
src/lib/audio/audio.ts
and src/lib/audio/additive-synth.js
. Update these when Elementary types are available.src/lib/controllers/keyboard.ts
, src/lib/controllers/midi.ts
, and src/routes/index.svelte
.After updating types, remove ignores from .eslintignore
and tighten the rules in .eslintrc.cjs
.
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.