Jump to content

Speakjet - A PIC ready sound chip?


herr_prof

Recommended Posts

Hi chrisbob12,

love to hear your kind words about my kinetica exhibit :D

lucky you, there is a good documentation (sort of diary) I made during the construction:

http://www.audiocommander.de/blog/?p=71

you will find detailed drawings and concepts of pretty much everything - including the positioning of the IR sensors... if something is left open, you're welcome to ask.

dunno if you stumbled upon the speakjet wiki:

http://www.midibox.org/dokuwiki/doku.php?id=midibox_speakjet

the speakjet application software v0.2 is the one running on the gesture box, you just have to connect the sensors to the AIN pins of the core module (though IIRC I disabled this setting by default in the code, 'cause most users probably built it without attaching these sensors. However that can be easily recompiled with that particular compile setting on... can do this of course)

http://www.midibox.org/dokuwiki/speakjet_application_software_v_0.2

I used to buy my first sharp sensors at Conrad, but nowadays I get them from farnell, which is also available in the UK: http://uk.farnell.com/  ...but I think it's required that you run a business or are a student :-/

cheers!

Michael

Link to comment
Share on other sites

  • Replies 345
  • Created
  • Last Reply

Top Posters In This Topic

  • 3 months later...

Hi,

yes, it can be done:

you can use the keyboard to pitch

Change the pitch of currently played Allophones by Notes 0..59

but in this mode you'll have also to change the allophone (of course) ...wich can be done:

* by using a second keyboard

* experimentally by a jaw-tongue controller

* by using the Phrase-A-Lator software from Magnevation to store phrases (though phrases storage on the chip itself is very limited!)

* by using a midi software to record and re-play kinda phrases

IMHO for singing certain predefined words with a predefined melody, you might find Phrase-A-Lator probably easiest...

There's also a word to phoneme chip, but I haven't found the time to play around with that (maybe in the next version) :-)

best,

Michael

Link to comment
Share on other sites

Hi audiocommander,

thanks for getting back to me.

Cool. Looks like it might do what I want, in that case (and a lot of exciting other stuff, of course). I'm actually not completely concerned about being able to get it to 'sing' completely in realtime. I'd be controlling the thing from a sequencer, anyway, so I don't need to be able to control phonemes and pitch at the same time from a keyboard (though some realtime control would also be cool for live performance, obviously).

The PC/Serial control option isn't going to work for me, since I'm a Mac user.

a|x

Link to comment
Share on other sites

yes, I am on a Mac, too :-)

but I agree that it's not really fun to have a virtual box running on a PPC, on Intel it's very easy...

also: one should never buy a cheap USB-Serial cable, they usually don't work. That's because most of them don't push the 5V to a necessary 12V. Though the Keyspan adapters should work fine.

cheers!

Michael

Link to comment
Share on other sites

  • 4 months later...

Hi Michael,

I'm making a start on the speakjet/KII project, and have a couple of questions after studying the breadboard wiki page:

1  What is the RS232 PC I/O for? (this is on the speakjet breadboard)

2  Is all the Midibox core needed for making a KII? The Kinetica version looks much simpler than that

PS the point to point wiring looks challenging  :o

Link to comment
Share on other sites

Hi :-)

1. the RS232 PC I/O is a serial interface for the "Phrase-a-lator" software (windows). You can use this software to store phrases on the speakjet or debug it, thus bypassing all the midibox related hardware. It should work on a mac as well with a windows emulator like parallels and a proper USB/Serial connector.

Though it's not necessary if you don't want to store phrases or don't intend to debug the SJ-board  ;D

2. yes, it'll consist of two boards: 1 midibox core and 1 sj-board, so it's not really that much...

Not sure what you mean with point-to-point wiring, but if you print out the PDF it should be pretty much 1:1, so I hope you don't have too many problems :-)

Cheers!

Michael

Link to comment
Share on other sites

  • 9 months later...

HI !

I've built a full speakjet interface, with commodore keyboard, a year ago, and still not working.

Keyboard modul works perfectly ! (lcd, memory etc., everything fine)

K-II application, the same, lcd shows everything, and reciving midi data from k64 or external.

But the speakjet is dead, it says ready on start, and after enters in a weird cycle of woawoawoa.

The 16f88 pic is well programmed, and i tryed every variant of code, nothing works.

I've checked, every month the paths, and wires, and everything it's ok.

If i pull out the 16f88, and shorten the pins for test on speakjet, the test sound it's ok.

The only thing i didn,t check is with rs232, beacause i don't have the max, and no rs232 on computer.

And i'm not a novice, i've built 2 sid projects and many other synths, this is the first with so much trouble !

Pearheaps the Speakjet is dead ?

Suggestions ?

Thank you very much !

Link to comment
Share on other sites

But the speakjet is dead, it says ready on start, and after enters in a weird cycle of woawoawoa.

The 16f88 pic is well programmed, and i tryed every variant of code, nothing works.

I've checked, every month the paths, and wires, and everything it's ok.

If i pull out the 16f88, and shorten the pins for test on speakjet, the test sound it's ok.

Hi,

- what kind of woawoawoa is it? Does it stop, does it continue indefinitely?

is it like this: SpeakJet_Demo_Ready.mp3 ?

if it's like that, it's the test-sequence: in this case the chip is not damaged. It is most likely a sync error in the 16f88 firmware:

- what firmware do you have on the 16f88?

I have released an adapted version for the 16f88, as I had problems with the handshake sync - as soon as I added a short while initializing (in the PIC16f88 firmware) everything worked fine. It should be included in the kII v02 release

...if it's not the test-sequence:

- what version of the kII application are you using?

- do you have the AIN enabled in the kII application?

- could you post the headers (DEFINE sections) of "main.h" and "IIC_SpeakJet.h" ?

- could it be that it's actually working, but some signals are coming in?

- Have you grounded the AINS?

Another thing:

k64 Keyboard Modul → from Rio. Note that an adapted version of the k2 application based on v0.1 is required. The k64 has some additional synth functions, the original k2 app does not provide atm. Future k2-updates may or may not be compatible with this mod.

It's a bit silly that the keyboard module is only compatible with a branched kII v01 application mod, but I had severe buffer problems with my sensor-based application with all the synth processing code enabled. Therefore I decided to concentrate on speech for kII v02.

( I feel mainly responsible towards the kII v02 maintenance. I dunno though if Rio's still around here to give support for his keyboard based project )

In other words:

You should only use the keyboard files that incude the kII v01 application mod -

or you could check if it's working with kII v02 (but in this case I guess the keyboard module does not work)

Best,

Michael

Link to comment
Share on other sites

  • 4 weeks later...

Sorry for the late reply.

I've been busy with work and other projects, and i forgot about speakjet.

Yes, i've tried evrey version of software.

Now on pic's is instaled mod version hex.

No, it's not the test mode, it's only one note (vocal) cycle, that repeats continuosly.

The ain's are grounded.

In fact the k2 is working with evry software release, when i press the commodore keyboard, or send midi from another source, on screen do what it must to do.

But it's like it don't comunicate with pic16f88, or pic16f88 with speakjet.

The pcb's links are fine, i'm sure of that. (and i've tried different 16f88 to be sure, that is not defective)

Link to comment
Share on other sites

strat-1,

I'm sorry, but it's really hard to say something without knowing the details I asked for (esp. the headers I asked for in my previous posting). I also must admit, that I'm having slight problems understanding you.

So, to sum it up, please answer these questions, so that I can help you:

- what firmware do you have on the 16f88?

- what version of the kII application are you using?

- do you have the AIN enabled in the kII application?

- please post the headers (DEFINE sections) of "main.h" and "IIC_SpeakJet.h"

- what happens if you power the 16f88 without any other module connected? Is the woawoawoa occurring there as well?

Regards,

ac

Link to comment
Share on other sites

  • 3 months later...

Hello Audio Commander,

I am having a good time with my speakjet project and am glad you have published your work. I have put the gesture frame together first, because I can use it straight away - wired into the analogue inputs of a kit-built monome, it works very nicely. The more I have thought about it, the more interesting the design layout of the sensors is, maybe it was obvious, but I would never have started out with that configuration. As one thinks through other possibilities it becomes apparent that it's a very smart layout.

I have kitted-up the speakjet board including the MAX chip (had to go to the USA for that) and bought spares in case of 'mistakes'. I will release the spares into the wild once all is built.

The next stage has been the MBHP PIC burner, which is all soldered up, running on an original Trace Elliot compressor wall wart, and has so far failed to kill my laptop :) The power supplies seem to work right and present the right voltages to the IC sockets. I have tried a preliminary test with P18 burner software, but the board is not recognised (there is no PIC in yet).

I have two questions:

Which is the best software to connect to MBHP PIC burner? I have loaded Sprut's P18 software on my PC and it certainly looks good, but seems to be for PIC 18xxx only, whereas we are trying to programme a PIC 16. Obviously, it needs the 40-18 pin adaptor and 13.1V, but should I use different software?

Do I need to have the PIC IC mounted in the socket in order for the software to recognise the board?

OK, I found the right page: it's PBrenner37 or 37U - also the board not found message box gives four steps to check, including having the PIC in place.

Regards, Chris.

Edited by chrisbob12
Link to comment
Share on other sites

  • 2 weeks later...

I think I've programmed my first PIC chip now. Hurrah! The burner circuit took a bit of debugging (my errors) and I have arrived at Sprut's BrennerNG which not only has the 16F88 in it's sights, but has the nifty burner circuit test features. Speaking as a PIC noob (though long-standing electronic hobbyist) I think I would buy a PIC programmer PCB or module if I did this again.

Now to lay out a board for the speakjet. I can't find the 'vector board' with one pad per hole from Maplin, so I shall either use strip board or try my luck with 'tripad'.

Link to comment
Share on other sites

  • 6 months later...

Hi Audiocommander,

Is this thread still live?

I am slowly getting there with this project: it's an interesting learning curve. Anyway, I've got my first Core module built and programmed (MIOS studio is a great help) and have worked through various Brenners to burn my first PIC chips, built the speakjet board (it says "ready") and will soon try and hook them up.

If the thread is still live, I'm interested to hear your experiences with the hand tracker. I have used the Sharp IR sensors through both a Monome's tilt sensor connections and via an Arduino - both into a Max/MSP patch with four oscillators - it's quite fun. As you probably know, these are both based on Atmel chips. I find that the sensing range is less than I expected from the data sheet for the sensors maybe 200mm rather than the 300mm suggested, that the sensor output (as read by the Atmel chips) doesn't go much above about 2/3 maximum, and the signals are quite noisy. Also the response to hand movements is slower than I can move my hand

I realise that the PIC will be different, though I shall be surprised if it is very different. Did you find that the sensors are slow and noisy?

Also, have you considered using the longer-range sensors for larger gestures?

Regards, Chris.

Edited by chrisbob12
Link to comment
Share on other sites

Hi Chris,

well, I wouldn't call it dead, but it's not extremely alive either :whistle:

There are a couple of threads in this forum, where I talked about my experiences with the Sharp Sensors (e.g. ...you can also use the search).

Did you find that the sensors are slow and noisy?

Yes they are extremely noisy (that's why there is a quite dedicated part of the software trying to smooth the signals.

Though I don't find them necessarily slow. I guess that is most likely due to the Arduino which I have the impression is much more unsuited to realtime musical applications than MB.

Also, have you considered using the longer-range sensors for larger gestures?

No, as I was interested in building a gesture area for one hand. To prevent an overlapping of signals, the software uses a MIN/MAX range setting and interpolates in between to allow a relatively large range (0-127).

There are some problems with the SHARP sensors though:

  • Very pointy beam measurement (complicated to measure something with a broader or wider area)
  • Non-Linear (IIRC this may be linearized in software, but that reduces the resolution, so I'm ok with that)
  • Inverted signal shortly before the diodes
  • If pointed at each other or to an other IR emitting source can be problematic
  • Don't work through UV Glass or if the glass/plastic works like a mirror

Basicly, the HandTracker in ACSpeakJet is more or less a preconfigured ACSensorizer Software that takes the sensor crossing setup (Sensorverschränkung) into account and calculates the opening of a hand in conjunction with a vowel table. Something like this (just to visualize the basic concept)


    BEAM1         BEAM2

      \    +   +     /

       \  /     \  /

        \/       \/

        /\       /\

       /  \     /  \

      /    +   +    \

    BEAM3         BEAM4

Of course you might take longer ranged sensors, but then you should think about how to adapt the interface as well.

Hope that helps a bit

Best,

Michael

Link to comment
Share on other sites

  • 2 months later...

Hi,

just bought a SpeakJet chip, and am looking forward to MIDIBoxing it!

This is a big ask, but could anyone possibly sell me one of the PIC16F88 chips with the SpeakJet firmware already burned onto it? I know there was talk about SmashTV stocking them, but they don't seem to be on his site. Also, I'm having problems tracking down the MAX 232 EEPE. Anyone know of a UK supplier for this item?

a|x

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...