FM7 (Norns)

norns
#21

Here’s some python code to parse DX7 sysex (and convert to Nord G2 patches)

6 Likes
#22

Very interesting. If I can extract the sysex functions from this, modifying the output format to Norns pmap would be straightforward. It’s also a good way to add all the missing pieces of the engine.

8 Likes
#23

Hello, I had FM7 working and now it does not. This is what transpired: I wanted to use Haven so I loaded it on and it wouldn’t work. I read that there were duplicate engines in the WE section so I deleted WE and loaded Haven and it worked. I added the newer WE back on and now FM7 says FM7 (error: init). Did I delete something that FM7 needs when I removed the original WE folder? I don’t know a thing about GitHub or anything so If there’s something that must be loaded back onto my Norns, please explain how I can do it. Thanks so much. I love FM7!

EDIT:
I did some investigating and found an FM7.lua in the WE folder so I deleted it and the FM7 works now! slowly learning :slight_smile: but now I want to know why it was in WE and what happens when whatever in WE that requires it tries to open. Will it work because it’s on my Norns but just in this FM7 folder? thanks again. Again, not a very computer savvy person so even simple things intimidate me

1 Like
#24

Here’s another quick demo. Because of the tones and timbres you get out of it, I think it would work really well tied to @Dan_Derks Less Concepts script. FM7 is a fantastic sounding script and much easier to program than my FSR1

3 Likes
#25

I think the 2.0 update changed many things. The engine is also in we…we should sort this out as I want to update the engine. I excluded it from my own repo. @tehn might be able to help. Should we remove Engine_FM7.sc from we?

#26

I’ve been doing some improv stuff on my commuter ferry ride and I agree more sequencers and modulators would open new frontiers. I like this engine more than I did when I first made it.

I have some arc + grid ideas…

5 Likes
#27

I haven’t followed the technical side of Norns development/programming but is it possible to pipe MIDI internally in Norns? (E.g. have less concepts sequence fm7)

1 Like
#28

wherever Sun Ra is in the cosmos I hope he has a norns/grid with fm7 loaded up

5 Likes
#29

speaking for less concepts, the MIDI output is just a translation of the data generated by the script’s sequencing maths – so the data is able to be agnostically re-formatted to the syntax a particular sound engine expects :slight_smile:

this happens in the iterate() function which starts on line 175:
if seed_as_binary[v1_bit] == 1 then
engine.noteOn(1,midi_to_hz((notes[coll][scaled])+(48+(v1_octave * 12)+semi)),127)

the engine.noteOn... part is just the formatting Passersby expects (voice,hz,velocity), so it could easily be substituted for the syntax required by FM7.

@lazzarello, seems like FM7's engine.start() command requires a voice ID and a “MIDI” note?

3 Likes
#30

yes ‘we’ should, indeed

3 Likes
#31

I see what you did there. Let me know when that’s a thing. I have a branch to include the engine. It’ll be a breaking change.

#32

I have some changes to the midi code to merge in. Gonna work on it this weekend.

2 Likes
#33

i made a PR:

in general: i think the “best practice” if one wants to ‘take ownership’ of something stuff currently in we, is to fork we and make one’s own PR removing the thing in question.

3 Likes
#34

Clearly I didn’t get to this over the weekend. I mean, San Francisco had a downhill big wheel race how could I miss that?!? I’ll get my Norns code in line soon I promise.

2 Likes
#35

that big wheel race sounds rad! hope you had a blast.

I’m getting this new error.
if anyone an help me troubleshoot I’d be grateful.

script load: /home/we/dust/code/fm7/fm7.lua

cleanup failed

script clear

pset >> write: /home/we/dust/data/system.pset

script run

loading engine: FM7

Engine.register_commands; count: 0

___ engine commands ___

___ polls ___

amp_in_l

amp_in_r

amp_out_l

amp_out_r

cpu_avg

cpu_peak

pitch_in_l

pitch_in_r

script init

SCRIPT ERROR: init

/home/we/dust/code/fm7/fm7.lua:85: attempt to call a nil value (field ‘amp’)

stack traceback:

/home/we/norns/lua/core/norns.lua:185: in field ‘amp’

/home/we/dust/code/fm7/fm7.lua:85: in function ‘init’

/home/we/norns/lua/core/script.lua:71: in function ‘core/script.init’

[C]: in function ‘xpcall’

/home/we/norns/lua/core/norns.lua:186: in field ‘try’

/home/we/norns/lua/core/engine.lua:83: in function </home/we/norns/lua/core/engine.lua:82>

>> reading PMAP /home/we/dust/data/fm7/fm7.pmap

#36

Getting the same error here, I think we might just need to wait for the next release from @lazzarello

#37

Glad it’s not just me. No worries. There’s plenty to explore. I’m stoked that so many people are sharing such cool things.

#38

FWIW it’s working fine for me. I just re-installed FM7 and it worked on 2.0, then updated to 2.0.1 and it’s still working. maybe try grabbing the zip again?

1 Like
#39

It appears the system has not loaded the engine on your device. This is strange and should never happen. How did you install the script?

#40

Downloaded the script from the link and on another attempt from github as a zip. Deleted master from the folder name and used cyberduck to upload via norns as a hotspot.what can I say? I’m just awesome like that!