Jump to content

audiocommander

Frequent Writer
  • Posts

    1,358
  • Joined

  • Last visited

Everything posted by audiocommander

  1. hey plosid, goule has written his own application for the box. I don't know exactly how goule finally solved the sensor's readings, but I think we both did it relatively similar :) With the ACSensorizer I'm reading the sensor data as 10-bit value, and then interpolate the result to a 0..127 number. The resolution is quite sufficient. On the other hand, there are some more tricks required, to stabilize the readings... ( I hope it's okay for you, Olivier, if I spam your beautiful Arcade Work with this sidenote ;D ) I made some experiments with amplification circuits, but I was soon bored with it, 'cause either I'm too dumb, it's too complicated (negative volatages etc...) or it requires additional coding anyway. I think Cimo has developed a PCB, but I don't know if and how it works. There are some topics around... There have been PS2-controller-like 10k-Joysticks at Conrad for about 7 EUR. You could also cannibalize some old joysticks or controllers. As long as you get 10 k?, you can use it with MBHP (or any existing application supporting AINs) without any restriction. Cheers, Michael
  2. To be honest, I have no clue what you are asking exactly, but I guess you want to print a predefined char-array to the LCD. As you are giving not much information, I just can say, that it works pretty well for me, so the problem is possibly in your datastructure. [tt] const unsigned char scaleNames[3][4] = { { "---" }, { "min" }, { "MAJ" } }; MIOS_LCD_PrintCString(scaleNames[1]); // prints "min" [/tt] also: [tt]if (variable[5] == "abcd"[/tt]) { [tt]MIOS_PrintCString(variable) [/tt] //doesn't print anything, because you are trying to print the whole array. } Regards, Michael
  3. Hello Durisian, the question is: how are you stopping the timer? If the timer isn't stopped, the bpm gets changed every millisecond, which seems to be the result you are describing. Regards, Michael
  4. Hi, in fact, this feature is already implemented 8) ;)
  5. vielen Dank, addict!!! ich hab' mal im Wiki ne Seite für Reichelt Warenkörbe angelegt: http://www.midibox.org/dokuwiki/doku.php?id=reichelt_shopping_cart Grüße, Michael ps: ich rede öfters von Kapazitoren (statt Kondensatoren) =)
  6. uhm... okay, I gave up. Either I destroyed something while soldering or I'm simply too dumb... Or maybe the LCD module is just not compatible; I couldn't get the background illuminated nor could I see any LCD-dot ;( in any way, I feel it's not really worth for me spending another few weeks trying around on this LCD module. Better to take the normal ones I'm used to... Thanks Roger for your help! Regards, Michael
  7. hey, congrats mate :) the software should be no problem; The biggest problem may be to get the right buttons fitting mechanically and having good grip and transparency – for a reasonable price. Cheers, Michael
  8. Hi James, you just need to set MIOS_MIDI_MergerSet(0x01) to enable forwarding, see function_reference: Cheers, Michael
  9. Hi Olivier, I just noticed that the description in the function overview is a bit misleading. in principle it's very (very) simple: You should call this code not from within the LCD_Tick() routine, but from somewhere else - though of course you can call it from LCD_Tick(), but the point is: MIOS_LCD_Message_Start() does nothing but preventing MIOS_LCD_Tick() from being called for the given amount of time. So the use of MessageStop() gets pretty clear; you can immediately abort the message if the delay is still active, so that Tick() is going to be called again. In both cases MIOS_LCD_Init() is called before continuing the Ticks. As I said, very simple: So, it would help you in the question you asked first, cause you don't need to care about what was previously on the screen. By using the delay within a custom timer routine, I think there should also be nice (simple) animations possible. But remember that you have to use your own timer, 'cause StartMessage prevents the LCD_Tick() routine ;) Cheers, Michael
  10. hehe, yeah, I thought something like that, too, in this order: 1. ooh, cool software :) 2. ooh, poor audience :'( ;D cheers, Michael
  11. you can simply use [tt]MIOS_LCD_MessageStart()[/tt] ;) Cheers, Michael
  12. LOL ;D jeez, besides that I have no clue what you're talking about: everything else but a corrupted file would be very surprising, if you rename a txt to zip and try to decompress then your text-file. If you're referring to the perl-scripts: just add the extension .pl or open the file in a text editor. If you don't know what perl is, please read the mentioned topic to the end. There are also free fonts mentioned with download-links. Regards, Michael
  13. http://www.midibox.org/forum/index.php?topic=8339.0
  14. hmm, ich denke der erste Teil (das Filtern eines Audiosignals) ist mit einem so kleinen Mikrochip der schwierigere, denn das erfordert ja irgendeine Art von DSP... also: wenn das Signal aus einem fetten Schlagzeug besteht, so dass man einfach nach den lautesten Peaks gehen kann, wäre das wohl noch einigermaßen im Bereich des Machbaren, aber wohl trotzdem ganz schön rechenaufwändig. Zumal man ja auch nicht unbedingt davon ausgehen kann, dass der 1/2/3/4 Beat immer mit dem lautesten WUMMS übereinstimmt. Vielleicht geht sowas mit einem Propeller Chip; sobald man mal den Peak als digitales Signal hat, muss man die bpm nur noch in clock-beats umrechnen, entsprechende Formeln dazu gibt's in der Clock-Box von TK. Wie gesagt, der zweite Teil oder ein "Tap-Feature" sollte mit MBHP/MIOS relativ gut hinzukriegen sein (habe sowas glaube ich hier schon gesehen, entweder bei einem Traktorizer Projekt oder sogar in der ClockBox), aber beim DSP bin ich skeptisch+überfragt :-\ Grüße, Michael
  15. The thing with sensors is, that they don't necessarily all produce 0-5Vs = 0..127 => trumpet sound low, trumpet sound high. so if you got a breath sensor that outputs 0.0 to 1.25 Vs you only get a very low mumble out of it. see the point? That means, either you're going to construct a veeeeery complicated cicuit specialized for this sensor only and in the end you have a very tiny circuit that you may call "simple" (I don't), or you're using a cheap sensor-box, connect your sensor, calibrate it and you're done. The ACSensorizer may run on a single Core, even without any HUI-Input. (Though an LCD is required to set up, but after setup you don't necesarily need an LCD). When you compare the costs for one core it should be one of the cheapest sensor-boxes available (~20 bucks). A third option is to write your own application. But again: simple != small != cheap if you're fine with that specialized breath thingy, you might consider buying that. No soldering and no hassles there, but this kind of simplicity has it's price ;) regards, Michael
  16. thanks for your answer, Roger, although I'm not really sure to what "page 12" you're referring, 'cause the datasheet has only 8 pages :-[ However, I just connected everything as in the schematic above - and the remaining connections like descibed on page 4 (5 V, 8bit): I connected B+ and B- to the +5V, GND signs in the schematic, but unfortunatly nothing happens, it just stays dark ;( anybody here had luck with these? Thanks, Michael
  17. as far as I understand, these links refer to "magnetic pots", which are more like 3-D faders than touchpads. In other words you have a "knob" and can move that around freely on an X and a Y axxis. The flash-movie shows it quite clearly, I think... Regards, Michael
  18. yeah; still see it that the greatest strength of mb is it's use without any computers, from tiny to huuuuge. But once you have one computer running software, it doesn't make much sense to write complex apps on a tiny chip if you could do the same 500% faster on the PC itself. not that I'm misunderstood: I think of mb more like a specialized basic tool - use your pots, buttons, levelers like a mouse or a keyboard - and once this data is in the computer you could do a lot more sophisticated things with it. So to say: I haven't seen no PC-mouse with a LAN-extension card ;D Cheers, Michael
  19. maybe MIDI won't get obsolete by that, but the liveapi.org site definitely looks very interesting indeed :D I was struggeling just a while ago writing a launcher/shutdown script for Live and I whished I had access to internal commands suppressing some dialog confirmation boxes. Cheers for the link, Michael
  20. Ich bin - wenn überhaupt - nur zu diesem Preis dabei. Außerdem bringt mich die schiere Dauer dieser Veranstaltung schon fast ins Schwanken, da ich auf zwei Rechnungseingänge warte und just im Juni ein bissi Klamm bin (was ich Anfang April noch nicht war) – also, nicht dass ich das nicht zahlen könnte, ich habe nur keinen unmittelbaren Bedarf, d.h. ich hätte die Motorfader auf Vorrat gekauft, weil ein Zehner echt ein Schnäppchen ist... Aber stehe natürlich trotzdem zu meinem Wort, d.h. bin zu den genannten Konditionen nach wie vor mit 8 Stück dabei. Nur wenn's jetzt nochmal 2 Monate dauert, bis was bestellt wird, könnte ich meine Meinung noch ändern... Wenn der Preis steigt, bin ich definitiv raus. Grüße, Michael
  21. If you buy Audio Hardware that comes bundled with a Live-Special Version you can upgrade for prices similar to a student-version (IIRC I updated for ~200 bucks from LIVE2-special edition bundled with an M-Audio card to LIVE4, full version). For me, Live is one of the very (very) few programs that deserves to be paid. And I also think (compared to other audio-programs, live's price is quite reasonable... could be still cheaper of course, but it's in the range...) :) Cheers, Michael
  22. all other ready available characters can be found in the datasheet of your LCD.
  23. First of all, I'm not really sure what you mean with "meta-events". There's a meta-event used in Java meaning System-Realtime messages (like Timecodes, SongPositionPointers etc.; also see => http://www.midibox.org/dokuwiki/doku.php?id=midi_specification ), but I think, you just want to control different variables with your Encoders/Pots or reset their values to some specific content when you press a button (like a "reset"- or "shift"-key). That should be pretty easy, that's what I gave you the links for. You have two basic functions in the C-Skeleton for that purpose: - DIN_NotifyToggle() that gets called whenever a button is pressed - AIN_NotifyChange() or ENC_NotifyChange() which get called whenever a Pot or Encoder has been turned (for Encoders you also need to edit mios_tables.inc) The rest is just changing and setting variables. If you don't know how to do that, you should grab a basic C-Book and learn. If you have some experience in programming, you should be able to complete this task in a weekend; if you're a bloody n00b (;D) don't be scared, once you know these C-basics you can also program PHP,JavaScript,ActionScript or any other similar language, 'cause in theory it's all the same, just the syntaxes are slightly different. Do concentrate learning about variables (types, declarations and scopes) and functions. Avoid multiplications and divisions as well as any include-files from standard-libraries (eg. <stdio.h> or something like that, 'cause these are not available on MIOS). Everything you can use with MIOS is listed in the MIOS-function ref: http://www.ucapps.de/cmios_fun.html Regards, Michael ps: even if you don't need an LCD, you should connect one. It helps developing a lot if you see what's going on, else it's more like guessing than knowing...
  24. Hi James, midibox64 is written in ASM, which I don't know enough to say anything about :-\ However, you could checkout the download section and see if there's an existing C-application that suits your needs. Here's a sample code from TK how to use special chars in C: http://www.ucapps.de/mios_c_lcd_schars.html Hope this helps as a starting hint (if you decide to go for mb64 it might help to ask in the ASM or mb64 section, I'm sure this could be done if you're not afraid of ASM ;) ) In theory, a levelchar is nothing else than a number, so regarding the resolution you can show 8 different levels: 0..127 in 8 steps => (value >> 4) => 127 = 7, 64 = 4 ... Cheers, Michael
×
×
  • Create New...