interest here! (pricing dependent of course)

3 Likes

I got norns running on a Pi 3b+ with my regular USB audio interface over the weekend! No screen, encoders, etc., so like, not terribly useful yet, but hey, I can run scripts / write SC in the maiden REPL, and understand the whole architecture much better when it’s actually there in front of me. Really cool.

6 Likes

not sure if i’m reading the webshop correctly, but i’m guessing that the full kit would be the best bet for someone with no experience building electronic devices? i’m very interested in this, but feel a lot more confident re: learning the code than soldering stuff together, haha.

The kit as I have it planned right now would will include everything you need except the Raspberry Pi. But it will require thru-hole soldering (for the buttons, encoders, headers, etc).

8 Likes

I would love to purchase a pre-built Fates, and I’m very interested in having a nice wooden enclosure for that. Have you considered making 1/4” I/O an available option rather than 1/8”? Also, does Fates have about the same audio quality and sound character as the Monome norns? Thanks!

how are you interfacing with the encoders/keys/OLED from pd?

have you and @okyeron worked out some sort of norns vs. pd switching scheme? how does the UI work?

are you guys interested in helping work on an integrated engine scheme? it’d be really great to have all of this stuff work together without branching or replicating work.

12 Likes

I cross each day off my calendar, eagerly awaiting this release. :crossed_fingers:

3 Likes

1/4" I/O would require a redesign of the board and likely making it a bit larger to accommodate the jacks. It’s not on my immediate radar.

Sound quality - Honestly I have no idea how it compares. I don’t have an official norns to compare to. @justmat might be able to offer a comparison since he just built a test unit.

6 Likes

Timeline update:

I will have bare pcbs and acrylic enclosures available for sale in about 1 week (if shipping happens when I hope).

I am contracting out smd-assembly. PCBs with smd pre-populated will be available in about 3-4 weeks. Although, I may have a very slow trickle of hand assembled boards available before then. As soon as those smd-assembled boards come in I can make kits available (depending on component availability).

25 Likes

Can’t wait for these :slight_smile:
I just saw the norns-shield but I think I’d miss the headphone output and I’m really excited about Orac on Fates (with the fourth encoder), it looks really promising.

1 Like

Im not really replicating any work, as most of what Im using has been part of MEC/Orac for a long time (it existed prior to norns being released :wink: )

integrated engine - yeah, I understand from your perspective how this is desirable, as I kind of have the same approach with MEC (it can support multiple running Racks, which could be written in any language)… and I suspect I could ‘bridge’ my architecture into your engine (when it exists)

however, at least initially, this is not my preferred approach.
the reason is simple… Orac/MEC are cross-platform, they already run on Organelle/Eurorack/rPI/Mac etc.

so I rather see Fates as an additional platform, a derivative of my existing rPI platform.
Im used to doing derivatives… (Nebulae is also a derivative off rPI) and there will be likely be more
e.g. im considering doing the same for Zynthian
I see Fates as a hardware ‘hat’ for a rPI, a concrete UI to develop against, in similar way to the Organelle - rather than a ‘clone’ of norns (some how reliant on the norns software)

what’s my approach?
well you may or may not be aware that i did a lot of the work for the Organelle OS 3.x releases,
in particular changing C&G ‘launch menu’ to be able to launch patches of different types, rather than just Pure Data.
so this is the approach I want to take with Fates, one where arbitrary apps can be started/stopped from a central launcher ‘app’

more details, probably too much for many readers ;)

so, there will be a ‘background’ launcher process, which will provide users with a list of ‘applications’ to run, Norns and Orac will be just 2, but anything can be launch from this menu.

the way the user will ‘see’ this is
on startup the launcher will start the last used application (so if you only ever use norns, you wont ever see it) … unless you hold down B1, in which case it will bring up the menu instead.
once an application is launched, you use as normal
each application will have a simple message/option that will exit.
the launcher will then come up with a list of apps to run from which the user can choose.
(maybe some other settings/options to e.g. shutdown)

thats it - simples

this allows for there developers to release any apps they want to run without having to conform to anything.

how do I access access the display/encoders/buttons… directly :wink:
Ive actually written a small c++ library (FatesLite) what abstracts the hardware, which is what Ive integrated into MEC… but also could be used by other applications if they so wished.
very simple api, that provides display functions, and a properly threaded implementation for the GPIO.

PD does not access the display directly, as Orac is (like norns) based on a headless model for the sound engine - and MEC (written in C++) does the UI work. (similar role to matron i suppose). the communication if via OSC, but is abstracted by my Pure Data external which interface with my ‘Kontrol’ architecture (a kind of distributed parameter model ++ )

that said, I will probably do a quick PD wrapper for the FatesLite api , as its minimal effort.

the above needs a small change to Norns to allow the ability to ‘exit’, which I will do in my fork.
I do things in a compatible way, so maintenance is not an issue.
the other interesting change I have planned, is to update the display implementation.

as I currently also use Push2 as a display for Norns - Fates now brings in an interesting dimension “dual displays”.
so my plan is to allow the Push2 to be used as

  • a mirrored display of the Fates (this is kind of what I have now)
  • a dual (compatible) display … most like patches can be pushed to Push2 , and keep menus etc on Fates internal display… perhaps also lua support to control this.
  • native push display… already there , a full RGB hi-res display that patches can access directly.

Im quite excited by this, as a secondary display would be super handy for many patches.


none of this means I disagree with your intent on an integrated engine - I think its a valuable addition to norns to be able to write engines with other backends (as i said, something Ive also planned for MEC)

however, I also appreciate the more ‘open approach’ that C&G have taken where you can launch anything you like … and that ‘application’ has full control over the hardware, and doesn’t have to ‘conform’ to a particular architecture or api.

something Ive learnt from the Organelle is some patch developers don’t want the complexity of having to implement modules within Orac (which requires known of the 'api/framework)
rather, they actually prefer the simplicity of just writing simple plain vanilla Pure Data code that does everything in PD (e.g. drawing to screen) … this is why Im planning on the Fates PD external to make this an option too.

I guess it’s where ‘us’ engineers have to be very careful,
we tend to love the beauty of apis/frameworks - we appreciate the consistency, the ‘re-use’, the thoroughness - but we don’t see the complexity, because we are so used to dealing with them.

anyway, thats the reason I want a launcher,
so non-developers can just hack stuff together, with simple tools , no complex frameworks/api … no necessity to learn another toolset, they can use what they already know and love(*) - and then easily launch it from the hardware.

sure, from an ‘engineering’ standpoint this is sub-optimal, but Im not writing this for engineers!

anyway, I don’t want to hijack this thread about this topic… as this topic is more about a hardware implementation… perhaps for further discussion, this is better discussed on the Orac topic or another topic?


p.s. Id point out none of this is contradiction with an integrated engine in norns, both can live side by side and actually compliment each other … and as i said, as such the launcher is not seen unless ‘invoked’.
however, I suspect it might be contrary to your ‘vision’ of norns… so unlikely something you’d want to bring in ‘as standard’ - thats cool too. Im perfectly happy for my work to continue to live separately.

(*) no reason for me to not add support for other languages to the FatesLite api e.g. python / sclang / csound - id prefer to offer choices, rather than be ‘prescriptive’ on what you write your stuff in

8 Likes

I haven’t done a side by side comparison, but I will :slight_smile:
One thing I did notice rather immediately is that my electric kalimba is picked up at a higher volume on Fates, by what seemed like quite a lot. I’ll do a more thorough comparison later today.

Edit: Side by side, they both sound great. I wouldn’t be able to tell them apart :slight_smile:

6 Likes

good progress on Orac/MEC today - now functionally complete :slight_smile:

hopefully tomorrow, I’ll look into finalising the packages, then a bit more testing
then should be ready for a limited ( * ) beta test.
(*) the launcher wont be available, so only available to those that know a bit of linux, to able to run scripts etc.

then friends/family invade for 10 days… so no action.

after that I’ll write the launcher app and package (shouldn’t take more than a couple of days?!)
then it’ll be ready for a ‘public’ beta and I’ll do my customary videos to demo how it works etc

9 Likes

Awesome! That 10 day time period will give me the opportunity to run this on my FATESz. I’m excited to check it out.

ok, some good and bad news…

bad news, I’m postponing the beta until after Ive got the launcher done.

the reason behind this though is…

good news.
as I posted on DIY norns thread, I decided to support 3 and 4 encoder forms of Norns (*)
whilst doing so I decided to re-write large parts of the UI.
it now looks much nicer, and is easier to use, and that’s led me to want to improve some other bits - so better to test once thats all done.

given the ‘delay’, I’ll release this along with the ‘launcher’,
so it’ll be a proper beta of the final solution - and hopefully more people will have received/built their fates by then.

the other good news is I’ve had a re-think about the launcher design (and ‘related stuff’ which i’ll leave as a nice surprise :wink: )
oh, it has a name - its going to be called ‘Sidekick’ (a bit of a homage to the past :wink: )

guest now arriving for visitations…
I hope to be reporting back in about ~14 days with demos, details, and a beta.
(I’ll open a new thread for release, so as to not keep sidetracking this one)


(*) id still recommend 4 encoders for your builds, whilst 3 encoders are ‘full functional’
4 provide a much more immediate interface.
in 4 encoder mode, you can change 4 parameters just by twisting each encoder.
in 3 encoder mode, its like norns parameters, you have to use one encoder to ‘select’ the parameter, and another encoder to change its value…

so 4 encoders gives you immediate access to 4 parameters, 3 only give you access to the one (the selected) parameter

note: mec will auto-detect appropriate mode based on hardware,
though for ‘testing purposes’ a 4 encoder norns can be forced to use the 3 encoder mode.

12 Likes

that’s a rather misleading description of how parameter access works in the norns system. this is tangential, but worth being clear.

a ‘parameter’ on norns is a persistent value with an arbitrary setter function, and scripts can declare an arbitrary number of them.

the ‘parameters’ page in the norns system UI shows all declared parameters, and allows any to be edited.

typically, a script will define interactions for changing multiple parmeters more directly. e.g., enc2 and enc3 access 2 parameters at once, and enc1 or modifier keys effect a modal change of the selected target params.

for example i usually have two or three “pages” switchable with enc1, and each ‘page’ has 1-3 different mappings of enc2, enc3, switchable by modal combinations of k1/k2/k3. this kind of gesture mapping is very easy to customize which is sort of the whole point.

1 Like

I think this was specific to “parameters” in Orac rather than norns. (or perhaps talking about the main PARAMS screen)

But yeah - we may end up with some nomenclature confusions between the two.

that is my point - this is an apples/oranges comparison.

on orac, the system provides a scroll/select/change interface, as well as a configurable 1->1 encoder->param mapping for the four encs.

on norns, the system provides a scroll/select/change interface, and in the primary use case the script itself defines 1->1 or 1->many mappings as desired.

neither is a subset of the other.

param mapping on norns more closely resembles vanilla organelle/pd patches, but with the addition that the system handles persistence of param values and midi mapping and stuff.

in organelle PD context, patch creators are more strongly encouraged to use out-of-the-box UI metaphors such as 4 encs -> 4 params -> 4 screen lines. makes sense for smaller screen and for the organelle key leyout, which prioritizes keys as direct performance inputs and not as modal modifiers.

5 Likes

nice case here @frankchannel


are you going to print some and selling them?

5 Likes

No, but I’ll post the design files on GitHub so anyone can use them. But right now it doesn’t have a slot for the USB-c jack. I ordered another PCB, and I’ll get a raspberry Pi 4, and update the case so it works with that too…

8 Likes