Recently, I came across this project and thought it would be fun to have on Playdate.
It's a reverse-engineer of the voice synthesizer from the Commodore64. I created some Lua glue for it or you can access it directly in C. I'm also including a device build of a GUI tool for playing with the parameters. The source for the GUI isn't included because it uses an app framework that we're not ready to release yet.
Resurrecting this thread because I thought of a potential use for it in my current game.
Before I work on switching my Lua-only project to a C-based one: has anyone happened to have used this library yet, and especially done any kind of performance checks? I'm wondering if this is the kind of thing that can run in the background of everything else, or whether it would have to take focus, or else be used very sparingly like Sinistar.
Jumping in yet again because I'd really like to use this in my game. So far, it's fairly easy to use in a simulator project -- after hobbling together the CMakeLists files from this project and HelloWorld -- but I haven't been able to test it on device.
The demo app pdx included in the OP works fine on my device, of course.
Trying to build the device target -- whether in my own project or the one included in the pdsam.zip file in the OP -- I get linker errors.
The specific linker errors are that the globals unsigned char A,X,Y in main.c are also declared in reciter.c.
When I make them extern in reciter.c, it builds correctly but just generates noise instead of recognizable phonemes.
I can try to track it down further by re-initializing or renaming the variables in one of the files, but I wanted to make sure it wasn't a configuration issue first. I don't understand the CMake process in the slightest, so it's extremely probably I'm missing a step.
Chuck
PS I don't know if the etiquette is to tag @james directly or not....
Okay, thanks to some info on the Discord and pointing me to the C_API/Examples/3DLibrary project, I've got it worked out.
Unsurprisingly, it's perfectly performant on the device. (I think I was paranoid because I still remember using SAM on the C64 and it requiring all of the processing power to say anything).
And my weird linking issue was user error -- while I was trying everything, I changed the sample text and completely forgot I'd changed it, so it just sounded like noise. Typical.