Jump to content


  • Posts

  • Joined

  • Last visited

About cheater

  • Birthday 01/01/1

Profile Information

  • Gender
    Not Telling

cheater's Achievements

MIDIbox Addict

MIDIbox Addict (2/4)



  1. I will again request predelays (negative delays) :) I think this is a very useful feature and I think MB SEQ could function very well with that. Other things: I'm sorry if any of those features already exist or are planned. MB_SEQ is such an extensive solution, there's no way someone could use all of its options in my opinion, especially including the community enhancements! I guess this is just an attempt at showing how I would see the workflow with the SEQ... I think the MB SEQ could see it very useful to have a good performance FX section, for shaping the tracks not by creating the tracks from scratch (programming), but by mangling and mashing up. Take a track, apply some effects, and bounce that to another track. Some ideas for fx: 1. beat repeat (just rip off ableton! :P) 2. midi delay (it's implemented already, but it's in the same bag) 3. flam (to use the higher density of tracks) 4. stretch (multiply or divide by integer) 5. move: start the 'move' option, select the first step, e.g. step 2, then another step, e.g. step 4. then step range 2-4 will be placed after the third step you click on. so if you click on step 7, this will happen original 8-step sequence: 12345678 selected: 1[234]5678 (selected steps are blinking) you click on 7, and the result is: 15672348 6. pattern freestyle: this fx has one parameter, length. when you turn it on, the sequencer stops playing. you click on a step and it starts playing from that step, and stops after <length> steps. <length> can be set to unlimited. if you click and hold, it could repeat <length> steps. it's important that the parameter can be changed in real time. 7. copy-paste: works like move, but instead of moving steps, it overwrites. so for example: original: 12345678 selected: 1[234]5678 you click on 6 you get: 12345234 if the range would fall off the end of the loop, it just wraps around. e.g. original 12345678 selected: 12[345]678 you click on 7 you get: 52345634 << the first '5' is wrapped around. 8. harmonizer: harmonize notes to scale. make sure it's non-destructive so you can modify the scale. you could even use harmonic progressions instead of scales, it would basically be a look up table: C -> ? C# -> ? D -> ? D# -> ? E -> ? F -> ? etc. What you could do is harmonize everything to pentatonic, e.g. C->C#, C#->C#, D->D#, etc or just do something like this: C->C, C#->B, D->Bb, D#->A, etc... basically reversing the notes. This would create something like inversions, but not :) 9. note wraparound: this creates very interesting chord inversions. You set two params, a 'top' and 'bottom' note. anything that's above the top note gets lowered by 1 octave, anything that's below the bottom note is moved one octave up. Top and bottom notes can only be 11 semitones apart, no closer, so bottom would be C3, and the top could only be B4. This is so that any input notes can be mapped to a resultant note of some kind: otherwise the algorithm wouldn't have an outcome for some notes. If you have the situation with bottom=C3 and top=B4 and you lower the top to top=Bb4, then the bottom would be lowered as well. This would allow some interesting performances. Each of those effects could work on a whole track, or just on a pattern, or just on a part. It would be cool if you could move/copy between parts, or between patterns. I think this list of fx modifiers could grow. It could be useful to make them pluggable in other places, e.g. maybe in the future someone could want this functionality in MB_SID 303, or in a midi filter module. Certainly using a C function would be very feasible, you feed it the parameters and the array of steps, and it spits out a new array of steps. More things, from most feasible to least: - friendly MIDI destination names. E.G. I want "MIDI out #2 channel 12" to be called AKAI from now on :) of course this should be user definable, without reprogramming the firmware :) - metronome audio output. would be very very useful to work with DJs. Maybe even a kick-snare sorta output to make it easier on the ears, I think Logic has a feature like this. This is a very pleasant way for live musicians to sync to a computer (a sort of MIDI2Brain interface). This could possibly be an extra module. Maybe a possible function for the PIC cores left over from older versions of the SEQ. - USB dongle support instead of SD cards. Those are, for one thing, much more common and easier to use and easier to find (imagine this scenario: you're a big dj, you're playing on burning man for 500,000 people. your laptop's usb SD card reader is lost/destroyed/stolen/abducted by aliens to examine its 50 different openings. there isn't one in the radius of a thousand miles since you're on a desert. how do you dump your tracks from your laptop for MB_SEQ to use?) - Ms Pinky or Serato Scratch Live or Final Scratch timecode output. This would allow syncing mp3s with the midi sequencer. This can already be done through ableton live though, put your track in ableton and make ableton sync to the MB SEQ. Just another idea, not really the highest priority, but the hardware allows it and maybe someone will pick it up. I don't point to it as a request, rather as a possibility. It might spark a bigger idea in someone else's head. - script support, some lightweight language. For generative sequencing. I guess what you want is flow control and support for recursive functions, and some variable support. - support for DVI output to have a huge sexy display. I want the whole world to know I'm using the MB_SID. Also, it would be much easier to simply sit back and relax instead of crouching over the tiny LCDs. And would allow display of all tracks at the same time.. etc etc and so on and so on... ahh imagination you seduce me - tetris to have something to display on that LCD :P
  2. I'm not sure how exactly sound is output from the POKEY, but.... if it goes to a DAC, then you can buffer that, and read it asynchronously from a DAC, to change the pitch. no more problems with exact pitch. then, a single pokey chip can be used as a four-voice chip. if it gets output directly, maybe you can reclock the POKEY to change the pitch of the output? good idea? if the pokey can be reclocked, you can couple it with a simple uC which would run at the same frequency as the pokey (especially when it's being reclocked. then you could have a sram buffer for the control info that gets written to by the 'outside' logic, and have the pokey-glue-uC reading from that sram and sending to the pokey itself. then, the single pokey chip can be used as a 2/3/4 osc voice. as i understand pokey chips aren't too difficult to find - so this option is cooler imo :) 4 pokey oscillators are something! hell, you could do ringmod, or maybe even simple FM between them? :) Cheers, D.
  3. Oh - sorry - for some reason I thought what you meant was, just delay the separate gates. Then set the group delay by hand in the DAW to the maximum delay you're having on the gates. But in that case, that's great! Hmm, yeah... but one can wish. TK, no worries, if i try to come up with something, i'll try to get as far as possible without bugging anyone. I understand you are devoting as much time as possible already, and would only love to contribute and make your life easier one day if I somehow can. Cheers!
  4. stryd: using instruments should be at least hassle-free. Do you think people would play drums if they couldn't compensate for the time it takes their hands to reach the drums? That would sound silly at most ;) Or how about a guitar that needs to be retuned every 20 seconds... a hassle, but the guitar can still be played... ;) Sure, you can do 'everything' with enough effort; the question is whether the amount of effort is still sane! lars, I think the MB SEQ side is 'compatible' with that already. Just do this: use two gates, and two envelopes, trigger gate 1 one quarter earlier than gate 2. Gate 1 goes to env 1 with a long attack, gate 2 goes to env 2 with a tiny attack. Gate 1 has no decay and 100% sustain. Mix gate 1 and gate 2, bearing in mind that you have to put gate 1 through a resistor so its peak (or rather, 'plateau') is at - let's say - 25%, and so that gate2's peak is at 75%, or what ever is missing to get 100%. Done! Will work for small tempo changes (+/- 10%) TK: Never too late for such a sanity check. I don't 'expect' anything - i'm just asking :) What if we give the MB_SEQ a 'margin' of x ms in the VST host, and MB_SEQ always delays all gates by x-d[n] miliseconds? Then you get 'negative' delay without prediction; of course, you can never exceed x ms attack on your sounds. In the future, maybe, the midibox platform could see some nice VST-USB integration... and then MB_SEQ could be synced sample-accurately to the host. Then changes in group delay wouldn't be so noticable, I think :) I'm planning on getting into VST dev once I get a pc (I just moved to a new country!) - maybe then I could help if that's needed :)
  5. This makes it ultra-difficult, however, to get the effect, and limits your palette as well. Thorsten: if you have 16 outputs, and the delays are let's say d[0]...d[15] in miliseconds, isn't it possible to find the maximum, call it d[max], and play the sample that's supposed to be d[max] later? I understand this would require extrapolation, to find out what part of the pattern will be in those d[max] miliseconds. But, given the fact that the MIDI clock is usually not changing _that_ rapidly, even a linear extrapolator would suffice, wouldn't it? Especially since we're talking about very small delays, maybe up to 100-200 ms (and that's an extreme)*. Granted.. some people who have jittery midi clocks would need to turn it off. Then they're not losing anything. I'm not sure how many users would be in this category - i'll leave the judgement of that to you guys, since you have more experience. If there are enough people who have stable enough clocks, so they could profit from this function, it would become feasible to implement it. Finally: if you change the attack of one sound, the group delay will change on the MB SEQ - which will be impossible to compensate in real time using the host. *with rhythm sounds, I find that longer attacks and decays are generally less useful, since if they're longer than those 200 ms, they're dictated by the rhythm and not the sound: so they should be set in musical units, and not in time units. There's nothing stopping anyone from using an envelope that has a long attack triggered by one gate, and that stage will transfer into a 'short' attack triggered by a second gate. Then just sequence the long-attack gate this 3/16 before the actual 'hit', or something like that. Fairly simple and works when you change the tempo: when you change the tempo +-10% the 'long' attack will still happen and be audible. If you want to change the tempo more, it's good to let the envelope know of the current tempo and the musical lenght of the attack, so that it can calculate the attack rate. Here comes the whole argument of having your modulation related to tempo - digitally controlled tempo synced analog envelopes anyone? Sounds like a nice project..
  6. No.. you can't 'design' an analog sound so that it 'tops out' at the exact note, it'll always be a bit delayed. TK: with some VST synths you can set where the sample's 'top' is, and what is before the 'top' will be played back as well, but it's going to happen in a pre-delay fashion that will be buffered. With an 808 the problem is that each sound has a different delay till it tops out (basically a different attack time, but it can depend on some other things, like resonance creating a peak). The idea is to have it compensated somehow, and I don't see this done easily in the MB808 sound bank itself. And as you say, it's easy in the sequencer. A fixed delay per part is a good beginning - if it can be stored together with the patch settings for the 808: so, either it should A) be midi controlled so that you can set the delays through midi, and select that + sound settings for the 808 modules from your host sequencer (ableton etc) via SysEx B) be coupled with the patches in the 808 module somehow... An even better option would be if the sound module could somehow report the delays required. Last thing: Thorsten, we are talking about very very small delays. the user won't be able to do any interaction in, let's say, 10 ms. I'm sure there's a way for 'negative delay' - even as simple as have the sequencer play what should be played those 10 miliseconds later. Then the only noticable drawback would be that UI interaction would be lagged by those 10 ms, which would be reasonable. The question is - are you sure there's no easy way? Thanks!
  7. Hey guys, When playing a sound, it has a certain attack time. However, every sound has a different attack time, and sometimes you can even set it - with a knob etc. If you play multiple sounds with the same gate, they will 'top out' at different times. If you play them in such a way that they 'top out' at the same exact moment, it'll sound more 'to the point' and energetic. Otherwise you get a less exact feeling... which can sometimes be good, but not usually and not necessarily. I'm looking over the draft spec for the 808 seq, and I can't find an answer for this question anywhere... will the sequencer allow you to compensate for this? I assume that you can't - so I'll mention some points on why it's a good thing to have... I do understand that, from the systematic point of view, it should be the non-standard synthesizer (be it the 808 modules or something else) that should be compensating to adhere to a 'standard'. However, this would mean several things... you'd either have to use a lot of audio delay lines (which again won't be that wonderful for timing and will mess up the sound and cost a fortune), or you'd have to create a digital delay for the gates (which yet again would be worse for timing and would also cost more). And either of those will create a delay - which isn't great for syncing up to other equipment running from the same main sequencer, and usually is difficult to compensate for - especially when you're on a gig, every additional item is such a hassle! The MB Seq on the other hand could play the notes 'before' time, which would mean the notes would then be in perfect sync with the rest of the studio! Thanks guys
  8. Hey Artesia, great pics! I've recently thought about buying the Q+. Unfortunately, there are no places that demo them (not suprisingly!), and the manual on the website is... for Q. Would you be able to tell me if the Q+ allows both the analog and digital filters? I always thought so, but now I'm having second thoughts about this. Also, is the '5 effects' thing per-voice or just global? ??? Finally - is it possible to get a scan of the manual? :D Thanks a lot!
  9. I thought static charges in carpets came from the dust contained? ??? Demo's great. Great stuff.
  10. Not necessarily. If we define one of the oscillators as 'base', then relate the pitches of the other oscillators as multiples of the pitch of the base oscillator, we can do it this way (suppose osc1 is base): 1. mix base oscillator + pitch_shift(osc2, freq(osc2)/freq(base_osc)) + ... + pitch_shift(osc6, freq(osc6)/freq(base_osc)) 2. output at osc1's rate Note you're now pitch shifting one oscillator less. This is one thing you gain. Note that the way that oscillators 2-6 alias is constant across the keyboard - so the timbre doesn't change. That means, for example, if osc2's fifth harmonic is aliased at C3, it will also be aliased at E5, etc. Note that you need to have a smart way of figuring out what frequency you need to shift osc2-6 to.. and more importantly, it needs to be cheap enough to implement ;)
  11. It'll sound not unlike a sample rate reducer (decimator). E.g. http://sonalksis.com/index.php?section_id=103 EXCEPT, it'll be an effect that's constant with regards to timbre, across the keyboard. So imagine you're moving the sonalksis plugin's knob in sync with the pitch of the note you're playing. Also: if you keep the oversampling parameter at max, it'll sound like a normal oscillator without any aliasing at all! For a clean sound (yet, still very different from SID) Cheers!
  12. Hey guys, SwinSID looks real cool, sounds real cool, and has a lot of potential. I am assuming that it uses SID oscillator samples. Doing pitch shifting in digital, SwinSID creates aliasing. Which is, for us geeks, pretty cool. If you don't know what aliasing is, an introduction can be found at http://www.discodsp.com/highlife/aliasing/ The cool thing about aliasing is that it creates partials which normally wouldn't be there, that makes the timbre one-of-a-kind. The uncool thing about aliasing is that, if you have a single sampling rate, you are unable to control it in such a way, that the timbre is constant. And the change in timbre can get so apparent that it overrules the 'basic' pitch and you can get the feeling you're playing a broken piano. This is especially apparent when you're playing very high notes on a digital synth that has strong aliasing. So the idea is: why not change the sampling rate (refresh rate) of the SwinSID dynamically? For example, keep it at 2xnote pitch. Then the DAC plays that back at that dynamic sampling rate. I know this technique was used by the highest end samplers in the 80s to get the best pitch shifting possible (which is, arguably, better than what we can do nowadays with a fixed sampling rate). If that's possible, there's another question: why keep the sampling rate at 2x note pitch? Why not 1.5x? 1.8x? See where I'm going there? You could control the timbre with yet another parameter.. a technique which would be one-of-a-kind, and which is generally not possible at all in more complicated digital synths (because of the fixed sampling rate). With this concept, the filter pitch control would have to be realized slightly differently, but not very. Post ideas, feedback, flames. And: good to talk to you guys again, after a very, very long while :)
  13. good idea! i think even better than my time-division-multiplexing idea where you check each string separately.
  • Create New...