cd /news/hardware/an-exploration-of-just-friends-geode · home topics hardware article
[ARTICLE · art-12100] src=gist.github.com ↗ pub= topic=hardware verified=true sentiment=· neutral

An exploration of Just Friends' Geode

The article provides a technical overview of the "Geode" mode for the Just Friends Eurorack module, explaining how different modes (cycle, sustain, transient) control rhythmic relations and envelope levels through RUN voltage and other parameters. It includes Lua scripting examples for the Norns platform, demonstrating how to initialize Geode mode, trigger notes with specific divisions and repeats, and dynamically adjust rhythmic patterns using functions like `j.tick()`, `j.play_note()`, and `j.play_voice()`.

read2 min views25 publishedAug 15, 2021

gistfile1.txt

  This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.

Learn more about bidirectional Unicode characters

Show hidden characters
--- An exploration of Just Friends' Geode

-- from maps with trent: https://www.youtube.com/watch?v=fMzM4omsIg8&ab_channel=Trent 

-- Just Type reference: https://github.com/whimsicalraps/Just-Friends/blob/main/Just-Type.md

-- mode sets rhythmic relations:

--  cycle:  rhythmic undulation to the envelope level

-- The rhythm is generated similarly to transient,

-- however the variation is applied continuously

-- (rather than in single steps of beats). -- Applying RUN voltage emphasizes every 2nd then 3rd then 4th event,

-- however all the in-between beats are available too. -- Subtle CV shifts allow for a variation of groove

-- with nothing but volume manipulation.

-- Negative RUN levels emphasize every fraction of a beat.

-- Works extra well with quantize active.

-- sustain: -- The first envelope is full volume and each one thereafter

-- will decrease in level. -- By adding a RUN voltage the rate of decay can be modified.

-- TIME & INTONE set a base envelope rate, divisions sets the

-- rhythm of notes, and RUN sets the amplitude cycle

--			relative to repeats.

--  transient: 	

--		Each output has the same level

-- RUN voltages will introduce a rhythmic variation every n repeats.

-- The TIME & INTONE controls maintain their standard free-running influence,

-- speeding up and slowing down envelopes,

-- while the rhythms are controlled remotely.

-- ii.jf.play_note( divs, repeats ) -- Play a sequence, dynamically allocated to a channel

-- ii.jf.play_voice( channel, divs, repeats ) -- Play a sequence on a specific channel

-- min divs is 1 -- sending repeats a negative number has it repeat infinitely

-- ii.jf.tick( divs ) -- Clock Geode with a stream of ticks at divs per measure

-- ii.jf.tick( bpm ) -- Set timebase for Geode with a static bpm

-- ii.jf.quantize( divisions ) -- Quantize Geode events to divisions of the timebase

j = ii.jf -- alias to address just friends with just `j`

function init()

    j.mode(2)   -- set jf to geode mode

    input[1]{

        mode = 'change',

        direction = 'rising' -- rising, falling, both are the options

    }

end

counter = 0

divs = 1

direction = 1

input[1].change = function(count)

    j.tick(8)

	--note( 4, 3)

	--note(6, 3)

	--note(12,3)

	--note(12,7)
counter = counter + 1


if (divs < 16 and counter > 4) or (divs >15 and counter > 2) then 
	counter = 0
		if divs%2 == 0 then

			note (divs/2, divs*2)
	else


		note (divs, divs)
	end

	divs = divs + direction
		print(counter,divs)

		if divs == 32 then 

			--divs = 1 

			direction = -1

		elseif divs == 1 then
		direction = 1

	end

end

end

function voice( chan, divs, repeats )

    j.play_voice(chan, divs, repeats)

end

function note( divs, repeats)

    j.play_note(divs, repeats)

end

── more in #hardware 4 stories · sorted by recency
── more on @just friends 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/an-exploration-of-ju…] indexed:0 read:2min 2021-08-15 ·