HI!
The way I see it is if you want to make some new control software for the x0x - if it needs it - there is nothing stopping you from charging a few dollars for it , especially if you bring lots of new features .
The current one is there and will be for .... ever. Its the free version.
List the features and see if its worth the time. Personally I don't use the software, I think a removable media for song storage would be better.
c0ntr0l replacement - expressions of interest required
Moderators: altitude, adafruit_support_bill, adafruit, phono, hamburgers
Please be positive and constructive with your questions and comments.
-
- Posts: 221
- Joined: Mon Nov 23, 2009 9:34 pm
- rv0
- Posts: 395
- Joined: Tue Jul 14, 2009 4:50 pm
Re: c0ntr0l replacement - expressions of interest required
oh well... I'd rather program it myself than pay money for it.
as soon as anyone charges for it i'll have a motivation to do so.
as soon as anyone charges for it i'll have a motivation to do so.
- paradigm x
- Posts: 237
- Joined: Sun Feb 07, 2010 3:49 pm
Re: c0ntr0l replacement - expressions of interest required
i think charging a reasonable amount of money for your time is acceptable... $10 sounds about right imho.
for feature requests id second a convert to standard midi file (overlapping notes for slides) and ABL format/back again option.
But most important just just save and load all pattern data would be great.
Cheers
for feature requests id second a convert to standard midi file (overlapping notes for slides) and ABL format/back again option.
But most important just just save and load all pattern data would be great.
Cheers
- j00lz
- Posts: 75
- Joined: Fri Mar 31, 2006 6:03 am
Re: c0ntr0l replacement - expressions of interest required
Just a quick heads up...
First of all thanks for all the feedback. It's been really helpful.
As far as development goes I am making really good progress. I can now read and write ABL/FreeBee (".pat") format. I can import multiple pattern files and upload them to the box with just a few mouse clicks. Patterns that exceed 16 steps are automatically split and spread over multiple locations as required. I can round-trip patterns to and from the b0x and they stay the same, which is good
One issue I have found is that the patterns I import from ABL (I'm using the patterns supplied with the demo) sound one octave too high on the x0xb0x. I *think* ABL is tuned one octave lower than is standard, e.g. the x0xbox' C-1 (32 Hz or thereabout, which is standard) is actually denoted as C-2 in ABL. This would also explain why some of the ABL patterns contain notes in octave 6, which exceed the x0xb0x's valid range. Could any long-standing ABL users confirm this? If that is the case I could always add an option to automatically transpose when exporting/importing.
As far as backing up tracks (sequences of patterns) is concerned the x0xb0x firmware defines messages to use but does not actually implement the handling of the said messages. I *think* I can use the pattern access commands to read/write track data as they lack bounds checking, so for example I could read/write pattern banks numbers greater than 16 to access track data . It just complicates things a little bit... Anyway I should soon know for sure whether it's feasible or not. If not I'll just create (yet) another fork of the firmware
On the Mac OSX front I had a quick go at running "custom" versions on both VirtualBox and my Dell Mini 9, but no luck so far. I'll spend a bit more time on it once I've actually got something worth deploying
First of all thanks for all the feedback. It's been really helpful.
As far as development goes I am making really good progress. I can now read and write ABL/FreeBee (".pat") format. I can import multiple pattern files and upload them to the box with just a few mouse clicks. Patterns that exceed 16 steps are automatically split and spread over multiple locations as required. I can round-trip patterns to and from the b0x and they stay the same, which is good
One issue I have found is that the patterns I import from ABL (I'm using the patterns supplied with the demo) sound one octave too high on the x0xb0x. I *think* ABL is tuned one octave lower than is standard, e.g. the x0xbox' C-1 (32 Hz or thereabout, which is standard) is actually denoted as C-2 in ABL. This would also explain why some of the ABL patterns contain notes in octave 6, which exceed the x0xb0x's valid range. Could any long-standing ABL users confirm this? If that is the case I could always add an option to automatically transpose when exporting/importing.
As far as backing up tracks (sequences of patterns) is concerned the x0xb0x firmware defines messages to use but does not actually implement the handling of the said messages. I *think* I can use the pattern access commands to read/write track data as they lack bounds checking, so for example I could read/write pattern banks numbers greater than 16 to access track data . It just complicates things a little bit... Anyway I should soon know for sure whether it's feasible or not. If not I'll just create (yet) another fork of the firmware
On the Mac OSX front I had a quick go at running "custom" versions on both VirtualBox and my Dell Mini 9, but no luck so far. I'll spend a bit more time on it once I've actually got something worth deploying
- antto
- Posts: 1636
- Joined: Thu Apr 15, 2010 3:21 pm
Re: c0ntr0l replacement - expressions of interest required
usualy on a 303 (or a propper 303 clone, like ABL) when you hit the lower "C" key without adding any transpose, and the TUNING knob is centered - this is supposed to be C-2 (2nd octave)
C-2 in the x0x is 0x17 (23)
note: on a 303, the lowest note you can achieve in the sequencer (not counting the TUNING knob) is C-1
C-2 in the x0x is 0x17 (23)
note: on a 303, the lowest note you can achieve in the sequencer (not counting the TUNING knob) is C-1
- dnigrin
- Posts: 123
- Joined: Fri May 15, 2009 5:24 pm
Re: c0ntr0l replacement - expressions of interest required
I don't know myself re: the ABL question, but why not just implement it as a Preference (to do the transposition), which the end user could uncheck if they so desired?j00lz wrote:If that is the case I could always add an option to automatically transpose when exporting/importing.
Haven't done it myself, but I had stumbled across this a while back, perhaps it helps if you've not seen it before:j00lz wrote: On the Mac OSX front I had a quick go at running "custom" versions on both VirtualBox and my Dell Mini 9, but no luck so far. I'll spend a bit more time on it once I've actually got something worth deploying
http://i.gizmodo.com/5156903/how-to-hac ... -x-netbook
- rv0
- Posts: 395
- Joined: Tue Jul 14, 2009 4:50 pm
Re: c0ntr0l replacement - expressions of interest required
about midi note numbers, there's different ways its done, there are 127 note numbers, there's 3 ways to look upon them:
1)
0 = C0, 1= Cis0, 12 C1 ... 60 = C5
(used in a lot of windows softs)
2)
0 = C-2, 12 = C-1, 24 = C0, 60 = C3
As found on Yamaha, Korg, and most computer software on the mac platform, plugins, ...
3)
0 = C-1, 12 = C0, 60 = C4
This is the way Roland (and Kurzweil) do it. Some software (Logic) has a compatibility mode for it.
As you can see, the Roland notation (3) is one octave off from the "normal" notation (2)
Maybe thats it?
1)
0 = C0, 1= Cis0, 12 C1 ... 60 = C5
(used in a lot of windows softs)
2)
0 = C-2, 12 = C-1, 24 = C0, 60 = C3
As found on Yamaha, Korg, and most computer software on the mac platform, plugins, ...
3)
0 = C-1, 12 = C0, 60 = C4
This is the way Roland (and Kurzweil) do it. Some software (Logic) has a compatibility mode for it.
As you can see, the Roland notation (3) is one octave off from the "normal" notation (2)
Maybe thats it?
- j00lz
- Posts: 75
- Joined: Fri Mar 31, 2006 6:03 am
Re: c0ntr0l replacement - expressions of interest required
^
I think you're on the right track there. I'm looking at the image below for reference. Ultimately, numbers are meaningless without a unit. c1 in "standard" (international) MIDI should produce a sound with a frequency of 32 Hz or thereabouts. The ABL plugin produces this frequency when c2 is hit. I think it is tuned one octave lower.
I think you're on the right track there. I'm looking at the image below for reference. Ultimately, numbers are meaningless without a unit. c1 in "standard" (international) MIDI should produce a sound with a frequency of 32 Hz or thereabouts. The ABL plugin produces this frequency when c2 is hit. I think it is tuned one octave lower.
- paradigm x
- Posts: 237
- Joined: Sun Feb 07, 2010 3:49 pm
Re: c0ntr0l replacement - expressions of interest required
Cool, sounding good.
If you are after more feature suggestions, someone wrote a clever 'random' pattern generator, with definable parameters as to which notes etc used;
http://sourceforge.net/projects/midirandomizer/
It spits out ABL .pat files and midi files.
Irrespective of the randomisation, which the above handles anyway, I think midi files would be a useful addition - i.e. exported/saved x0x patterns can be saved as standard midi files.
Sounding very promising tho, cheers.
Ben
If you are after more feature suggestions, someone wrote a clever 'random' pattern generator, with definable parameters as to which notes etc used;
http://sourceforge.net/projects/midirandomizer/
It spits out ABL .pat files and midi files.
Irrespective of the randomisation, which the above handles anyway, I think midi files would be a useful addition - i.e. exported/saved x0x patterns can be saved as standard midi files.
Sounding very promising tho, cheers.
Ben
- antto
- Posts: 1636
- Joined: Thu Apr 15, 2010 3:21 pm
Re: c0ntr0l replacement - expressions of interest required
i checked, yeah, in ABL it's C-3 not C-2antto wrote:usualy on a 303 (or a propper 303 clone, like ABL) when you hit the lower "C" key without adding any transpose, and the TUNING knob is centered - this is supposed to be C-2 (2nd octave)
C-2 in the x0x is 0x17 (23)
note: on a 303, the lowest note you can achieve in the sequencer (not counting the TUNING knob) is C-1
this is a little bug in the original FreeBee pattern format, which hasn't been fixed in ABL because older patterns already existed, so yeah, in FreeBee format everything is one octave higher..
-
- Posts: 2
- Joined: Wed Sep 08, 2010 3:51 pm
Re: c0ntr0l replacement - expressions of interest required
before x0x i was using mam 33mb with seq303 soft sequencer for windows -> http://www.sonicspot.com/seq303/seq303.html, maybe some ideas from this sequencer could be used in c0ntr0l? Just a thought.
- paradigm x
- Posts: 237
- Joined: Sun Feb 07, 2010 3:49 pm
Re: c0ntr0l replacement - expressions of interest required
Any news on this?
- j00lz
- Posts: 75
- Joined: Fri Mar 31, 2006 6:03 am
Re: c0ntr0l replacement - expressions of interest required
Sorry for the lack of updates...
I have made very good progress. I have decided to go with two separate applications:
- SafeB0x: Full back up and restore of the x0x b0x EEPROM. This includes track/song data. It is format agnostic, which means it works with all current and future flavours of the x0xb0x firmware, as long as they implement the READ_PATTERN and WRITE_PATTERN control messages (as far as I know they all do). This application is ready for distribution, I will post a link in the coming days. Currently Windows only. It does build and run on Mac OS X, but the .Net SerialPort class implementation appears to be buggy and I haven't been able to get it to work yet. This may change in the future, but I didn't want to waste too much time on this at this state. It is more likely to work on Linux, although I haven't tried. It will be completely free.
- K0ntr0l: As above, but with many many more features. Import of patterns from ABL (.pat) and Rebirth (.rbs) is supported. I will add support for other file formats in the future, depending on user feedback. Export is currently only to ABL and MIDI. Again, users will decide on what formats get implemented next. Multiple patterns can be imported and assigned to consecutive banks/positions with just a few mouse clicks. Patterns that exceed the 16 steps limit are automatically split and assigned to consecutive positions. Patterns can be named. Sets of patterns can be defined and recalled with ease as well. It is basically a pattern librarian and editor, with full x0xb0x connectivity. It is possible to push modified (or altogether different) patterns to the x0xb0x while the box is playing, I have been having a lot of fun with this feature . Multiple pattern editors will be provided (text, graphical...etc). This application will be released in the coming weeks, as shareware. It will be very reasonably priced. Again, support for Mac OS X is pending resolution of the issue mentioned above. I'm pretty sure it will come eventually but I can't say when...
I have made very good progress. I have decided to go with two separate applications:
- SafeB0x: Full back up and restore of the x0x b0x EEPROM. This includes track/song data. It is format agnostic, which means it works with all current and future flavours of the x0xb0x firmware, as long as they implement the READ_PATTERN and WRITE_PATTERN control messages (as far as I know they all do). This application is ready for distribution, I will post a link in the coming days. Currently Windows only. It does build and run on Mac OS X, but the .Net SerialPort class implementation appears to be buggy and I haven't been able to get it to work yet. This may change in the future, but I didn't want to waste too much time on this at this state. It is more likely to work on Linux, although I haven't tried. It will be completely free.
- K0ntr0l: As above, but with many many more features. Import of patterns from ABL (.pat) and Rebirth (.rbs) is supported. I will add support for other file formats in the future, depending on user feedback. Export is currently only to ABL and MIDI. Again, users will decide on what formats get implemented next. Multiple patterns can be imported and assigned to consecutive banks/positions with just a few mouse clicks. Patterns that exceed the 16 steps limit are automatically split and assigned to consecutive positions. Patterns can be named. Sets of patterns can be defined and recalled with ease as well. It is basically a pattern librarian and editor, with full x0xb0x connectivity. It is possible to push modified (or altogether different) patterns to the x0xb0x while the box is playing, I have been having a lot of fun with this feature . Multiple pattern editors will be provided (text, graphical...etc). This application will be released in the coming weeks, as shareware. It will be very reasonably priced. Again, support for Mac OS X is pending resolution of the issue mentioned above. I'm pretty sure it will come eventually but I can't say when...
- paradigm x
- Posts: 237
- Joined: Sun Feb 07, 2010 3:49 pm
Re: c0ntr0l replacement - expressions of interest required
Awes0me news !
Safebox will be wicked anyway, now i can safely try n0n0x0x firmware.
I will almost certainly get the full version as well once its released.
Youve also neatly made everyone happy with a free version.
Nice one for you hard work!
Safebox will be wicked anyway, now i can safely try n0n0x0x firmware.
I will almost certainly get the full version as well once its released.
Youve also neatly made everyone happy with a free version.
Nice one for you hard work!
- antto
- Posts: 1636
- Joined: Thu Apr 15, 2010 3:21 pm
Re: c0ntr0l replacement - expressions of interest required
in the so called "SafeBox" there _should_ be a way to extract the whole eeprom memory
the "READ_PATTERN" message - if you're talking about the RD_PATT_MSG thing in compcontrol.c - this is not really copying the "whole" eeprom at all
the original x0xb0x firmware stores 128 patterns of 16bytes each, that's 2048 bytes, while the eeprom is 4KB afaik
n0nx0x on the other hand stores again 128 patterns of 21bytes, but will use even more of the eeprom memory for other things
right now, my RD_PATT_MSG will indeed return the 21 bytes of the Nth pattern like it should, so in theory it should be possible to extract a n0nx0x memory file
another problem
c0ntr0l's "backup EEPROM" algo probably "scans" 16 banks by 8 pattern slots because this is how it looks like in compcontrol.c
this is very bad then
a possible solution:
we should implement a sepparate message in compcontrol.c for extracting the EEPROM memory, not patterns!
the new "c0ntr0l" app, whatever it's called should have a sepparate feature for this too
the "READ_PATTERN" message - if you're talking about the RD_PATT_MSG thing in compcontrol.c - this is not really copying the "whole" eeprom at all
the original x0xb0x firmware stores 128 patterns of 16bytes each, that's 2048 bytes, while the eeprom is 4KB afaik
n0nx0x on the other hand stores again 128 patterns of 21bytes, but will use even more of the eeprom memory for other things
right now, my RD_PATT_MSG will indeed return the 21 bytes of the Nth pattern like it should, so in theory it should be possible to extract a n0nx0x memory file
another problem
c0ntr0l's "backup EEPROM" algo probably "scans" 16 banks by 8 pattern slots because this is how it looks like in compcontrol.c
this is very bad then
a possible solution:
we should implement a sepparate message in compcontrol.c for extracting the EEPROM memory, not patterns!
the new "c0ntr0l" app, whatever it's called should have a sepparate feature for this too
Please be positive and constructive with your questions and comments.