zehreken / modul Goto Github PK
View Code? Open in Web Editor NEWA music making program I use for live performances and Youtube. It samples, plays and visualizes audio.
A music making program I use for live performances and Youtube. It samples, plays and visualizes audio.
I want modul to visualise the current signal also, maybe in full-screen. Then it would be really fun to jam with the synth or the drum.
Solo mode is very similar to mute but instead muting the selected tape it instead mutes all the other tapes.
A tricky feature to implement but it would be nice to be able to mute/unmute multiple tapes at once for example.
I think this can be well paired with multiple selection, instead of merging all the tapes into one, one can merge only the selected tapes into the first selected tape.
Scene in this context means some type of container for the objects, so that it is easy to save and load different visualization setups.
It would be cool if one can swap the mute and solo tapes. For example with one button, all mute tapes can be solo and all solo tapes can be mute. Another implementation can be swapping between only the secondary tapes.
If tape length is an odd number(which is the case when BPM is set to 111), it creates issues. Audio is passed between left and right.
Update: The issue happens even if tape length is not an odd number, happens when BPM is set to 117.
I have been having difficulties keeping time recently while using the builtin metronome. I thought that it was my bad but now I think there is a bug with the metronome. It does not sound right.
Sometimes when I start modul, the mouse input is not detected properly.
Remove hard coded values in the 'write' functions.
Try adding some vertex shaders that modify an object's shape based on audio data.
Allocating memory can cause glitches, so try preallocating a good amount to prevent that.
Document the architecture for future reference.
Currently it is really hard to start a song without any beat from an external device. Having a simple metronome will even enable making precisely timed beatbox.
It would be fun to use terminal as an interface to modul.
https://github.com/tui-rs-revival/ratatui
modul has grown a lot and the controls needs to be documented before it gets out of hand.
It would be nice to stop recording to the main tape when recording to a loop tape is finished so that there can be a smoother transition.
It can be just a floating sphere that looks like an eyeball and it can respond to music by rotating and blinking and more.
Currently, key_receiver is mpsc::Receiver.
This is a nice to have feature. It can also be helpful to understand what plays when.
Make it possible to mute, solo and clear the secondary tapes.
Currently, there is no camera implementation. It would be great to add a camera implementation that can be instanced and moved easily.
Mutexes and some other systems that lock/unlock some resource can cause glitches. Try to utilise ringbuffer instead.
Check this implementation on shadertoy.
https://www.shadertoy.com/view/4sBfRd
Instead of changing the BPM and bar count whenever, set them when a new song is created. This obviously depends on a feature that let's the user create songs.
Add offset to tapes so that you can track and better sync the tape start and end.
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.