
audiocommander
Frequent Writer-
Posts
1,358 -
Joined
-
Last visited
Content Type
Profiles
Forums
Blogs
Gallery
Everything posted by audiocommander
-
...and just to maximize the confusion: I'm also using a Dremel with a "Trennscheibe". It's easy, you have a lot of other tools included (drilling machine, polishing, engraving...). there are some no-name devices that are a lot cheaper than the original... I got one with a flexible bending neck(?); think you surely have some use for it after you finished your MB :) (if 30$ don't hurt you) Cheers, Michael ps: if it must not be perfect, you can also make a half-cut with a cutter and then break it (but please try before, this method is sometimes failing ;D)
-
Hi Rowan, a few (quick) comments from my side: just a tipp: think very soon about the fact, that when a DIN-line is ON (=1) it's unpressed, so I always rather think about OPEN... - you should split up your needs in some logical subgroups - maybe it helps, if you would tell us, what exactly are you trying to achive. I made the experience, that for example introducing one more DOUT-LED might help solving hell of a problem. for example your flashing LED requires the setup of a timer and at least two additional variables that keep track of the current state. this is a very complex thing to do for a beginner and a lot of code splitted up in different places, hard to keep an eye on it even for an experienced programmer. in my eyes, these kind of things only make sense if you either have more blinking LEDs that serve a special purpose or just have too much time and like it :) or think about adding special "blinking LEDs"; you can buy them and they blink by default... wait, I got stuck: yeah, if you would instead add a third LED or f.ex. use a bipolar green/red LED, you can save a lot of headaches... - sending just one midi event (note on) is so fast, you will even don't notice a flashing light! - rather scribble logic tables than timed views: (example for use with red/green LEDs to visualize different states:) [tt] state LED1 LED2 --------------------- off 0/0 1/0 D1 0/1 1/0 D2 1/0 0/1 nOn 0 1/0 0/0 nOff0 0/0 1/0 [/tt] now: can you see any pattern in this? can you simplify it or reorder/-arrange it, so it makes a whole lot more sense in a "digital" way? - you're using switch() cases and if() statements most, whereas if() is typically used to determine one, two or maximum four states, whereas a switch statement is a kind of lookup table for all kinds of events, eg (abstract!): switch(incomingNoteEvent) { case(noteON_channel1): if(velo > 0) { do this; } else { do that; } switch that; break; } I hope, this helps a bit :) Cheers, Michael Edit: ...and btw: what have you done to your booty? ;D
-
gibts; ich weiß von einem seq (glaube von dr.bunsen), einfach mal hier und im wiki danach suchen... und wegen dem "pitch-regler": ich vermute du meinst einen encoder; der ist per default schon dabei... steht auf der seite, die ich dir verlinkt habe: grüße, ac
-
yep. 9 should be fine :)
-
Hallo Braintu => http://www.midibox.org/forum/index.php?topic=5691.0 ;) + ucapps.de => C-Downloads Grüße, Michael
-
hi stryd_one, let's say you have C-MAJ, which would be expressed musically as: intervals: 1,2,3,4,5,6,7 half-steps: 2-2-1-2-2-2-1 notes: C,D,E,F,G,A,B so you just have to look at the notes and fill the gaps: [tt] ;; C C# D D# E F F# G G# A A# B ;; 0 1 2 3 4 5 6 7 8 9 10 11 ;; 0 2 4 5 7 9 11 [/tt] if you're doing a fixed table like the example from TK you just have to move the in-betweens: 0,0,2,2,3,4,5,7,7,9,9,11 (that's how I would do it) of course it does not matter if its 0,0,2,2,3... or 0,2,2,3,3... aka for minor: C Melodic Minor (Ascending) Scale intervals: 1,2,b3,4,5,6,7 half-steps: 2-1-2-2-2-2-1 notes: C,D,Eb,F,G,A,B [tt] ;; C C# D D# E F F# G G# A A# B ;; 0 1 2 3 4 5 6 7 8 9 10 11 ;; 0 2 3 5 7 9 11 [/tt] cheers! ac ;)
-
actually, I'm using method C) for a harmonisation software I wrote for OSX. after finishing my sensorizer, I wanted to reprogram this software as a midibox app... but of course the concept is related more to unpredictable inputs than planned sequences. the electribe (from KORG) is using a similar functionality which works great! it has a combination of a small ribbon-controller (default: note-length) and a slider (scale-based pitch). I got two handy links for you: http://www.looknohands.com/chordhouse/piano/ http://www.pianoworld.com/fun/vpc/piano_chords.htm many of these scales overlap; I found the most good-sounding ones are: minor/major, blues, pentatonic and some exotic ones like MiSheberach, Kumoi, Jap-Dim, Pelog; some indian scales rock, too .) cheers, Michael
-
( <hüstel*>... I'm on a mac ;) ) ...and although I do have a PC (with midiOX of course), I usually turn it on only if I have to use MBHP-Burner and can't avoid it ::) ...but besides that, miniAudicle really seems to be a quite powerful tool with a lot more possible use than just sending some values (which is like scratching on the surface). I can absolutely recommend to give this one a try, I'm really enthusiastic about this piece of software :) especially if anyone is doing midi stuff and is used to programming (C or some other language like JavaScript)! Cheers, Michael
-
1a. CC Midi Controller Changes (CC) sind nicht mehr und nicht weniger als ein Protokoll. Dh. wenn du ein Pedal hast, dann solltest du den Midi-CC Pedal verwenden, wenn du die Lautstärke regeln möchtest, bietet sich CC7, Level an usw... http://www.midibox.org/dokuwiki/doku.php?id=midi_specification ist mittlerweile eine gute Übersichtsseite geworden ;) 1b. Leider habe ich (noch) keinen SID, aber hier -> http://www.ucapps.de/midibox_sid.html steht: ...und das bedeutet, dass der SID schon eine komplette MIDI-Steuerung einprogrammiert haben sollte... 2. LTC quote from http://www.ucapps.de/mbhp_ltc.html Grüße, Michael Edit: habe dein 1b. übersehen, kann aber nix dazu sagen, weil ich auch (noch) keinen MBSeq habe, aber wenn es über MIDI zu steuern ist, steht bestimmt was auf einer der vielen MBSeq Seiten darüber...
-
MIDI-CCs werden über den MIDI-In Port empfangen (C-Skeleton MPROC_Notify_Event); wenn du "erzeugen" statt empfangen meinst, dann kannst du bis zu 8 10k-Lin Pots direkt an J5 des Cores hängen oder über Encoder (DIN) gehen. Die Daten kommen entweder über MIDI an deinen SID (also quasi eine eigene, "neue" Box), oder du siehst die mal den Punkt "MB-Link" auf ucapps an: http://www.ucapps.de/midibox_link.html ein midikabel splitten hat glaube ich hier schon mal jemand gemacht, aber wenn du einfach einen 2. out brauchst, kannst du ein LTC-modul dranbauen. :) grüße, Michael
-
if you're really keen on flashing lights and are able to change the source-code of your application, just connect a DOUT-line to your bankstick (when using the default sub-d-pin, there are some lines left), and switch it on by code if a function is accessed that is using the bankstick. then you could add a cap to smooth the signal, because otherwise it wouldn't be visible. I can imagine it would be too much hassle to integrate it directly to the SD/SC lines and - most important - this would probably disturb the dataflow (cool, :o have a blink but no more data)... functionality is more important than design and good design is supporting functionality by increasing efficiency and not fighting against it... ;) therefore I like the idea of a constantly illuminated LED much more, because this way you see if your bankstick is attached correctly and should work. if it's not blinking you'll never know if it's not connected properly or just not being accessed...... cheers, ac
-
Hello everyone, in my need for an application that can easily send NRPN or SysEx messages to debug my application (unfortunately that's not yet implemented in MIOSStudio and I'm always beginning to cry somewhen if I have to use MIDIpipe), I just stumbled upon a most incredible and absolutely stunning piece of software: miniAudicle is a realtime audio programming software, based on the open-source Chuck-Realtime-Audio-Programming Language, developed at Princeton. ...jeez, think about that: realtime means, you can program LIVE! ;D 8) for example, this script opens a Midi-Out port and sends a PRG-CH Message: // create midi obj MidiOut mout; mout.open(0); // send some data MidiMsg msg; 192 => msg.data1; 0 => msg.data2; mout.send(msg); of course there are also events attachable, that react on incoming data, one can easily setup GUI elements like sliders and knobs and and and... get it here: (for Mac/Linux/Win) http://audicle.cs.princeton.edu/mini/ cheers, Michael :D
-
shopping, thinking about spare parts
audiocommander replied to carsten_the_dane's topic in MIDIbox SID
yes, these are good points. and it's always a good idea to have: - a complete set of resistors, - breadboard PCBs to mount hardware-parts - sockets with screws (eg for DIN-buttons) - set of capacitors (esp. those 104's) - some additional switches (like power-switches) - enough cables with connectors! don't solder anything directly to the core... if you're going to put all things in a case, you will have to un-solder everything -OR- if an error occurs you can't simply switch your core-module... so think about unifying your sockets/connectors that enables you to switch modules instanteneously... it's really worth the additional money! (says me who learned this lesson by myself ::) ) - buy complete sets (special priced) if possible. -> and don't forget your health! Esp. if you're drilling and cutting: eye-, lung- and hand-protection! :) Cheers, Michael -
Where to buy the PIC18F4620 in Europe?
audiocommander replied to audiocommander's topic in Parts Archive
thank you! the 4620 are out @Farnell, but 8 EUR seems a great price to wait a bit! :) (the 7$ @mouser are also okay, but 31$ shipping is a bit... uhm... :o ) Cheers, Michael -
Hello Midiboxers, I cannot find any source for these mysterious wonderful shiny new PIC18F4620's with double-size-super-space for hungry byte-addicts... I do wonder if anyone has a tip for me where to get these? I searched reichelt.de, mikes-elektronikseite, rsonline.de and google.de but found nothing ??? Cheers, Michael
-
:) ps: as it's hard to find, see http://www.softintegration.com and dl only the free version, because there's a commercial version, too! (woah :o ; I just read it can be integrated into TextWranger... that's cooool 8) )
-
rotary encoders were not available at Reichelt, I think the ones you found are new... this price is quite "normal"; conrad is even more expensive! :( See -> pollin.de for very cheap ones (~1 EUR) (there are two forum links here somewhere) or -> voti.nl (I think ~2.50 if I remember right) datawheel is just the name by it's use and means an Encoder. :)
-
shopping, thinking about spare parts
audiocommander replied to carsten_the_dane's topic in MIDIbox SID
be sure to have a temperature-controlled soldering iron and never solder longer than 2 or 3 seconds on a sensitive part. Use IC-Holders for IC's, therefore you cannot overheat the most sensitive parts! (and can remove it easily if necessary!) That way your money is better spent than to a large spare-part-archive ;) -
AOUT_Load2SR(aout_value[0] | (0x3000 | (0 << 14)) I can imagine, that it would make sense, if you could exchange the 0 by another number, then you need the << 14 to make a 14-bit value out of it... maybe that 0 is connected to something hardware-related? ...and you're not exactly bitshifting '0', see the brackets: you're ORing 0x3000 with a 14 bit-value Anyway, it does not hurt... ...and it shows you that you're dealing with a 14-bit number: it is crucial in all cases to keep track of the variable's bit-sizes and convert it if necessary to an other expected size. I don't know how often it happen to me that a function did not do or return what I expected, because I forgot to typecast it explicitely!
-
moxi, please read the link that stryd posted carefully. bitshifting and bitmanipulating is a bit strange (;D) at first, you have to get used to it to use it well. in short: 256 >> 2 moves 256 2 bits to the right which is the same as a division (value gets lower as bits "shrink"): (value / 2) * 2 256 << 2 where in contrast each bitshift to the left is the same as a multiplication (value gets greater as the bits "expand"): (value * 2) * 2 | (OR) and & (AND) are bitshifting operators that are described in depth by stryd_one on the page he's linking! the best is, to get yourself either a programmer's calculator where you can see what it does immediately and/or install CH, a Console based C-Evaluator (that means you can type "unsignd char c = 32 >> 1;" and see the result immediately! When working with MIOS and PICs you'll have to learn about this anyway... Best regards, Michael
-
Connecting Non-10k Resistance-based Sensors
audiocommander replied to audiocommander's topic in Tips & Tricks
well, that's what I was trying to describe in this thread. a WIKI entry about sensors would be great, esp. with a summary of different sensortypes: http://www.midibox.org/dokuwiki/doku.php?id=sensors (sorry, I'm a bit in a hurry right now...) -
Connecting Non-10k Resistance-based Sensors
audiocommander replied to audiocommander's topic in Tips & Tricks
hey, I was just joking a bit... :P ...and as always surprised by the result of my calculations ;D no, on contrary. the higher the value gets, the less linear is the result. As a 50k pot also takes the value of 5k somewhere (middle value of a 10k Lin-Pot = 512 as 10bit, 64 as 7-bit), it just reaches this point earlier or later (depending on the connection). With an unmodified 500k pot a lot earlier/later... the most linear and best results come from high quality 10k linear pots. -
hey, that's a nice one Sebo! :)
-
Laptop Noise Problem - Quattro users pls help!
audiocommander replied to DavidBanner's topic in Testing/Troubleshooting
yeah, the ol' ground noised... I can sing a song about that (is that an english expression ???) ;D I got two ideas for you: either you tune your sounds to the ground noise frequency ;D haha... or: a fellow student has built a portable dj music thing with a vinyl player and he uses a rechargeable car battery... he can make quite incredible loud sound for a loooooong time... maybe that's an option to keep away ground-hell at illegal parties? :)