ALEPH user STUDY GROUP


#61

Thanks. Wanted to know whether you meant this was some digital truncation noise or hardware related. I dont bother much about 192kHz, not in a device like the aleph (and, again, I do not own one right now), but I find some kinds of noises irritating. I have this cheap MPC500 I love but it’s noisy, even emitting a sine-like tone at some settings.


#62

63 ohm vs 120 ohm for those two different sets of cans - maybe one is just coming out a little louder than the other!

Anyway detailed listening / trial & error has been mostly replaced by more scientific debugging on linux emulator now for my DSP dev flow. Was going a bit nuts at one point during development of grains mistaking alephs inherent headphone noise/crackles for algorithm glitches. 99% of that kind of work is just so much quicker using systematic debug/test with gnuplot or similar. Just so easy with fixed-point arithmetic to make a little mistake that causes a pop in one rare corner case.

Gonna do some more systematic testing on the main outs - curious now whether they really are any quieter than headphone outs or whether that’s just a difference between headphone listening & apartment sound-system.

Reading back on @glia’s original prompt for this thread - it would actually be really cool to start doing some ‘study-group’ type of tasks using our existing software. Maybe we can bring all the really detailed (and valuable) technical discussion on here back down to earth in the coming weeks with some simple musical prompts? (a la Junto).

That could help a lot to focus vocabulary-building, performance & composition techniques - I’d love to see this kind of dialogue open up a bit more again around the device…


#63

Sounds interesting. Is this emulator available in public? How much of aleph’s functionality is covered?


#64

sure:
https://github.com/rick-monster/aleph/blob/dev/modules/voder/Makefile#L105
’make sim’ builds a linux/jack emulated version of each module. bfin_sim is a work in progress. In particular, the more complex modules don’t work quite right in the emulator, possibly due to small numerical discrepancies between emulation & hardware.

Emulator is a super-valuable tool, but at this stage be prepared to potentially report and/or fix emulator bugs. My aleph dev branch has some brand new bugfixes compared to monome dev branch. I used it to develop ‘hard’ features like biquad filters, polyblep antialiasing, cubic-spline interpolation & adsr envelopes offline using linux. Actually these kinds of problems are not so tough when you smash on them with such mighty hammers as printf, gnuplot, gdb & jaaa:
https://github.com/rick-monster/aleph/blob/dev/modules/voder/voder.c#L164-L183

it covers nearly half the functionality of aleph. There are 2 separate cpu chips in the aleph - one for control, one for DSP. This emulator attempts to cover the DSP part (aka blackfin or bfin). BEES has a linux build target called beekeep, which can be used in a more limited way to develop new BEES features. It doesn’t currently communicate with the bfin emulator…

You can ping the DSP params using osc, but the whole thing may not make a load of sense without getting to know BEES a little bit with an aleph (this runs on the controller cpu aka avr32). Also some of the special instructions are still missing from the emulator. I’m only just now getting into the fract16 primitives, which are being added on ad-hoc as required e.g: [this commit] (https://github.com/rick-monster/aleph/commit/b1bf8b491f02e0b4a4d03ca855a9a0f64fefc7df).


#65

found that file load works when fs_dir_ent cluster is an odd number and
it fails when its even, is there some documentation on cluster values
and how they are set?

just the source code and general knowledge of FAT32 architecture. beware, that stuff is not pretty.

maybe you have found bug in fat_io_lib. as i said, you can try replacing the library with atmel’s FAT drivers, which teletype uses. but tbh, i don’t think this is super liekly. fat_io_lib is used in lots of projects, and i kind of think we would have noticed an issue like every other cluster failing.


#66

this looks awesome… but for us none-code types is there a compiled version that we can load direct on to the aleph?


#67

I will dig some more! and now that my project is released I will start again to upload to github, this is the code with the cluster bug:



#68

i didnt even know he updated the post with something on git

will have to look into it now


#69

[quote=“rick_monster, post:62, topic:177”]
Reading back on @glia’s original prompt for this thread - it would actually be really cool to start doing some ‘study-group’ type of tasks using our existing software. Maybe we can bring all the really detailed (and valuable) technical discussion on here back down to earth in the coming weeks with some simple musical prompts? (a la Junto).

That could help a lot to focus vocabulary-building, performance & composition techniques - I’d love to see this kind of dialogue open up a bit more again around the device…
[/quote]good point

technical/dev stuff is great and i hope the conversations continue on both levels but would LOVE to learn more from the rest of the userbase (and share my own findings)

I’ll dive back in during october with some stuff


#70

Had to fly for work & somehow airports are a weirdly good place to write computer programs. Wrote this in a few hours yesterday on my laptop using blackfin emulator - just tested on the computer and think it should just work on the device…

https://github.com/rick-monster/aleph/tree/dev/modules/fmsynth

Each op can be modulated by two other ops e.g op4Mod1Source picks the 1st modulator for op4, op4Mod1Gain sets modulation depth. The output of each op can be mixed into aleph main outs.

Missing features:

  • LFO not plumbed in yet.
  • note velocity not plumbed in (maybe it should be removed instead to encourage more creative thinking from aleph users about how to interpret gesture velocities)

EDIT:
gave the outdoors a miss today (heavy rain) - picked up this module instead. Sure enough, couple o’ bugs with the params & some missing plumbing but the DSP is basically sound! Got further in 30 mins on aleph towards understanding FM synthesis than many hours spent screwing with an ebay FB-01 bargain struggling to figure out some jinky (I mean buggy) free editor, rifling through presets & generally getting overwhelmed…

Definitely hoping to pick up some tips on percussion/SFX synthesis from the userbase and planning a quick release, since this thing is immediately useful/fun…

The obvious more interesting experiment is to combine the kind of FM/pitchshift processing in grains with a moderately capable 4-voice synth engine - hopefully allowing me to access flexible FM guitar tones for melodic playing, also might be interesting to smash vocals to bits or combine with any other pitched sounds. Something I’ve been dreaming of since starting this aleph coding quest…


#71

Here’s an early binary un-release of fmsynth - some discussion how to develop the DSP params would be super-useful!
http://rickvenn.com/fmsynth.zip


#72

@rick_monster just caught your svf code on github, do these proposed changes help the bpf from distorting so easily?


#73

may do! I was in a bit of a crazy sleep-deprived fix-the-world mood when I made those changes, needs reviewing really hence I didn’t pull-request anything. Also probably untested on the device - can’t remember that far back (lord it’s only like 2 days ago, how do I ever get anything done). I will try to get to that but feel free to grab & try if you have time. Though the main thing it should’ve fixed was some weirdness where at some settings q wouldn’t have much effect.


#74

yeah the q thing, I remember having trouble with that too! will have a look when time permits!


#75


this is a good rundown of softclippers. Might have a play round see whether tanh softclipping can be adapted to the blackfin. Good thing about that algorithm is the clipping ‘knee’ & ‘limit’ can be both tweaked, so should be able to tune in many flavours of distortion by setting pos/neg knee & limit…

EDIT:
Recordings of some quick softclip filtering hacks made using the aleph linux emulator at maximum Q - one asymettrical (tube-ish distortion), one symettrical. Worked on the device first time, though I did find a pretty serious emulator bug during this round of filter-fettling!

unfiltered:

linear filtered (hard clips a little bit):

symetrical clipping in filter guts:

asymetrical clipping in filter guts:

Still kind of thinking it would be a fun exercise to make a cheesy little aleph groovebox with monophonic wubby bassline synth and some percussion generators, or more of a ‘standard’ kind of 4-slot performance sampler with filters & pitchshifting…


Aleph refactoring and integration
#76

[quote=“rick_monster, post:75, topic:177”]
more of a ‘standard’ kind of 4-slot performance sampler with filters & pitchshifting…[/quote]sat down briefly with the fm synth days ago and need to explore again so i can give you feedback

this is exciting too!
if you move forward with this let us know


#77

thought of it years ago, even posted the suggestion on the old forum but never actually tried! Been playing around for a few hours, didn’t blow the tank or headphone output yet! So you need to make a weird cable - stereo 1/4" jack -> mono RCA, wired thus:

| jack sleeve -> rca ground | (outside solder tag on RCA)
| jack ring   -> N.C        | (no connection)
| jack tip    -> rca signal | (inner solder tag on RCA)

One ‘ear’ of the headphone jack drives the tank, use the other ‘ear’ for the main out, using the line out w/ it’s own top volume control. One fun use of this is to set up aleph foot pedal so that a momentary press pans the signal hard into the reverb channel to get some dub-ey reverb crashes whilst playing a percussion part…


#78

got stuck today trying to use the cv_update() function in my prgm app, I just can’t get the cv outputs to respond, all four of them are fixed at the maximum output voltage, have looked at the mix and waves modules and tried to reuse their code, but I’m stuck. I assume channels are numbered 0-3 when used as parameter input to cv_update(). should they be 10v after successful init? anything else that could make sense to test or debug?!


#79

BEGIN ALEPH SOFTWARE TRANSMISSION

extensively enhanced BEES & blackfin DSP modules, example scenes:

  • varispeed lines (read & write)
  • brand new ‘acid’ module - prang state-variable-filters for fun and profit!
  • patching extensively overhauled, for arbitrary op insertion & deletion
  • new op: KRIA
  • save & recall ww/kria sequences via scene storage
  • new op: HARRY, a microtonal ‘tonality diamond’ operator
  • new op: POLY, for managing note priority & triggering monophonic or polyphonic modules from a midi kbd or grid
  • adjustments to waves & dsyn (filters overhauled etc)
  • display op outputs on play screen
  • various other small UI improvements
  • hackable grid patching paradigm - GRIDRAW, MEM[012]D, ITER
  • proper grid focus swapping (run multiple grid ops, flick between them seamlessly as they run in background)
  • develop & debug ops & modules on linux, using puredata or jack/OSC

binary:
http://nshgrtha.net/sdcard_sktk1.zip

source code:
http://nshgrtha.net/aleph_sktk1.tar.gz

WARNING: probably incompatible with scenes/modules from the original monome firmware releases.

bugs? possibly… features? yes!

a ‘stable’ release with docs & a proper release number? …someday…

END TRANSMISSION

EDIT:
please note latest ‘non-release’ with further bugfix for preset system here:

http://nshgrtha.net/sdcard_sktk1a.zip
http://nshgrtha.net/aleph_sktk1a.tar.gz


Kria Max Patch?
#80

what ever happened to the prospect of new Alephs? Id kill for one