I love jamming over a backing track or song. Record it. Listen back, Improve. But using your webcam, the QC USB stereo channel and the playing track at the same time, well, I had no solution for that.
So I’m building it myself (programming in C) and I call it QJams. I’m testing it a dozens of times a day now and I expect you guys are going to love it. Or not
Caveat: This is a Linux only program. Currently depends somewhat on my own distro (CachyOS/Plasma) but when I release this it should be distro independent. Don’t hold your breath, this is not going to be ready tomorrow. I’ve been working on this for about a week now and although the basics are in there are bugs, missing features, etc. etc. Will update progress when I have progress.
Big milestone. First of all, I fully rewrote the code, from scratch. Reason, some design choices let to latency. The video, song and QC signal did not line up. Now everything stays in RAM, file creation, manipulation (QJams is very calculation heavy), etc. Hence the sync offset feature could be dropped, so no need to manually adjust for QC latency anymore!
Everything you see on the image is now functional and seems to be bug-free (if there’s such a thing ;).
New feature: Live gain staging on both tracks. These changes are applied to the *MIX.mkv so you can immediately share it on YouTube. Gain changes are not saved to RAW.mkv so you can do post editing.
Next steps, further stability and performance improvements.
I have a long list a features I need to implement before i can release a beta for anyone that wants to test it.
Fair play to you… It’s kinda like an online jamming app or band rehearsal app without the collaboration part… You should check out Sonobus.net it has the ability to record and play files back and video built in, it also has some effects on your channels and can also connect to the world wide Web for collaboration with other muso’s around the world… It’s similar to what your working on
Hi, yeah, that’s a bit similar to Wikiloops, where I sometimes hang.
But QJams has a very different goal and setup.
QJams is a local, stand-alone Linux (KDE Plasma is a current requirement) practice and performance environment.
Its primary goal is synchronizing live local audio input with local backing tracks, looping specific segments, and muxing the output with local video into tow final .mkv files, RAW and MUXED.
It natively handles video previews via FFmpeg and renders waveform visualizations for the audio engine. The current version is built around the existing file system and an integrated .m3u playlist system and precise speed/looping controls to optimize practicing over existing backing tracks and songs
It already supports all (my) connected audio sources (this part is not final though). Real time gain staging on both input signal (QC, mic) and backing tracks works very good and allows for ‘mastering’ the final MIX.mkv track. The saved RAW track stays as is (so it has the very low but pristine QC signal) with separate full video, backing track and input (QC) tracks.
Take a look at the latest screen shots. Compared to the first prototypes I came a long way. Using it daily now, no flaws on my configuration. Accepts my QC, a mic, external audio player, USB and Midi inputs.
Next step: Technical code refactor to make the application full Linux Distro agnostic (although KDE Plasma might be a must (for now)). Ready: maybe next week.
After that: quality of life improvements and refinements. After that: Beta out on GitHub so anybody who wants to try it can grab it there. C programmers that want to join, let me know!
Yes I’m not saying there’s anything wrong with what your doing fairplay… I was just saying it’s similar to sonobus which also works on Linux and as a standalone program and can record your audio in wav 24bit ogg and others has metronome built in video… Best of luck with it wasn’t out to offend
Work is progressing and besides implementing a full new layout there are many improvements and new functions.
I added a 6 track looper with a ton of editing functions, transparent layers, delete, undo and redo layers, shuffle them, rename them, save full and parts of it. Save your work in a session file so you can continue later.
Obviously the jam part is also looking much better with these transparent waveforms!
I will probably need another week or so to iron out whatever issues I find but besides that I think I can start sharing this as a pre-release fully functional version. Send me a message if you’re interested.