Dan,

I tried it and got pretty confused pretty fast.

I’ve got First back running with ^^f, so that’s good.

There is something not right with my understanding of what you want me to input with respect to the rule = and seed = lines.

I’ve got a printout from Terminal, maybe there is something helpful here, but I don’t know how to read it yet!:

Last login: Mon Oct 14 19:46:46 on ttys000
Eds-MacBook-Pro:~ edblomquist$ python3 V
/Library/Frameworks/Python.framework/Versions/3.7/Resources/Python.app/Contents/MacOS/Python: can’t open file ‘V’: [Errno 2] No such file or directory
Eds-MacBook-Pro:~ edblomquist$ python3 -V
Python 3.7.4
Eds-MacBook-Pro:~ edblomquist$ pip3 install
ERROR: You must give at least one requirement to install (see “pip help install”)
Eds-MacBook-Pro:~ edblomquist$ pip3 install --upgrade setuptools
Requirement already up-to-date: setuptools in /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages (41.4.0)
Eds-MacBook-Pro:~ edblomquist$ pip3 install monome-druid
Requirement already satisfied: monome-druid in /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages (0.1.1)
Requirement already satisfied: pyserial>=3.4 in /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages (from monome-druid) (3.4)
Requirement already satisfied: prompt-toolkit>=2.0.10 in /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages (from monome-druid) (2.0.10)
Requirement already satisfied: wcwidth in /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages (from prompt-toolkit>=2.0.10->monome-druid) (0.1.7)
Requirement already satisfied: six>=1.9.0 in /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages (from prompt-toolkit>=2.0.10->monome-druid) (1.12.0)
Eds-MacBook-Pro:~ edblomquist$ druid
bye.
Traceback (most recent call last):
File “/Library/Frameworks/Python.framework/Versions/3.7/bin/druid”, line 10, in
sys.exit(main())
File “/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/druid/main.py”, line 231, in main
loop.run_until_complete(background_task)
File “/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/asyncio/base_events.py”, line 579, in run_until_complete
return future.result()
concurrent.futures._base.CancelledError
Eds-MacBook-Pro:~ edblomquist$ cd /Users/edblomquist/Documents/MONOME/CROW/SCRIPTS/Bowery/0afac7374b73043e768fceca94aed868-436e8fb97eac7ff551bc66820aa2ab10d7c5f523
Eds-MacBook-Pro:0afac7374b73043e768fceca94aed868-436e8fb97eac7ff551bc66820aa2ab10d7c5f523 edblomquist$ druid

input[1] = 1 input[2] = 1

[string “eval”]:1: unexpected symbol near ‘<’

seed= < 0 to 255 >
[string “eval”]:1: unexpected symbol near ‘<’

rule = 55

seed = 97

seed = 3

rule = 200

rule = 30, seed = 36
[string “eval”]:1: unexpected symbol near ‘=’

rule = 30, seed = 36
[string “eval”]:1: unexpected symbol near ‘=’

^^f
lua bootstrapped
input loaded
asl loaded
asllib loaded
metro loaded
ii loaded
crowlib loaded

///////////////////////////////////////////////////////////////////druid////

By the way, I was able to run boids.lua and gingerbread.lua, so I am making some kind of progress at least with following directions…

OK this time I moved d_lc.lua fully into the bowery folder, and when I ran it, it made sound!

however, I’m still not sure what to do about the rule and seed commands… not much seems to happen when I execute them, although the timing seems to change a bit when I change rule. I’m having to relaunch lc to get back to something that “works”

mod edit: merged @eblomquist’s posts from the bowery thread.

hmm, a lot of those messages look like you’re trying to install druid and that you’ve already installed druid. so, you don’t ever have to run those commands again unless you’re installing the Python tools, pip3, and druid on a new computer.

so, seems like you’re storing your bowery scripts in MONOME/CROW/SCRIPTS/Bowery – this is good! I’m unsure what all the 0afac7374b73043e768fceca94aed868-436e8fb97eac7ff551bc66820aa2ab10d7c5f523 stuff is, is that the name of the folder inside of MONOME/CROW/SCRIPTS/Bowery?


either way, this video shows a direct way to get cd'd to the right folder and to run less concepts.

then, when less concepts is running:

  • plug a clock source to input 1
  • plug output 1 to a v/8 input on an oscillator
  • plug output 2 to a trigger input (like on an envelope generator or LPG)

that should get you a melody. once you have that, let me know and I can help go through the commands to control less concepts on crow through druid :slight_smile:

1 Like

I’ve got the cd to folder going, I am listening to LC now. I can change the scale, change octaves per voice. I finally figured out that v[x].oct means v[1 or 2].oct and v = voice and .oct = octave. The "x inside the brackets is a value I need to specify. Good so far.

Still unsure about rule and seed, also about .bit. What are all those supposed to do?

Thanks so much so far. The LC is fun. Is it supposed to keep looping the same melody?

EDIT: what does this stuff mean: unexpected symbol near ‘=’ [or some other thing in the single quotes]?

this was the name of your folder when I downloaded it!

I just had a waking dream of less concepts ~refrain re-imagined using w/ ii commands. It was a sweet sweet dream :stuck_out_tongue_winking_eye:

@eblomquist oh, awesome! way ahead of me, sounds like you’re cruising :slight_smile:

less concepts is two voices, both using 1-d cellular automata patterns to create note + trigger data. it creates gates by turning the note number into a 8-bit binary number, of which you can specify which bit you’d like to use as a trigger.

the shorthand for a voice is v.

voices have a few commands. X will be used as a placeholder for 1 or 2. Y will be used as a placeholder for arguments you can assign the command.

  • v[X].oct = Y; change the octave of the specified voice. the useful range for Y is -2 to 2.
  • v[X].bit = Y; change which bit, Y, of the 8-bit representation of the notes will cause a trigger. useful range is 0 (mute) to 8.

these two are a pair:

  • v[X].trans = Y; assign a transposition in Y semitones that you’d like to apply to voice X. eg: v[2].trans = 12, assign an octave jump to voice 2 when you apply the next command
  • v[X].chance = Y; apply the transposition you specified above to voice X with a Y % chance. useful range is whole numbers, no need for % sign. so, v[2].chance = 30 will give a 30% chance that a note from voice 2 is transposed.

rules and seeds are weird. there are 16,000 unique note + trigger patterns inside of less concepts, so things aren’t always able to be expected. use the images linked in my earlier post to choose. the default is rule = 30 because the image looks pretty meaty:
image

a seed is just a starting point, you need to feed the rule something in order to make the pattern. I chose seed = 36 as a default because it sounded good.

an easy way to have fun: choose a meaty rule and only mess with seeds + bits within that rule.

  • rule = Y; assign a new rule
  • seed = Y; assign a new seed
  • dice(); randomly select a new rule, seed, and bits for each voice

yes, by design. once it loops through a particular rule/seed combo, it will feed the original seed back to itself and start the pattern again. the patterns are what help keep it musical, I think – they provide enough repetition to feel purposeful.


other q’s:

I think it just means you executed something that the script didn’t expect. hopefully the above helps avoid any new trouble.

ah, a weird GitHub-autoprovisioned name lol! you can feel free to leave it there, or just drop d_lc.lua into your BOWERY folder. apologies for any confusion there.

1 Like

Thanks Dan!

I tried various things until my head started to fall off so I stopped for the evening…

I got really lost trying to get back to a page where tehn was giving some useful insights into getting around with changing directories, but my brain got so tired that I honestly couldn’t even remember what I was looking for or why!

But I’m grateful to you for some very real progress tonight!!!

1 Like

Dan,

The video you sent the link to was cool… for some reason I don’t seem to be able to drag a file onto the terminal. Are you on a Mac? Did you have to hold down a key or anything like that?

Maybe I’m just dense!

Thanks for all your kind help with this…

Ed

Got this up and running today and it sounds great @dan_derks!

Is there any function for input 2? Might be cool to have that assign new rules or seeds with CV?

3 Likes

Hi @scotttburton check this:

4 Likes

mine took two days from UK captivity to scotland so hopefully you won’t wait long mate :slight_smile:
m

1 Like

20 characters of thanks!

1 Like

Cheers! Looks like it will finally complete it’s migration on Friday

1 Like

I’ve been having a lot of fun triggering this with guitar. I’ve got a random trigger going into input 2 to try and change up the sequence and I’m using my guitar to send gates to input 1.

6 Likes

This is working great for me, and so cool! Am I missing a way to modify the high/low scale reference? Nice work @dan_derks!

1 Like

so glad to hear it! what you’ve shared has been so good!!

ah, yes, didn’t mention those. low = X and high = X should get u there. can u confirm? basically, any variable is fair game to call and adjust in druid. it’s pretty remarkable, you can totally redefine things on the fly

1 Like

Yes, works like a champ, thanks @dan_derks!

1 Like

Except for v[i].odds :wink:

lol, yeah just cuz that makes the probability wonky. you are ABLE to adjust it is all i meant, it just doesn’t lead to the most direct results. might be fun tho?

1 Like