Rio Posted March 12, 2007 Report Share Posted March 12, 2007 I've the software about 2-3 month every (second) day working on it... Only one time i got a bit trouble for minutes, which was working stabilizise til now... so i would test the fw further in future, but would be nice to get a burned PIC16F88 with new fw somewhere... Do you think, the firmware will changed often in future? If not, and if it isn't to complicated and you maybe order new electronic parts in future, you can add a PIC16F88 to that orderlist and burned the new firmware on it. I would send you money and you can send this chip to me with new firm... otherwise i'll ask Mike ...Are you interessted and what would be the price? I think it would be not more expensive, if you can send me a new burnded chip instead i send my old out ... and so i can test this chip with old fw further ;) What you think? - would be nice...Best Greets, Rio. Quote Link to comment Share on other sites More sharing options...
audiocommander Posted March 12, 2007 Report Share Posted March 12, 2007 my last reichelt order came yesterday, so it's a bit of a bad timing; but if you're not in any particular hurry, we can do it that way :) (and price is free for you ;) )and because I saw your question too late:I guess that Mike has burned the 1.0 fw onto your PIC16F88, because I don't think he grabbed the 1.1 update from this forum page. but as I've written before, the only difference to 1.0 is that the IIC-input buffer is a bit decreased, so that chances are lower to overfill the SpeakJet's input buffer.But I see this as a temporary fix only. The only really cool solution to it would be to connect the "Buffer-half-full" and "Buffer-full" pins of the SpeakJet to the PIC16F88 and control the buffer dynamically. That would reduce the amount of these annyoing pings one can hear from time to time if there are too many messages sent.Cheers,Michael Quote Link to comment Share on other sites More sharing options...
Rio Posted March 13, 2007 Report Share Posted March 13, 2007 nice and thanks very much ... Quote Link to comment Share on other sites More sharing options...
stryd_one Posted March 13, 2007 Report Share Posted March 13, 2007 The only really cool solution to it would be to connect the "Buffer-half-full" and "Buffer-full" pins of the SpeakJet to the PIC16F88 and control the buffer dynamically. btfsc SPEAKJET_BHFULL_PORT, SPEAKJET_BHFULL_PINIs there a buffer full pin? Quote Link to comment Share on other sites More sharing options...
audiocommander Posted March 14, 2007 Report Share Posted March 14, 2007 Is there a buffer full pin?ehrm. no. :-[but such a pin would be pretty nice to have... hehe, think of an orange lighted pin on your jacket that switches on when your input-buffer is half full and a red one which burps if it's really **full** ;D Quote Link to comment Share on other sites More sharing options...
stryd_one Posted March 14, 2007 Report Share Posted March 14, 2007 LOL ;D Quote Link to comment Share on other sites More sharing options...
MTE Posted March 14, 2007 Report Share Posted March 14, 2007 Burp :-X Quote Link to comment Share on other sites More sharing options...
audiocommander Posted March 17, 2007 Report Share Posted March 17, 2007 Hi all speakjetters :)here is a demo video / teaser of the next application release featuring a hand-tracking sensor matrix: Cheers!Michael Quote Link to comment Share on other sites More sharing options...
robotfunk Posted March 17, 2007 Report Share Posted March 17, 2007 WOW Quote Link to comment Share on other sites More sharing options...
stryd_one Posted March 17, 2007 Report Share Posted March 17, 2007 holy cow!So now I know what the mysterious kII is :) Quote Link to comment Share on other sites More sharing options...
MTE Posted March 17, 2007 Report Share Posted March 17, 2007 Amazed :Dreally funny Toy ! Quote Link to comment Share on other sites More sharing options...
Rio Posted March 19, 2007 Report Share Posted March 19, 2007 yes looks funny, and seems that it works... ;DPS: My K64 Modul Application makes great strides too. So please try to integrate the modifications for KII next. Let me take a look over it, before you release it... ;)Greets Rio. Quote Link to comment Share on other sites More sharing options...
audiocommander Posted March 19, 2007 Report Share Posted March 19, 2007 sure I will!thnx for the nice comments –when I'm back home (end of march), I'll add a small DIN control board with a basic menu for the most important settings, add RIO's synth add-ons/fixes; pack up everything and release the sources.all the best,Michael Quote Link to comment Share on other sites More sharing options...
stryd_one Posted March 19, 2007 Report Share Posted March 19, 2007 yes looks funny, and seems that it works... ;DFunny toy indeed, but I also think that an extension of this technology could one day be useful for those without the power of speech... Really cool stuff man. Quote Link to comment Share on other sites More sharing options...
Sasha Posted March 19, 2007 Report Share Posted March 19, 2007 fucking sweet, dude! Quote Link to comment Share on other sites More sharing options...
TK. Posted March 19, 2007 Report Share Posted March 19, 2007 Very innovative and great presentation! :)I'm curious about the technical details of the hand tracker. Does it allow to scan for different gestures? And is it possible to generate 3d controller informations? Looks like you've invented the "3d beam" :)Best Regards, Thorsten. Quote Link to comment Share on other sites More sharing options...
Wisefire Posted March 20, 2007 Report Share Posted March 20, 2007 i was wondering that aswell.. it seems that it detects distance to the "ceiling" and the "floor" and that it detects if there is actually something in the square.. otherwise it seems to me its just looping random stuff.. am i correct or FAR off.. Quote Link to comment Share on other sites More sharing options...
audiocommander Posted March 26, 2007 Report Share Posted March 26, 2007 Hi friends :)sorry for the delay, just came back from Hungary...in the next days I will set up another working model to fix some bugs, add RIO's updates and implement one DIN for some basic hardware controls.So; to answer your questions:otherwise it seems to me its just looping random stuff.. am i correct or FAR off..No' date=' you're indeed far off. There's nothing random except for the consonants.As the SpeakJet is in phoneme mode (serial transmission with an input buffer) and it's synchronized, it may seem a bit untight, but it's absolutely realtime and interactive.I just decoupled the consonants, 'cause the speech sounds more interesting with a larger variety of consonants.I'm curious about the technical details of the hand tracker.Thanks a lot for your kind words :)In this version, there are four distance sensors (4-30cm), two on top and two at the bottom -- in fact, the setup is a bit more complex like scribbled below, but the basic conecept is like this:[tt] = = |^ ^| || || || || v| |v = =[/tt]I'm calculating the following numbers:- opening state of the hands (top/bottom) => jaw state (from 'uh' to 'ah')- relative height (max top) => pitch- tilt (diff top) => tonge position (eg from 'err' to 'ih')- speed (diff between the last openings) => volume and bendI found a nice formula on the net to linearize the sensor's data. That way, the resolution decreases (from ~150..800 10bit => ~2..24 cm) but it makes sense to use that; as I am using kind of a phoneme map with 5*15 entries, it's quite sufficient and allows much better control.An optional output of midi control messages is already implemented.Does it allow to scan for different gestures?And is it possible to generate 3d controller informations?As you can see from the speed/opening calculations' date=' I think it's possible to implement quite advanced gesture controls. Maybe the sensor positioning can be improved for this purpose (in fact, I'm thinking about a real 3D-control with the sensors placed in a plane matrix and not a 2D space matrix like done in this project; but the opening of the hand as jaw-imitation was important to me this time).I'm still using the PIC18F452 and I guess the current size of 14kB still allows some code.By using a synchronized/timed event polling (and not the AIN-notifications), I guess the PIC's processing power should also have some additional resources. Anyway, I noticed that the Power Regulator does not get too hot, so this should also indicate that there's some space left for additional stuff...I also think that an extension of this technology could one day be useful for those without the power of speech...Yeah, that will definitely be the case.One of my wishlists contains a control for the SJ-synth. Though I have not thought over this enough ;)Best regards,Michael Quote Link to comment Share on other sites More sharing options...
audiocommander Posted April 10, 2007 Report Share Posted April 10, 2007 I just packed up a beta version.There is still no DIN-Input, but I overworked lots of things.Before releasing, I'd like to know why the first phrase sometimes gets overwritten. I implemented an input buffer control (connected SJ:D2 to Core:J14), and of course there's the handTracker. And there are 16 playmodes, modes 11 to 16 are experimental and involve mixed speech/synth control by the handTracker. You might test this by touching the AIN-pins of the Core ;DMore "premium"-features:- auto-sync (auto master/slave detection; midiClock recognition)- harmonisation with 20 scales included- optimized subtractive osc-synthesis & fixed envelope settingsAlso included is a setup for a KORG microKONTROL, so if you have one, you're ready to rumble immediately :)Version History:mbhp_iic_speakjet Firmware (PIC16F88):v1.0. 2006-04 X First version by TKv1.1. 2006-11 Reduced input buffer, compiled by messv1.2. 2007-03 X Fixed baud bug that prevented right baud sync on some startups (by AC) Thanks to stryd_one.kII main application (PIC18F452):v0.1.0 2006-05 First versionv0.1.1 2006-06 MIDI Control Interface for MSAv0.1.2 2006-06 SCP Supportv0.1.3 2006-08 Added new Wrapper (MIOS_HLP_Dec2BCD-Fix) minor fixesv0.1.4 2006-11 saved 4 kb by overall optimisations (esp. note2freq handling) fixed note-off bugs, merged with note-on channel functions assignable by definitions improved midi-input handling reduced buffer on mbhp_iic_speakjet_v1_1 (thanks to mess!)v0.1.5 2006-11 X vowel/lconsonant interface categorized by position in mouth first public releasev0.1.6 2006-12 added AIN sensorMatrix: handTracker added ACSensorizer class with minimal configv0.1.7 2006-12 improved phoneme maps, added opening/closing consonants fixed a bug that prevented consonants to trigger by channel notesv0.1.8 2007-01 added new handTracker with merged sensorizer to save space and gain better results by a specialized sensor matrixv0.1.9 2007-01 fixed deadband-bug, added speed detection, improved sensor matrixv0.2.0 2007-01 added ACSyncronzier (based on mclock; added MASTER/SLAVE mode, initializes in master mode, switches to slave if MIDI_CLOCK detected, exits slave and switches back to master on MIDI_CLOCK timeout) Syncronizer Features can be disabled => Gesture Polling on AIN if enabled gestures get polled by Syncronizer within 1/16 note values improved sensor readings & gesture detectionv0.2.1 2007-02 implemented linearizing algorithm and therefor greatly improved readings! fixed, simplifyed and improved gesture detection fixed syncronizer measure-overflow fixed mclock bpm local variable shadowing simplified cm-conversion and opening state (removed open bug)v0.2.2 2007-02 added manual transmission mode to reduce IIC_start/stop transmissions added UpdateLock() to prevent abortion of played phrases experimented with buffer clearance for smoother vowel-smearings improved tongue (is now roll) improved release detection with higher resolution in the lower range auto-presenter: hard-resets SJ every x measures (garbage cleaner) & triggers startup message on idle) -> see ACSyncronizer.h: CTR_MEASURE_MAX fixed Sync-Bug where triggers did not work inside the Timer() function quantized events now poll properly each x clockTick (1/4, 1/8, 1/16, 1/32) re-added bending (related to speed) ACSim_Console or ACSim_Handtracker now work both within the same Xcode project ACSim_Handtracker now contains a GlobalTracker panel to watch variables Harmonizer defaults to H-Spanish (international: B-Spanish) added randomizer to decouple the consonants from jaw openingv0.2.3 2007-03 cleanup, added cycling startup message option checked with new handTracker hardware and Amp Circuitv0.2.4 2007-04 X fixed a bug where the SJ could stop enunciating when speed dropped to 0 cleaned up and reordered MIDI Output of sensor matrix values added ACMidiProtocol to enable automatic harmony change requests quantize values (ACSyncronizer) can now be changed dynamically by MIDI the Speakjet now does a hard-reset each x bars; improved startup messages after resets (added small delay). This should be quite secure for exhibitions. first experimental speech output modes (additional OSC manipulations) added random harmony function added Buffer Half Full Check and IIC transmission lock (SJ:D2 -> Core:J14) fixed & improved OSCSynthesis (partly based on suggestions by RIO, thnx) rewrote ENV control and added ENV options for OSCs 4/5 fixed NOTE_OFF bug when harmonising synth input added bpm set tempo by midi cc (60..187 bpm); only accepted if master X release versions[/code]download kII 0.2.4. beta (pre-release)http://www.audiocommander.de/downloads/midibox/kII_024_070410.tgz (717 kB, sources included, of course)Any Feedback welcome!Cheers,Michael Quote Link to comment Share on other sites More sharing options...
Rio Posted April 12, 2007 Report Share Posted April 12, 2007 1. Lässt sich leider nicht für die anderen Einstellungen (z.B. AIN = 0) compilieren..2. Nach Raufladen der funktionierenden Einstellung (AIN = 1, SYNC = 1) wird die READY Phrase durch two, one ersetzt... (na das hab ich mal gleich per phraselator wieder zurückgesetzt - sollte aber auch in der Applikation deakt. werden können) und es kommen dann komische laute im ziemlich hoher Tonhöhe, in gleichmäßigen zeitlichen Intervallen oder zufällig. sobald ich irgendeinen Channel anspiele werden die Laute auch wiedergegeben...Also ich konnte bisjetzt noch nichts damit anfangen.3. Ich finde (das ist aber meine subjektive Meinung und nicht so vordergründig) die Darstellung am Display (216) nicht grad so übersichtlich...zummal mir die bezeichnungen auch fremd sind. Quote Link to comment Share on other sites More sharing options...
audiocommander Posted April 12, 2007 Report Share Posted April 12, 2007 1. To deactivate the AINs, do not use AIN = 0, instead use KII_AIN_ENABLED = 0 in main.hThere was an error, too in this setting, but without this option, there are the best features missing (handTracker matrix and syncronizing stuff) ::)Anyway, I fixed it. You can download the files again.2a. The phrases shouldn't be altered. As I already mentioned, I have to look into this further:Before releasing, I'd like to know why the first phrase sometimes gets overwritten.What I can say now, is that this does definitely has nothing to do with the uploading process, it most probably happens when operating with the handTracker mode set to the experimental synth channels 11 to 16.2b. What you hear is the auto-garbage collector that resets the SpeakJet each 32 bars and then enounciates the first phrase and one of the phrases 2 to 16. This is to keep the device all time working, collect hanging notes; performing an overall cleanup.You can deactivate this option by ACSYNC_GARBAGE_SERVICE in ACSyncronizer.h3. The current version is optimized for a 2x8 LCD. The 2x16 is not yet adapted.Regards,AC Quote Link to comment Share on other sites More sharing options...
Rio Posted April 12, 2007 Report Share Posted April 12, 2007 ok i test it again...mhh... i mean of course that:// application defines#define KII_AIN_ENABLED 1 // if AIN (sensorMatrix) enabled, default: 0and i couldn't compiled the project.. if this is 0to 1) what is that sync stuff?to 2b) it's normal that the speakjet talks some high pitched or gliding vocals again and again?? don't understand... Quote Link to comment Share on other sites More sharing options...
audiocommander Posted April 12, 2007 Report Share Posted April 12, 2007 Hi Rio,// application defines#define KII_AIN_ENABLED 1 // if AIN (sensorMatrix) enabled, default: 0and i couldn't compiled the project.. if this is 0that's okay, I fixed that (dl is the same as before, but new contents)to 1) what is that sync stuff?There's an ACSyncronizer Class with auto master/slave mode (slave if clock signal on midi-input detected, falls back to master mode if clock stops). The handTracker is syncronized to 1/4, 1/8, 1/16 or 1/32 note values. That's one of the features I'm absolutely proud of and I will improve this concept for the next sensorizer version. Maybe a standalone MB Quantize Box, too (someday ;D )I recorded a video yesterday showing the LCD to see and hear the possibilities; going to upload that on youtube... I'll post a note as soon as it's online!to 2b) it's normal that the speakjet talks some high pitched or gliding vocals again and again?? don't understand...It's normal if ACSYNC_GARBAGE_SERVICE is enabled and there are 32 bars in between (that's a noticeable delay).However, it's not normal if you can hear one or more Sonar Pings on startup followed by a neverending gibberisch blahblah.I do not hope for you that this is what I fear it is: you probably found out the downside of the PIC16F88 firmware version 1.0 / 1.1 and what made me cry and nearly sink in despair for a whole month –Could you please do the following test:if the SJ behaves in that way (one or more sonar pings at startup, then continuous grababbeling):- leave it on- connect by RS232 to the pc and start Phrase-A-Lator- set the baud rate to 19200 (I think it's the connection-tab)If it works again, it's the startup-baudrate-sync bug, where the PIC16F88 is sending the baud-sync signal too fast and the SJ is missing that. The SJ then operates with 9600 baud while the PIC18F452 sends with 19200 baud... that's what you hear...I would not wonder if this bug finally found you, too (I would have wondered why it only should hit me). You can also try to switch the box on/off multiple times, but it will become worser, you have my word for that. With the firmware 1.2 I never experienced this behavior again (until now... knock on wood... knock...knock...knock...)I will order at Reichelt in the next weeks, I have not forgotten sending you a new PIC16 with fw 1.2Cheers,Michael Quote Link to comment Share on other sites More sharing options...
Rio Posted April 12, 2007 Report Share Posted April 12, 2007 mhhh.. no sonar pings... - set the baud rate to 19200 (I think it's the connection-tab)i've done a connection test... wasn't a problem...but the speakjet try talking in high pitched values...something miiaaoooo or muuuu.... hhhheeeeyyy.... but i've used the compiled KII_AIN_ENABLED = 1 mode..., because the other settings doesn't compiles..maybe that was the problem..i don't know.. i've upload my k2mod app. again and all works fine again..so it isn't definitly the evil bug you describe...i'll test the new download version at evening again. Quote Link to comment Share on other sites More sharing options...
Rio Posted April 12, 2007 Report Share Posted April 12, 2007 mhh... can you record an mp3 from playing with different notes on 1 or more oscs.. without a envelope activated. I'll check out this "click noise". Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.