Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - mario

Pages: [1] 2 3 ... 10
Hardware Questions / Re: Sync CV
« on: Today at 09:59:04 AM »
Hi Nico,
Controlling tempo from external sources is not yet implemented in the current firmware.
Working on it! :)

The incoming MIDI data is parsed all the time so it is no problem to make it as flexible as we want. Once there is a "bank select" or "program change" message (or both, as in your example), it can stop what plays and start a new channel/patch, with either 2 or 3 byte messages (2 bytes to cover channels with shorter number, 3 bytes for up to 6-number channels). Using keys is probably not too useful once your controller can send arbitrary messages. Still handy with simpler controllers like Keystep, for easier starting of a new channel (while you'd need to press RST to stop the current one). No worries your English is great :)

Actually it can be both at the same time, without blocking keys and no need for configuration (unless we really want to avoid possibility of triggering something by pressing random keys accidentally).

-- While idle we can listen to everything as MIDI notes are ignored there anyway.
-- While playing we can decode MIDI notes normally and still listen to "program change" command which will stop the currently running channel/patch and start a new one.

This would allow to dial directly to a certain patch (if the channel has more than one patches) or even define "patches" as a set of pre-configured settings (which tempo, which delay, filter etc..)

I'd still prefer to avoid necessity for editing the config file, it is not that hard but requires fiddling with SD card, or connecting via USB and installing some utilities for uploading/downloading it. So ideally whenever you arrive at a certain combination of settings, you can save it under a new "channel" code (which will then automatically become accessible also using both methods via MIDI).

Feature Requests and Feedback / Re: Stored chords
« on: January 31, 2020, 09:42:40 AM »
Ah sorry I misunderstood what you meant by a slot. This function existed in v1 as "editing", I just forgot to port it over, thanks for reminding. An indication with looping chords when loading, or browsing the slots, is a good idea (maybe just first 4 of them, or it will be a chaos to look at).

You're correct about channel 31, it doesn't know what pitch the incoming signal is at, it only acts as a relative pitch shifter. Before you play on MIDI keyboard or load a chord progression, it uses C5 major as a default chord (or changing to minor using S3). So, we could say that it assumes the incoming signal has a pitch of C5 (523.25Hz), then shifts it over to E5 and G5, and depending on sensor S4 (number of voices), adds the same notes at higher and lower octaves.

So indeed if you want to keep in tune with the c major chord, you need to whistle or sing at the exact same note. But later as the chord changes, you'd need to keep at the same initial note for it to stay in tune, instead of changing to another note the new chord is based on. That's because this algorithm will shift everything against frequency of C5 all the time, even if the chord has changed (otherwise you'd get just the same chord all the time after locking the sampling down with S2). Without S2 locked it may require some practice to keep in tune, mainly when singing, as what you hear back will be at varying pitch and sound confusing (just my assumption as I can't sing :) ).

re Pyton: looks like I replied to earlier version of your comment without noticing it has changed meanwhile ;D

I suggest using the program change and midi bank select programs (3 octets).

1/MIDI Controller  0 = Bank Select MSB (Most Significant Byte)
2/MIDI Controller 32 = Bank Select LSB (Least Significant Byte)
3/Program Change

most keyboard and controller have this capability
In that case this would transmit up to 444444

Interesting. Do you know if Arturia Keystep has this capability? I don't have any other MIDI controller right now. For simplicity and maximum compatibility I thought maybe just using white keys, while idle, could do the same task (for example c=1, d=2, e=3, f=4, g=SET, any other key for RST).

maybe I have to learn the c language  to try to program these suggestions myself, I'm afraid, mario, that you are already overworked

-- That would be great! but it's all in c++, python is only used to upload/download firmware and config ???

the possibility of calling channels with midi could be cool

-- Interesting idea, and easy to do! But how to encode channel number on the MIDI controller?

ability to configure in config.txt the default delay value (B3) for each channel could be cool too.

-- Duly noted, it would require some expanding of the format. but easily doable.

another idea: a tap tempo (with a sensor for exemple) to define the default delay value (B3)

-- I have this in progress, together with detecting tempo from MIDI clock and Pocket Operator type sync. It almost made it into the recent update but was causing some instability so I've left it out.

It could be nice if we could define in config.txt  the default values of the parameters for certain channels (for example channels 23, 24, 32) (i.e. a way to save certain finds during exploration with display on terminal).

-- Editing config is cumbersome, indeed it would be way cooler to save a "snapshot" of current settings, as a new channel. There is enough channel numbers available. 8)

Feature Requests and Feedback / Re: Stored chords
« on: January 29, 2020, 09:10:29 PM »
Is there a way of calling up and viewing which chords fill up a saved slot? I'm probably just missing it...

-- not at the moment, I thought about it but haven't figured out how to indicate that, as there is no display. Unless we want to go the BCD route, like the serial number and firmware version check works. Maybe just rely on user remembering what they saved where, and also allow to browse all occupied slots, in "previous/next" fashion... Any ideas? :)

And to then have the sample played in key per the chords, should the sampled note be the root note of the first chord programmed in the progression?

This is in progress. The v1 model could play the melody line with a "toy box" stored sample. What is still missing is a mechanism to edit the melody with the device (currently the only way is to edit the config file in a computer). The v2 model will be able to select a sample from SD card for the melody voice and play it together with chord progression.

Ah you mean kind of what Granular (#31) can do with stored chord progression? It should work, only that Clouds (#34) is monophonic so it would only take the first of the 3 notes, or arpeggiate through the chord (that would be cool! 8) )

Then it makes sense to unify it with Dekrispator, which currently uses it's own sequencer. Those 2 engines were created by other developers and released as open source, I merely ported them over and enabled the very basic modes of operation and preset parameters that I considered interesting and useful in the context of Gecho. Of course this is still quite half baked as there are many things that could be done - most important is to bind parameters to sensors. Maybe also have an option to pick different four parameters from the total available, to mangle the sound in various ways but with simplified controls.

Completely agreed - Clouds is one of the most interesting sound engines, I need to get back to it.

You can mute the background sample with locking the S2 sensor at triggered level:

-- check the paragraph "IR Sensors Override", press B2 2-3 times and watch the orange LED lights (there is a mistake in the printed manual, it does not lock it at its current position but rather adjusts the level by pressing buttons repeatedly)

-- or you can switch the controls to accelerometer (via "configuration settings" menu or with 3333-SET) and place the unit sideways at such angle where the background sample is quiet.

By the way previous discussion in this thread relates to v1 model, which was based on STM32F4 and rewriting its own sample storage was tricky so I never got to implement it. However the v2 model with ESP32 has no problem doing that and contains a lot more Flash memory (16MB instead of 1MB). For now it only rewrites areas with settings or user data, and for working with custom samples, only the SD card is used. The next firmware update will have function to use material recorded on SD as background sample in 1111-1114 and possibly some other channels which normally feed in external audio (e.g. Granular or Clouds).

Feature Requests and Feedback / Re: Feedback
« on: January 25, 2020, 09:22:48 PM »
Glad you like the synth, thank you for a nice feedback! :)

Well yes with default settings it works as you say - it should be possible to achieve what you want by either locking the sensor S2 at "recording" position, or changing the MIDI polyphony setting, to some mode where the "note off" is ignored (as if you kept holding the keys):

-- check the paragraph "IR Sensors Override", press B2 2-3 times and watch the orange LED lights (there is a mistake in the printed manual, it does not lock it at its current position but rather adjusts the level by pressing buttons repeatedly)

-- and the "MIDI Polyphony" setting, some of the SUSTAIN_* modes should be useful here.

Hardware Questions / Re: Gecho2 lipo charging
« on: January 22, 2020, 06:00:12 PM »
Thanks for the update. Now I'm wondering if the built-in protective circuit is the culprit. I can send you one that is tested to work well and you can add it between the board and 18650 (there is place for it at the inner side of the bottom panel). It isn't required for Li-Po as they have own protection, that's why you don't have it now, but for Li-Ion it might influence the behaviour. However I never tried charging Li-Ion without it. Might be worth a try and it's easier to solder than changing the MCP73831 chip. Of course you're welcome to send it back for replacement.

Feature Requests and Feedback / Re: Firmware What's next
« on: January 15, 2020, 10:43:47 PM »
Glad to hear you're having fun! :)
That function already works well but I'm not sure yet which controls to attach it to (a key combination or menu). Also it would be nice to select which recording and maybe "from-to" point for looping. Currently it takes the last recording and loops the entire length of it. This will surely appear in the next update, even if in the most rudimentary form - it's quite cool and creates interesting effects. You can use recording from any channel, either external sound or something that's already been processed.

Hi Alex, thank you for the great tip! :D Now it should be easy to remove it with anything, a door key or even the SD adapter itself.
I thought about drilling a tiny hole through the edge of the card and putting a short string or a piece of wire through it (no idea if safe, perhaps not). This is a lot better! I've linked to this thread from the manual.

Hardware Questions / Re: Gecho2 lipo charging
« on: January 13, 2020, 05:00:39 PM »
Have you tried any other Li-Po in the same board?

From my experience it is rather unusual for it to not work, when you find that "magic" combination of charger & cable. So the problem seems to be in board or battery. I've charged it from power banks without any problem. I don't even think it needs precisely 5 Volts or that much current, what matters is rather that there is no micro-resistance anywhere in the circuit.

Occasionally [maybe one time in ten] the orange 'usb' led comes on and remains illuminated when testing with a battery back-up unit. Weird.

-- looks like the USB driver thinks CPU is transmitting some data, if it happens while powered off, it's just a glitch. Those are 2 independent circuits, whatever the USB driver does should not influence charging.

PIC are great, I've started with them as well, assembler was enough when the memory was tiny, but thankfully c exists too :)

Ah there is no community, I've heard from one-two enthusiastic people but there was no contribution to the code base yet. Hopefully it will change as the amount of users grows.

But big thanks indeed to all who release their projects as open source, so bits and pieces can be used elsewhere.

Pages: [1] 2 3 ... 10