5 Moons Mods

Hi,

I recently received a 5 Moons, and I really love playing with it. It’s a deceivingly sophisticated object, and it is beautifully made.

I modified mine slightly to use an internal rechargeable battery that charges from the existing USB-C connection. I’ve done the same to my Striso and Wingie 2, and together they are great fun.

I also made some modifications to the 5 Moons Pd script, to suit my preferences: monitor and loop mode enabled by default, as well as always starting with a new blank song at power up, rather than selecting the first song by default (to save me from recording over my first song accidentally).

I’d be happy to share the updated patch if it’s ok with C&G for me to do so.

5 Likes

Wow, nice! I would love this PD script variation actually, as I almost exclusively use loop mode.

please do share your PD variant!

@KeurslagerKurt @sgotb here it is.

To recap, it:

  • Enables loop mode by default
  • Enables monitor on by default
  • Always starts on a new, blank song (at startup, if the last folder in the /sdcard/songs location contains any files, then it creates a new blank song and sets it as the current one).

To use:

  • Make sure you already applied the stereo update
  • Replace main.pd in the 5 Moons /pd/ folder

Let me know if you have any issues with it!

You can download it at the link below (as a new user, I can’t upload files to a post):

3 Likes

Works like a charm, thanks for sharing!! :smile:

What is the use of the toggle switch on the rear of the Wingie 2 ?

It controls the power for the internal battery mod:

I did a similar thing to the 5 Moons (except it doesn’t need a power switch - the built in soft power button works great for this).

2 Likes

Nicole
Many thanks for the instructions, but It would probably go wrong for me

I’m interested in getting the 5 Moons, assuming I can modify the PD script to quantize loops to multiples of the length of the first one. I’m currently using the 1010 Blackbox for this, and not really enjoying the experience.

I plenty of programming experience, but nearly zero PD chops at the moment - I’ve started learning, but it’s like day 2…

So: @nicovr seeing as you’ve had success in modifying the script I wanted to ask a few things :slight_smile:

  • Did you find documentation about the internals somewhere? Does something come with the instrument? I’ve been trying to find something but have drawn a blank so far.

  • Did you figure out a way to run / debug the PD script on computer? I would love to try to make so I can get things work to before committing the money…

  • My main goals in order of importance are: (1) Quantizing tracks to multiples of track 1 length, ie. waiting for next loop start to start recording, and stopping recording not when the button is pressed, but at the next multiple after that. (2) Hijacking one of the input stereo channels for clock, for syncing loops with external clock. (3) Signaling loop progress using the LEDs akin to BeatBuddy’s visual metronome. (4) Making this vs default behaviour accessible by pressing a button during power-on. With what you’ve been able to figure out, do these seem doable? Easy? Hard? Impossible?

  • Is there a better place to talk about 5 Moons hacking?

(I would obviously love an official answer to any of these as well…)

Got far enough with a small clean room POC to know that the issue won’t be in the logic, but getting loops to be exactly the same length and playing exactly in sync - and I don’t understand timing issues of Pure Data nearly well enough for that yet.

This one kind-of-sort-of synchronizes the loops it records, but the second loop ends up being a couple of milliseconds longer.

Very cool! To try answer some of your questions:

  • I didn’t find any documentation. I started from the Pd patch in the 5 Moons, and went from there. It’s nicely laid out and legible. This is my first experience with Pd too. I recommend downloading the path from the link I posted above and having a look.

  • I managed to get enough things in the script to work on my computer, but not everything. For my purposes I only really needed file access to test the song management logic, and I was able to do this by getting the relevant packages through Deken. I didn’t try to get any audio processing working. I imagine one challenge will be to simulate the controls (LEDs, buttons, sliders) - might need do build some stub scripts to simulate those locally.

1 Like

Thank you! I’ll need to dig a bit deeper :slight_smile:

Looks like the hardware is pretty nicely isolated, so I’m thinking it should not be too hard to make relatively simpleup that allows running the script on computer or on the device - making a mockup interface either directy in PD or on a small webpage.

I just wish I knew how the buttons are handled outside the PD: being able to distinguish long presses from short ones would be really useful for adding new behaviours…

Then again, for my purposes the next/prev song buttons don’t seem very important so maybe I could just hijack those. :slight_smile:

Got my mockup making sample-accurate recordings, though I still didn’t manage to sync it with external audio, ie. there’s a clear shift when it moves from monitoring to playback. But progress! :fire:

2 Likes

In case the developers read this: is there a reason for using folder_list instead of [file glob], and shell + mkdir instead of [file mkdir]?

Aside from the actual HW interfaces those seem to be the only things that prevent main.pd loading cleanly into PD Vanilla, and replacing them seems pretty straightforward.

EDIT: also - am I correct that the buttons are all momentary? That’s the way it seems from the SW, but I could be confused.

I think installing the ggee library made things like shell + mkdir work for me.

I do believe all buttons are momentary.

1 Like

Thanks! I’m currently on Windows and ggee’s shell is unimplemented there, but [file mkdir] from builtins works… so I guess the question becomes if [file mkdir] works on the actual hardware.

Here’s a port that should work on PD Vanilla (“works on my computer”), with a small GUI that mirrors the HW controls.

No intentional behaviour changes, untested on actual hardware.

nikodemus/kuutamo: Unofficial Vanilla PD port of the 5 Moons firmware, runnable on computer. (github.com)

1 Like

Not coding savvy, but would be absolutely thrilled with the pitch mod mentioned!!

@nicovr thank you for your mod… that’s exactly how i want to be using it (new song on startup is clutch!!)

1 Like

Things have been going pretty slow, but just realized I have a PiSound shield sitting around, and I ported my fork of the firmware to run on RasperryPi it as well, using the PiSound for audio and patch loading logic.

Which PD version does the hardware use? The current kuutamo should be able to run on unmodified 0.53.1, prior to that the file handling is so bad in PD I’m not very motivated in making things work portably…

nikodemus/kuutamo: Unofficial Vanilla PD port of the 5 Moons firmware, runnable on computer. (github.com)

I would like to see a button repurposed as a shift key.

I would rather bounce-down involve two keys than one. Less chance of a mistake.

Shift + knob could be used for pitch adjustment. :sunglasses: