So if you saw my first post you would have seen it was a complete dumpster fire. I didn't take it personally though I took all the feedback and have overhauled my app. Shoutout to u/mountainfluid for the detailed and carefully curated feedback it helped so much <3.
https://apps.apple.com/us/app/beep-boop-beat-maker/id6819137757 <- here it is
I was completely delusional with my pricing so its now $1 amonth usd for the subscription and $10 for full unlock (will land later today) BUT you can actually do everything except save, share and browse others creations. wont be any ads ever.
I just want to share it with people so if you dm me ill create a code for you for a full app unlock.
There has been a lot of changes and improvements that include
- DRUMS redrawn: the steps light from inside, and the dial shows each drum as an icon.
- RANDOM deals a groove in your own sounds. CLEAR takes it back.
- Two bars on DRUMS, the second a copy of the first. SHARE carries both.
- Four bar keys under the steps on DRUMS and SYNTH. A key past the end grows the beat or tune to two or four bars, and CLEAR gives the folded bars back.
- SOLO on SYNTH quiets the beat while you shape the tune.
- PRINT opens the panel along its divider, with cables and the odd spark inside, and the receipt comes out of the printer from within. The same on the iPad's console.
- Engraved icons in place of words: TEMPO, KEEP, PRINT, SWING, SHAPE, CLEAR, RANDOM, the bars, ALL / SOLO, LOOP.
- RANDOM on SOUNDS deals a new sound near the one you chose. A clean sound stays clean. Touch the window to undo.
- SYNTH's grid is square keys lit from inside. STORE's keys are bigger. Small lit keys glow in their own shape.
- CLEAR on PADS, and the pads without names.
- A beat's later bars could be lost three ways: on quitting, on folding twice, and when CLEAR gave back bars over new edits.
- PRINT on PADS dropped bars 2 to 4. This was older than 1.0.3.
- PRINT on TRACK could post a song twice, or print it on another space if you left mid-print. This was older too.
Sound engine is built in C carefully and with love. The timing systems should be rock solid as well and have had alot go into the testing of them.
here is some of the tech
Synth
• PolyBLEP band-limited saw and square oscillators, so no aliasing in the high register.
• A zero-delay-feedback state-variable filter (trapezoidal integrators, pre-warped cutoff), stable at any resonance.
• Two oscillators plus a sine sub per voice, with 8-voice polyphony.
• Phase-continuous voice stealing, so overlapping notes never click.
• TB-303-style accent: deeper filter envelope plus tanh drive.
• Exponential envelopes and glide, with an attack that overshoots slightly for analog snap.
• TEAR per voice: wavefolding, bit reduction, ring modulation and frozen granular fragments.
• Every note in key, by design. Each grid row is a scale degree, so nothing you draw is off-key
Engine
• A real-time core in C. No memory allocation, no locks and no logging on the audio thread.
• A lock-free command queue is the only path between the UI and the audio thread.
• About 2% of the render budget used: 0.05 ms worst case per 2.5 ms buffer.
• Per-sample gain smoothing on faders, SOLO and the mix, so there's no zipper noise.
• A soft-clip output stage with a −1 dBFS ceiling, driven 2 dB down so kicks keep their transient.
As a final note, I know that 'vibe coded' 'ai slop' is prevalent and its easy to dismiss a new product as something that anyone could poop out, I am actually a product designer and a engineer and have been using agentic development as a means of expressing what i actually want to build but never had the time nor capacity to realise. I have put a lot of love and time into this app and am really open to feedback, please be kind and i promise i will hear you and work to improve it. - Euge