Jump to content

patrick99e99

Members
  • Posts

    30
  • Joined

  • Last visited

Posts posted by patrick99e99

  1. You have an "Excitation Only" check box, might be interesting to have a "Noise Only" check box ( produces whispers ).

     

    This can already be done by simply turning on "Override pitch" and setting it to 0.

     

    ...

     

    I think a Cybermen style effect could easily be done just by applying a custom pitch envelope, which is something I plan to add to this at some point... but just by doing Override pitch with a value like 100 sounds pretty close.. The main difference is in that audio clip you provided, there is a resonant filter thats opening and closing throughout the speech.

  2.  

    I'm having trouble with the "Save LPC" options. dotLPC doesn't seem to save anything and dotbin seems to save a file with zero bytes :-(

     

     

    Can you give me a step-by-step example of this problem so that it is reproducible? I just tried saving a .lpc and .bin file and both worked fine over here...

     

    As far as the frequency spectrum, I am not at all surprised.. I did an extremely quick & dirty approach of outputting the tms5220's 8khz audio to the system output at 48khz by doing a zero-order hold (repeating the signal's value 6 times for every sample) rather than doing proper interpolation... There's much improvement that could be done quality-wise.

  3. It would be great if BlueWizard could import and export RAW 8 bit data *.bin files as your LPC imports are TEXT files with commas.

     

    Ok, I just updated the code again, it now can read .bin files, and under the file menu is a Save LPC Byte Stream option, if you give the output file an ".lpc" or ".txt" extension, it will be a comma delimited text file. However, if you give it a ".bin" extension, it will save it as a raw data format.

     

    Btw, your breadboard looks awesome.

  4. BTW I tried to edit you Project Builder source code to save the audio to a .aiff file. I managed to get the Menu modified using Storyboard but just couldn't see where to connect it to in the 'OUTPUT' code :-(

     

    I just updated the code and prebuilt binary on github, with the following improvements (v 1.3.0):

     

    - Adds file menu option to save TMS5220 output as an .aif file

    - Adds file menu option to load LPC byte stream files (in either 12,34 or 0x12,0x34 format) as an alternative to pasting them in from the clipboard. (the project has an LPC directory with tons of lpc from Gauntlet so those can now easily be loaded and played).

    - Allows byte streams to be played / pitch manipulated without requiring an input audio file signal being loaded.

    - Fixes bug where speed changes did not update total number of samples in output buffer

    - Fixes bug where byte streams were getting messed up due to the unvoiced threshold parameter being set

    - Adds "raw excitation filter" option so you can hear the TMS excitation filter on its own.

    - Changes appearance of byte stream text so that it's blue on black background.

    • Like 2
  5.  

    Hi Patrick

    This is really outstanding and job!

     

    Could you add an option so it adds a stop frame at the end?

    Could you have an option to have the data frame displayed in a C++/ Arduino format so we could paste the data directly into the Arduino IDE (like this one {0xCC,0x67,0x75,0x42,0x59,0x5D,0x3A,0x4F,0x9D,0x36,0x63,0xB7,0x59,0xDC,0x30,0x5B,0x5C,0x23,0x61,0xF3,0xE2,0x1C,0xF1,0xF0,0x98,0xC3,0x4B,0x7D,0x39,0xCA,0x1D,0x2C,0x2F,0xB7,0x15,0xEF,0x70,0x79,0xBC,0xD2,0x46,0x7C,0x52,0xE5,0xF1,0x4A,0x6A,0xB3,0x71,0x47,0xC3,0x2D,0x39,0x34,0x4B,0x23,0x35,0xB7,0x7A,0x55,0x33,0x8F,0x59,0xDC,0xA2,0x44,0xB5,0xBC,0x66,0x72,0x8B,0x64,0xF5,0xF6,0x98,0xC1,0x4D,0x42,0xD4,0x27,0x62,0x38,0x2F,0x4A,0xB6,0x9C,0x88,0x68,0xBC,0xA6,0x95,0xF8,0x5C,0xA1,0x09,0x86,0x77,0x91,0x11,0x5B,0xFF,0x0F};

    (reading it from that format would be great too!
    Thanks a lot!
    ps, I just installed NoteBlaster on my iPhone : the sounds are really vintage !

     

     

    Thank you, I am glad you are enjoying BlueWizard. I went ahead and added two checkbox options to the UI, one for adding the 0x prefix, and the other for appending the stop frame. I have updated the github repo with the code changes as well as a new pre-built binary. Let me know if you have any problems.

    • Like 2
  6. Today I got BlueWizard working on my Hackintosh. It would be nice if there was an option to save the sound files like you can with QBOX. I have recorded the BlueWizard output with my Nokia N808 'phone.

     

    When I hit 'inspect' a new window opens - but it is blank ?

     

    I'm still trying to figure out what the K1 to K10 coefficients are. Are they fixed frequency formants or do the peaks move ?

     

    Yeah, as of right now it doesn't save files, but rather just gives you the byte stream to feed to the tms5220... I will try to add a save feature sometime. If you notice in the project there's actually an Output.m file which I created with plans for saving the audio, I just never got around to hooking it up to the UI.

     

    The inspect button is supposed to open a large waveform view, but I noticed that was somehow broken. I just fixed it and pushed up those changes and also updated the binary in the disk image, so if you pull down the latest you'll have that fix.

     

    The K's are the bins that represent the different parts of the human vocal tract. So those values can be edited manually if you know what you're doing.

     

    I intend to make the interface more user friendly for editing at some point, but my focus has been on NoteBlaster so like I said, once I got this program to the point where I could actually process the speech I needed for my game, that's where I stopped the development of BlueWizard... But I would like to polish it up and make it much better at some point.

  7. Any plans for a port to Linux? (Console application would suffice.)

     

    Actually, when I started the project, I did it in Ruby-- but it turned out to be too much of a pain to communicate between the ruby program and the TMS5220 emulator, so I rewrote it in objective-c and then took advantage of being able to build a UI for it. The ruby program can be run on any platform (linux, windows), It just has no UI, so you can't edit frames or hear the generated speech. You will have to take the hex dump the program generates and send that to a TMS5220. If that would be useful, I can update that project and share it as well.

    • Like 3
  8. Several years ago, I started creating a music educational video game called NoteBlaster for iOS. From the beginning one of the things I wanted NoteBlaster to have was a very "Atari" vibe. I wanted it to have a retro arcade graphics style, I wanted it to have FM synthesis music, and I wanted it to have TMS52220 speech synthesis. Once I got to the point in development where it was time to start thinking about how I was going to get TMS5220 speech, I started a thread here --> http://atariage.com/forums/topic/218272-trying-to-generate-some-ti99-speech/

     

    I spent a great deal of time trying to use QBox Pro, but despite my best efforts, the speech I generated was less than desirable. Eventually I gave up on QBox Pro, and believed it was hopeless, my game would simply not be able to have the high quality Atari coin-op reminiscent speech that I so badly wanted. At that moment, a friend of mine encouraged me not to give up, and he looked up the Speak & Spell toy on wikipedia and found the name of the person who worked at Texas Instruments at the time that was responsible for the algorithms used... Richard Wiggins. I figured, ok-- what have I got to lose? I picked up the phone and called various places trying to track him down, and eventually found him. I told him I was creating a music video game, and asked if he could help supply me with the information about how TI's portable speech lab system (which is what Atari Games actually used for their speech processing) actually worked to generate linear predictive code for TMS5220 chips. Richard agreed, and we had many phone conversations involving concepts of digital signal processing, autocorrelation, pre-emphasis filtering, chebychev filter poles, a to k conversions, pitch analysis, etc. He sent me hand written notes involving math equations, illustrations, and photo copies of pages from text books that he had on the subject. Finally, a good six months later, I had a Mac OS X desktop application that could analyze an 8khz 16-bit waveform and turn it into an LPC byte stream that could be fed to the TMS5220 chip and it sounded as good as the speech in all of Atari's arcade games. It was incredibly exciting! Around that time, I reached out to one of the MAME core developers, Jonathan Gevaryahu (aka Lord Nightmare), and he helped fine tune a handful of things on both the desktop analysis app side and also the actual TMS5220 emulation code. I am very grateful for all of his help.

     

    Once I had the capability to generate the high quality speech that I desired, it was time to go back to the remaining development work in my video game. I then reached out to Ernie Fosselius, who if you are not aware, was the voice over actor that did the all of the dialog for the Atari Gauntlet and Gauntlet II arcade games. I told him about the video game I was creating and asked if he would like to be a part of it, and he agreed to do all of the voice over work for NoteBlaster.

     

    BlueWizard, my Mac OS X application for processing speech files is available on github:

    If you don't want to build it from source yourself, there is a prebuilt OS X binary in a disk image found in the "Build" folder found at the root of the project.
    At some point, I plan to enhance the software by adding more functionality to make editing speech frames more friendly, but this was sort of a quick-and-dirty first pass just so I could get all the synthetic speech for NoteBlaster generated.
    Also, as a demonstration, I took the original CES audio file that was demonstrated with QBoxPro and here is what it sounds like from BlueWizard processing it:
    As a final note, if anyone here is interested in getting good at reading music, or has friends or loved ones that would be interested, then please help spread the word about NoteBlaster! I posted a thread announcing it here:
    Thank you.
    -Patrick
    p.s. attached are some of the notes Richard Wiggins from Texas Instruments sent to me

    post-8711-0-95014400-1483924509_thumb.jpg

    post-8711-0-01099900-1483924535_thumb.jpg

    post-8711-0-48904600-1483924752_thumb.png

    post-8711-0-83231300-1483924761_thumb.png

    post-8711-0-72291600-1483924770_thumb.png

    post-8711-0-13555700-1483925659_thumb.png

    post-8711-0-62408900-1483925734_thumb.png

    post-8711-0-85575500-1483925743_thumb.png

    post-8711-0-13358900-1483925753_thumb.png

    post-8711-0-40037900-1483925764_thumb.png

    • Like 15
    • Thanks 1
  9. Hi everyone,

    So-- when you add a phrase to your concatenations-- it gives you this window with lovely configuration options for robotic / whisper / speed / pitch.. And I found that, the LPC data that you generate under "Format" does not actually apply any of those configurations. Does anyone know of a way to get LPC data that reflects those changes?

     

    -patrick

  10.  

    Finally, note that you can correct pitch errors in the QBOX editor itself, and do things like force 0 energy between sentances etc. The likely hood that QBOX will produce a perfect translation without requiring hand editing is quite small in my experience!

     

    Did you happen do any of this pitch error correction on the LPC you used in your demo video? Do you have any tips for how to go about manually fixing pitches?

  11. So--- After making several audio files, I am curious how big of a sound quality difference there would be between using the emulator and an actual TI-99/4a. If I go the route of purchasing a TI-99, I have a couple of questions:

     

    1. Am I going to be able to find an editor/assembler cartridge? I've been looking on ebay and don't see any currently.

    2. Is there an easy way to transfer my LPC source files from my desktop computer to the TI-99? Has anyone made a usb interface?

     

    Thanks.

  12. What you need is to "insert" the E/A cartridge, which should have been supplied with Win994a. You select the "Cartridge" tab and if E/A is not "inserted", remove it and "insert" E/A.

     

    If you want to run your assembled program, you need to copy it to a TIDisk image that you then insert in DSK1, DSK2 or DSK3. You can get Asm994a to copy it at assembly time or use Fred's TI99Dir for the copying.

     

    Hmm.. so the win994a that I installed seems to only have "Demonstration", "Disk Manager 3", and "TI Extended Basic" cartridge options. I've been doing a lot of googling and can't seem to find much info on these E/A cartridges/disks...

     

    I was able to create a blank TIDisk, and have the Asm994a assembler copy the speech files to that disk, but I can't get to the "Load & Run" option as demonstrated in the video...

     

    I'm so close!!

  13. Ok-- now I am stuck again. I have gotten to the assembler phase, and attempted to just compile the war of the worlds demo you had posted:

    http://www.planet-99.net/wotw.htm

     

    I am using the Asm994a assembler, and have turned on the options "Def Regs (R0- R15), "Produce Listing File", "Produce HEX Obj file", and "Compressed Obj".

     

    When I attempt to start assembly, the console reads:

     

    >> Assembly Started - 11/10/13, 08:02:21PM
    Pass 1: wow.txt
    Pass 2: wow.txt
    Error #3: Line #547: Label must begin with a-z, $, _ or .: 234567890123456789012 Phase error - symbol undefined 2nd Pass: 234567890123456789012 Multiple definition of symbol: 234567890123456789012
    Assembly Complete - Errors: 3, Warnings: 0
    >> Processing Complete - 11/10/13, 08:02:21PM
    Line 547 is: text 'century, that human affairs were'
    Which makes no sense to me, as nothing *appears* wrong with that. Does anyone have any idea why this is breaking?
    To continue making progress on this project, I removed the offending code pertaining to displaying text, and just made it so that it would only be streaming the speech bytes (that's all I'm interested in anyway)-- my modified version is here:
    Anyway, after that I was able to assemble the code.... However, now I am hung up on actually getting the Win994a simulator running. I got the editor/assembler disks from here:
    Their extensions were .dsk, which I changed to .TIDisk as the Win944a emulator said that's what it expects? But when I insert these two disks into the simulator, I can't get it to show an option for "Editor/Assembler".
    I can catalog the disks and I see:
    ti99ea1.png
    ti99ea2.png
    What am I missing here?
  14. UPDATE: I figured it out. After checking the Install.log file that comes with the distribution, it looked like the install program placed the Qboxpro.ini file in the WIndows directory. Copying that file to C:\Windows fixed all issues and now Qbox runs in all versions of Windows. I still have some issues with sound on my WIn 3.1 Virtual Machine, but that's not Qbox's fault.

     

    Ahhhh!!! Hooray. Yes that indeed fixed it for me too!!! Thank you so much! Now onto the next step-- actually making some speech!

  15.  

    Exactly. The only thing I can think of is that it needs to be installed in C:\QBOX\

     

    Here's the contents of a read-me I have that may shed a little more light on it.

     

     

    Sigh... I just spent about an hour trying to get it working, with no success. I moved everything to C:\QBOX... It still complains that there is no coding table. When I try to open one of the samplepro projects "sample.spf", it says "Error - Could Not Find Kit Synthesis File".

     

    I tried experimenting with changing the paths in the .ini file, but nothing seems to make a difference.

     

    I am currently in the process of creating a game, and want to honor the old Atari system 1 & 2 by having similar TI speech in my game-- so it's really important that I try to get this resolved and working. Ideally, I'd rather not have to resort to buying a junky 286/386 w/ windows 3.1 off ebay just for this project-- I'd rather handle this via a VM if possible. I remember trying to get windows 3.1 working on VMWare a few years ago, and I could not get audio to work at all.

     

    Anyone have any suggestions? Or anyone willing to convert a bunch of 8khz wav files for me?

  16. I'm the author of that video on youtube. I don't recall having that problem. The only thing I remember is that the program expected to be installed off of root on the C drive.

     

    I'm not even sure if I have it installed anymore, as I now use Win7. I'll check.

     

    Yeah, I suspect this is the problem-- there is no installer in the QBoxPro zip file:

    http://ftp.whtech.com/pc%20utilities/qboxpro.zip

     

    I see that there is a install.log file which suspects this had already been installed prior to archival.

  17. Hi everyone,

     

    I am trying to convert some 8000khz wav files to glorious TI99 speech, and I've been following this turtorial:

     

    I'm running windows XP professional with VMWare fusion, and I've managed to *install* QBoxPro, as well as copied over the BWCC.DLL dependency. By install-- I mean when I originally ran the program, it told me that it depended on other archived files and gave me the option to unarchive everything-- so I did.. Then once running the exe, it complained the BWCC.DLL file was missing, so I copied it into the qboxpro directory and now when I launch the QBoxPro application, it gives me a warning "No coding table found in project".

     

    I've inspected the config file, and it clearly shows:

     

    [Coding_Tables]

    coding_table0=d6

    coding_table1=5220

     

    And in my QBoxPro directory, I see the files "D6RAD.COD" and "QV5220.COD"... So I don't understand why I am getting this warning?

     

    The readme file mentions that there is some sort of "qbprins.exe" installer, but that file does not seem to be anywhere in the zip file I downloaded from your resources.

     

    Can anyone help me out with getting this up and running on my machine?

     

    Thanks!

     

    -patrick

    • Like 1
  18. Hi everyone,

     

    I have been on a quest to find an emulator for mac OS X that can allow me to mess with the same sort of texas instruments speech synthesis that made the "Yellow Elf shot the food!" in Gauntlet, as well as the "you can't get in without a ticket kid' in 720.. and all the other great distinct speech voices found in those Atari Games.

     

    So I am wondering if the TI-99's speech synthesis is similar to this??

     

    I'd love to try it out, but alas I have no roms-- and the link at the top of this post is dead!

     

    Can anyone help out?

     

    -patrick

×
×
  • Create New...