orgn
project name: orgn
project url: https://github.com/andr-ew/orgn
author: andrew
description: 3-operator FM synth + fx for norns
discussion url: https://llllllll.co/t/orgn/
documentation url: https://norns.community/authors/andrew/orgn
tags: audio_fx synth grid

orgn logo

orgn screen animated gif


a 3-operator FM synth with fx. inspired by yamaha portasound keyboards

–video–

requirements

install

in maiden, head to the books, refresh community catalog, install orgn, then run SYSTEM > RESTART to boot the new engine

documentation

orgn is a 3-operator FM synthesizer followed by an FX engine which loosley emulates yamaha’s ultra-cheap range of consumer keyboards from the 80’s & 90’s - the PortaSound series. whereas these keyboards were locked into 100 or so sometimes corny factory presets (with a catchy demo song to match), orgn gives you full control over the synthesis & fx engines. you can also process external signals through the FX via the norns inputs.

if you like reading, the documentation below provides some detailed technical explanations of most of the controls available, and provides some basic explanation of FM synthesis. if you don’t like reading, I made a short video that shows you what all orgn can do - that alone should be enough to get you started. synthesis is about experimentation, so don’t feel like you need to know everything before diving in !

grid

orgn grid docs

screen

the norns screen has three pages of controls, which can be mapped to anything in the params menu

the default mappings, along with the controls available on the grid, are designed to get you up & running quickly with orgn without getting buried in options. once you’ve gotten familiar with these, you can dive into the params menu, map additional params to external midi controllers/OSC, or edit the screen mappings via PARAMS > EDIT > map > encoders

parameters

oscillators

envelope

fx

from the params menu you can alter a few more characteristics of the fx engine, but those are all a bit mysterious :)

tuning

by default, the keyboard section of the grid will be tuned to C major pentatonic, with an octave between rows. there are quite a few tuning options available however, including just intonnation, arabic maqam, and many options for custom scales. these are organized into 4 scale presets which can be recalled on the grid. hold K1 to enter the tuning screen.


tuning screen

tuning grid

if you’d like some more scales or tuning modes to be available (especially non-western ones) feel free to let me know ! contributions are welcome.

pattern recording

there are five pattern recorders rightmost on the grid. these can record & loop keyboard gestures, FM ratio changes, envelope settings, and encoder movements. you can also change the scale while a pattern is playing back to add key changes or chord progressions to a loop. each pattern is controlled by a single grid key:

API docs

(forthcoming)

adding orgn + midi input to a softcut-based script

first, add this snippet to the main body of the script, not inside of the init function

orgn = include 'orgn/lib/orgn'
orgn.params()
include 'orgn/lib/midi'

engine.name = "Orgn"

you’ll want to make sure that the host script uses neither midi keyboard input or an engine of it’s own. if it does, be sure to comment out any lines that have to do with those.

thanks to

for various code snippets & jumping off points for the effects engine

for inspiration on FM & envelope parametization (w/ synth & just friends)