Jaicen Posted December 7, 2006 Report Share Posted December 7, 2006 Ok, i'm convinced! This is GREAT!!! I never really thought that speech synthesis would be great, but I can see the 'vocal' synth sound being really useful. This is some damn good work AudioCommander. Quote Link to comment Share on other sites More sharing options...
th0mas Posted December 10, 2006 Report Share Posted December 10, 2006 WTFOMGBBQAudioCommander that is some sick work. I was about to just wire my speakjet up to 8 buttons for a fun little playback module.. but you've unleashed the power of this beast!!!damn you! 'cuz now I need another MB CORE! :D Quote Link to comment Share on other sites More sharing options...
audiocommander Posted December 11, 2006 Report Share Posted December 11, 2006 :D Quote Link to comment Share on other sites More sharing options...
audiocommander Posted December 18, 2006 Report Share Posted December 18, 2006 Hello everyone,I just completed and tested v1.3 of the breadboard construction. New plans are already online, pics are coming when I find time for that...it has just one cable on the backside (instead of 5), all parts should fit now and the format is landscape (like DINs/DOUTs)http://www.midibox.org/dokuwiki/doku.php?id=speakjet_breadboard_constructionhttp://www.audiocommander.de/downloads/midibox/mbhp_iic_speakjet_13.board.pdfMaybe the next version supports the TTS256 too... but that's not my main priority right now.I also discovered, that some MAX232's are NOT working!MAX232EPE, MAX232CPE are not working correct (producing only garbage)MAX232EEPE is okay.I have also tried a chip labeled "MAX232N", that's working, too -- but note that the MAX232CPE has also MAX232N printed on top... and I don't get a clue out of this ... :-X ...datasheet ::)I'm also working on updates for the control app, got cascading modules in mind ;Dmaybe also a tiny DIN control to set the envelope and scale but I think the plain midi control is not the badest idea ;)cheers,Michael Quote Link to comment Share on other sites More sharing options...
Jaicen Posted December 18, 2006 Report Share Posted December 18, 2006 Great work!!I'm looking forward to building this, but I think i'll wait till you've ironed out all the bugs ;) Can I just vote for the 'lnobby' approach in terms of envelope and scale. I much prefer dedicated controls, besides it doesn't preclude the use of MIDI either. Strange about the MAX IC's though.. Quote Link to comment Share on other sites More sharing options...
stryd_one Posted January 17, 2007 Report Share Posted January 17, 2007 wannabe ;) Quote Link to comment Share on other sites More sharing options...
audiocommander Posted January 17, 2007 Report Share Posted January 17, 2007 Hmm, I just found out about the "problem of the MAX-chips":The described "problems" nearly drove me mad the last days and now I got the explanation finally!Whenever I try to start the box and there's a MIDI-connection that's not active (ie no program on the PC started), the Box will usually not start. Whenever this happens, the Init() is delayed so long, the the SJ will produce garbage sounds 'cause somehow the whole Initialisation-Process will get scambled...I didn't notice that because I deactivated the LCD for debugging purposes; but this morning I saw clearly what's been the reason for all this :DSo I think, the MAX-Chips should be fine ;)Cheers,Michaelbtw: the HandTracker is making great progress; I think it won't take long for a nice demo-video 8) Quote Link to comment Share on other sites More sharing options...
audiocommander Posted March 9, 2007 Report Share Posted March 9, 2007 Hi everyone,I'm in big (big!) troubles: after soldering a complete new core board and SJ module, everything worked quite fine for some months. But today I had exactly the same troubles than described above.Sometimes MIOS isn't starting up properly: the result is that I can hear about 4 sonar pings. Then I guess the SJ is using the default baud-rate, because all signals are dreadfully mixed. However, this behavior now comes up every time I'm switching the device on. Every fifth time or so it starts up normal and everything is okay. But the next start it's happening again.I tested out different voltages from 9 to 12V with an 800 mA power supply. No success.I disconnected all unnecessary connections one by one without any success (besides the current equipment is 1 Core, 1 SJ-Module, 4 Distance-Sensors connected unmuxed to the Core.Is there a way I can deal with that?Am I the only one that discovers a delay in MIOS when Midi-Cables are connected but the connected devices are offline?Would it make sense to use the default baud-rate?How can I debug the Core-Module and find out why there's sometimes a delay in the startup-sequence?There's an exhibition scheduled next week and I'm totally upset about this, because everything went so great in the past few months. :'(Any help or thought would be desperately appreciated!!Best regards,Michael Quote Link to comment Share on other sites More sharing options...
Rio Posted March 9, 2007 Report Share Posted March 9, 2007 ... all signals are dreadfully mixed.stay cool... i got the same problems 2 times. You have to switch on power, than pull the IIC line so that the SpeakJet got no power anymore... after a while plug in IIC Line again... should work normal after few times....4 Distance-Sensors connected unmuxed to the Core.if all not worked...disconnect them ....upload mios again within 2 seconds after power on... againPS: I never got this problem:Whenever I try to start the box and there's a MIDI-connection that's not active (ie no program on the PC started), the Box will usually not start. Whenever this happens, the Init() is delayed so long, the the SJ will produce garbage sounds 'cause somehow the whole Initialisation-Process will get scambled...my board starts every time fine... Quote Link to comment Share on other sites More sharing options...
audiocommander Posted March 9, 2007 Report Share Posted March 9, 2007 Hi Rio,that's indeed interesting!unfortunately the boards are screwed inside a box that's screwed on a podest. :-\ no chance of getting to the IIC wire easily.I need to find out if this is a problem of the SpeakJet, the PIC16 firmware (syncing) and/or the IIC-Connection to the Core.If I remember right, last time this happened (with my old boards) I hooked them up to the PC (via RS232) and set the baud rate with the Phrase-A-Lator Software... which brings me to the idea of setting the baud rate manually:Does anyone know how I can set the M1 (Mode Select) Pin to momentary low? And then sending a sync-character (hex 55). Is something like this supported by the PIC16 Firmware?Uhhh...(thanks Rio for the cooldown. the thing is, however, that I have to get this working in the next days. If not, I'll have to reprogram it on a mac... which would really annoy me after all the work I've put into this little thing)Edit:4 Distance-Sensors connected unmuxed to the Core.if all not worked...disconnect them ....Already tried this. I think I can relatively safely assume that it's nothing to do with the AINs. :-\really appreciate your help! Quote Link to comment Share on other sites More sharing options...
Rio Posted March 9, 2007 Report Share Posted March 9, 2007 ok tell me what is actually the behaviour:1. all sounds will be disarray played at start up? 2. MIOS will not boot? or with delay?to 1: i believe i got the problem, because i've to fast switch power off and on again .... switching on before speakjet speaks slow down... this problem i solved through diconnecting ... and waiting...after few minutes - all runs fine again..to2: has you upload within 2 seconds, after power on, MIOS again? Quote Link to comment Share on other sites More sharing options...
Rio Posted March 9, 2007 Report Share Posted March 9, 2007 ich muss jetzt leider los... i hope you got it..... Quote Link to comment Share on other sites More sharing options...
audiocommander Posted March 9, 2007 Report Share Posted March 9, 2007 to 1: I can hear 1 "eh" or "ready" and afterwards 4 Sonar-Pings. this is just sometimes! and that's what puzzles me. It's totally unpredictable.So my problem is not, that it does not start at all. My problem is, that it does not start correctly sometimes. And I fear that this "sometimes" increases over the time.to 2: Normally this is only if I have a Midi-Cable attached and the MidiServer is not running (on the mac). But if there's no Midi-Connection, it's starting up. But maybe this is the reason for a short delay that disturbs the syncing sequence; that's why I mentioned it.Elsewise I have no troubles with MIOS.I really think (hope?) it has to do with syncing the SpeakJet and setting it to the BaudRate of 19200 (the SJs default baud-rate is 9600).I need a break and some sleep... will be back tomorrow morning... Quote Link to comment Share on other sites More sharing options...
stryd_one Posted March 9, 2007 Report Share Posted March 9, 2007 AC if you have MSN I'll be online for live support when you wake up, otherwise we could meet up on IRC or something..... Point is, I am on-call for work, so can't be for away from the PC all of the 3 day weekend, so I'll be here with 72 hours to spare to help you out. Unless a server explodes somewhere ;)Don't worry man, we'll get her working :)if there's no Midi-Connection, it's starting up.We should work from that point. If you can disconnect the midi cables, start it OK, then connect them up and it is all fine, then we need to find out why it fails to boot up with the cable connected, and why it succeeds in booting if the cable is connected and there is software running at the other end of the cable.That sure is weird. Quote Link to comment Share on other sites More sharing options...
audiocommander Posted March 10, 2007 Report Share Posted March 10, 2007 Hey, stryd! That's great!I'll take a huge cup of coffee first, then I'll take a look into the PIC16F code and take a visit in the #midibox chatroom.As this error has occurred to Rio too, I'd say the problem is not so much the delayed startup of MIOS, but rather somewhere in the baud-setup in the PIC16 Firmware.See you later - Quote Link to comment Share on other sites More sharing options...
Rio Posted March 10, 2007 Report Share Posted March 10, 2007 I can't duplicate this behavior... Everything works fine at home....(except the one time, when speakjet startup playing in disarray, but maybe because i switched to fast on /off) ... but never got this again.if you found the error, let me know how you solved it.Best greets, Rio. Quote Link to comment Share on other sites More sharing options...
audiocommander Posted March 10, 2007 Report Share Posted March 10, 2007 All right, I'm carefully optimistic :)Thanks to stryd, the chat was really helpful. I think the pointer to the baud sync was right. Stryd suggested, that I should add a short delay between the pin going low (M1) and the 0x55 sync byte.So, uart.asm is now looking like that:;; --------------------------------------------------------------------------;; FUNCTION: UART_SpeakJetInit;; DESCRIPTION: initialises the SpeakJet baudrate by using the detection;; IN: -;; OUT: -;; USES: -;; --------------------------------------------------------------------------UART_SpeakJetInit ;; reset SpeakJet, enter baud rate configure mode bcf SPEAKJET_RST_N_PORT, SPEAKJET_RST_N_PIN ; low active! bsf SPEAKJET_M0_PORT, SPEAKJET_M0_PIN ; enter demomode bcf SPEAKJET_M1_PORT, SPEAKJET_M1_PIN ; baud rate configure mode ;; initial delay call UART_Init_Delay ;; release reset call UART_Init_Delay bsf SPEAKJET_RST_N_PORT, SPEAKJET_RST_N_PIN ; low active! ;; (we hear a "sonar ping" sound now!) ;; now wait until the SJ has catched up call UART_Init_Delay call UART_Init_Delay call UART_Init_Delay call UART_Init_Delay call UART_Init_Delay call UART_Init_Delay call UART_Init_Delay call UART_Init_Delay call UART_Init_Delay call UART_Init_Delay call UART_Init_Delay call UART_Init_Delay call UART_Init_Delay ;; continue with baudrate detection: send 0x55 to SpeakJet movlw 0x55 ; write to TXREG directly - should only be done during initialisation phase! movwf TXREG ;; wait until byte has been sent SWITCHBANK_0_1UART_SpeakJetInit_TxPoll btfss TXSTA, TRMT goto UART_SpeakJetInit_TxPoll SWITCHBANK_1_0 ;; wait > 2 mS (just an assumption, it could also work without this delay) call UART_Init_Delay call UART_Init_Delay call UART_Init_Delay call UART_Init_Delay call UART_Init_Delay call UART_Init_Delay call UART_Init_Delay call UART_Init_Delay call UART_Init_Delay call UART_Init_Delay call UART_Init_Delay call UART_Init_Delay call UART_Init_Delay ;; go back to normal mode bcf SPEAKJET_M0_PORT, SPEAKJET_M0_PIN ; suspend demomode bsf SPEAKJET_M1_PORT, SPEAKJET_M1_PIN ; leave baud rate configure mode return;; subroutine which causes a delay of ca. 150 uS @ 20 MHzUART_Init_Delay clrwdt clrf UART_DELAY_CTRUART_Init_Delay_Loop decfsz UART_DELAY_CTR, F goto UART_Init_Delay_Loop return[/code]Recently I had about 65% errorneous startups.Since I updated the PIC16F88 to the firmware 1.2, I tested it about two dozen times with 0% errors. I tried it fast, slow, continouus and I even pretended a walk and presentation in the college ;DSo, wish me luck this fixed it!I attached the new hex-file for mbhp_iic_speakjet_v1_2.The complete sources will be part of a download package that I will release soon!Now I hope that this really helps fixing the startup sync issues.Thanks to everybody, I really appreciate all your immediate help. That's what I love about the midibox community. :DCheers,Michaelps: a movie preview will follow asap!!!puhhh, it's good to feel some optimism coming back to me :Dmbhp_iic_speakjet_v1_2.hex.zip Quote Link to comment Share on other sites More sharing options...
stryd_one Posted March 10, 2007 Report Share Posted March 10, 2007 Hey Rio I'm curious... If you have a chance to try that new firmware out... Do you hear the 'sonar ping' sound before 'ready', with this new firmware? If so... Just one ping, or more, or only a partial ping? Quote Link to comment Share on other sites More sharing options...
audiocommander Posted March 10, 2007 Report Share Posted March 10, 2007 hey stryd, you're being missed in the #irc ;Danyway: I got two SJ's and two boards (and two cores, of course).The new PIC16F fw did the trick on the old board too!but the old one does not reveal that one sonar ping either.But I can't remember having hear the sonar ping ever :-\And I'm very lucky that I don't hear it anymore!!! ;Dcheers,Michael Quote Link to comment Share on other sites More sharing options...
stryd_one Posted March 11, 2007 Report Share Posted March 11, 2007 :D I love when stuff works. You gave me the big hint when you said you heard 4 pings... That sounded real fishy. Thanks to Moebius for keeping #midibox warm for us, a live chat's really the best thing for troubleshooting.For everyone's future reference, it seems that the SpeakJet is not as fast as the PIC16 that drives it, so we need to insert a delay by using a number of call UART_Init_Delay before sending the signal to the SpeakJet to set the baud rate. I thought I should mention this in case the slow response is a problem that comes up again in future. Quote Link to comment Share on other sites More sharing options...
audiocommander Posted March 11, 2007 Report Share Posted March 11, 2007 hey, still looking good. switched the box on/off very often. once I heard one ping (and then my heartbeat, 'cause I thought the error would be back), but it was only one sonar ping and then everything started okay. I'm pretty sure that this was one of the moments where it would start with the wrong baudrate (with the old firmware).So my optimism grows daily that this strange thing has been fixed. And I can now compile the PIC16-fw on windows (still strange that GPUtils won't compile the project correctly under OSX, but the same tools will do fine on Win), but anyway, I'm digging into that later. It would be nice to have a firmware that checks the SJ's buffer state and the integrity of received messages. But that's a future thought, now I'm first going to record a video of the new sensor matrix 8)see ya,Michael Quote Link to comment Share on other sites More sharing options...
Rio Posted March 12, 2007 Report Share Posted March 12, 2007 hey, still looking good. switched the box on/off very often. once I heard one ping (and then my heartbeat, 'cause I thought the error would be back), but it was only one sonar ping and then everything started okay.i've no problem on start up - and sometimes i hear only 1 ping, yes... but i believe, i've got SpeakJet Firmware 1.0 on it.. I don't get such problems...(I don't know how i can burn or upload a new firmware. Mike has done it for me for a time...)I'm pretty sure that this was one of the moments where it would start with the wrong baudrate (with the old firmware).So my optimism grows daily that this strange thing has been fixed. i don't know, whether this behaviour is solved by a version update... maybe your old firmware on pic16F was damaged ?? My version runs fine til now, and i have so often switched on / off... Quote Link to comment Share on other sites More sharing options...
audiocommander Posted March 12, 2007 Report Share Posted March 12, 2007 i don't know, whether this behaviour is solved by a version update... maybe your old firmware on pic16F was damaged ??no, definitely not. I have two SJ-IIC-Modules and two cores, ie two totally independent SJ-projects I never mixed up. One has a Core from Mike & SJ-Module v1.0, the second one uses a Core from SmashTV & SJ-Module v1.3. Because I had a soldering error on the first board (killed my blue backlight :'( ) - I thought this might have damaged something and began from scratch. That also explains my panic when I discovered the same startup issues on the fresh second board(s); both showed exactly the same behavior: everything was fine for quite some time - until I plugged them off and took 'em somewhere else. Both times the Startup-Issues began then and got worser. Maybe this has also something to do with using a switch (IIRC I soldered a power-switch both times shortly before having to move the whole stuff).I also tried with fw 1.0 (the original one, reburnt, fresh PIC16) but it did not help. Besides, fw 1.1 has only a reduced IIC-input buffer. Due to my compilation problems with ASM-based projects on the mac, I have checked the modified hex-files byte-by-byte, so I am pretty sure, that the .hex-files I uploaded were okay (besides that the burner software shows an error if the .hex-file is damaged). I also tried four different PIC16's! Very unlikely that they all were somehow "damaged" :)Now on both my modules the error has vanished (until now, fingers crossed).I expect that you will sooner or later stumble over this behavior, too. If this is the case, I can burn the new fw for you. But this should not be necessary until the problem shows up. An MBHP-Burner and a PIC18->PIC16 Adapter is used. Flashing just takes a second and is pretty straightforward :)Best regards,Michael Quote Link to comment Share on other sites More sharing options...
Rio Posted March 12, 2007 Report Share Posted March 12, 2007 good to know ;D Where did i found the new firmware to download? But actually i don't know which version Mike has burnt into my PIC16F88... how old is the new?PS: I've updated k2mod about 1 CC more...but this was necessary ;) i'll send it to you tomorrow... I think this was the last change... Quote Link to comment Share on other sites More sharing options...
audiocommander Posted March 12, 2007 Report Share Posted March 12, 2007 no prob, I will update the whole sources the soonest in two weeks anyway, so change what you like.As I have only worked upon the speech part, I really like it that you provide new and updated stuff for the synth part :)I posted the new fw here, a few messages above (that one with the updated uart.asm code-snippet; attached a zip file), but I'd really appreciated it, if you would keep your fw 1.0 just for some weeks to see if that issue hits you too. that would be really interesting!(but of course it's up to you...)I will also enclose the whole updated fw incl. sources with the next release!Cheers,Michael 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.