Jump to content
Cybernoid

6bit PCM Player

Recommended Posts

Below are the files for the 6bit PCM player, both for the standard XE and the MaxFlash Cart.

 

pcmplayer.gif

 

The player shows the audio waveform (red) and the file progress (blue) on screen.

 

I will have a better write-up later, but the XE version is autoloading. The MaxFlash version uses the Flip.atr to program the Flash and the pcmplayer.atr to boot and play the data. The Flip.bin file can be used in the emulator modified by Steve. More information on using the emulator here:

 

http://atarimax.com/flashcart/documentatio...7.html#download

 

Cheers,

_C_

pcmplay_xe.zip

maxflash_pcmplayer2.zip

flip_atr.zip

flip_binb.zip

Share this post


Link to post
Share on other sites

Heya,

this sounds great. Once upon along ago there already was a *.WAV player by Tom Hunt (called The Sound Utility). but it was made especially for Sparta DOS and did not work well under DOS 2.x types. Next one had (and still has) to convert 16bit Wav`s into 8Bit (otherwise the program would not load them) and when listening to them on the A8 they were played with only 4Bit of course...

 

So, I am gonna test your program at home and see if it works better and easier for me. By the way, Tom`s program supported up to 1088k RAM, yours too ?!? greetings - Andreas.

Share this post


Link to post
Share on other sites

I am trying to support 1088 memory as well as 256 memory for the XE. Do many people have the 1088 upgrade?

 

I have written some code into the player to support 1088, but it currently crashes, so I have some questions on how to get this to work.

 

How do we use the basic and selftest bits in this mode? My program crashes when I set these for some reason...

 

 

I thought about supporting wav files and their 44byte header, but most wave files will need to be converted anyway...

 

Also, I use goldwave to translate wav, mp3s, etc into 8bit mono at 13kHz with light hiss removal.

 

Goldwave:

http://www.goldwave.com/release.php

 

_-~C~-_

Share this post


Link to post
Share on other sites

Alas,

it looks like all your disks are manipulated (or corrupt) in some way. When booting the disk, one will not notice it, the program loads, stops after a while and then plays the PCM/WAV sound. but when trying to copy the files to another disk you get an error 164. When fixed with diskfix, you soon find out, that the soundfile has a length of 580-600 single sectors... well, I did this fix, so now you can load the whole sound and/or copy it to another disk...

 

Next question, how about programming a universal PCM/WAV player ?!? Meaning with input/load routine, a directory option and of course a playback routine (and maybe also a quit to menu / dir. function and a exit to DOS/DUP function)... That would be very nice. A similar program, called "The sound Utility" by Tom Hunt already exists, but it works only bug-free under sparta or Bewe-DOS (and has many bugs under DOS 2). Last not least it is only 4bit playback... -Andreas.

Share this post


Link to post
Share on other sites

Oh,

for those that are interested, here is "The sound Utility" program (a *.WAV and *.DIG player) by Tom Hunt and some sample WAV files... in Sparta/Bewe-DOS format... -Andreas.

Share this post


Link to post
Share on other sites

Hmm,

alas I cannot comment on the 1088k upgrades, since I merely have a 576k upgrade... Well, 512k XRAM means that the selftest and built-in Basic are still there and there is no need to worry about them... So, maybe it would be good to support the following upgrades (assuming OS is on and Basic is off):

 

- 48k or better 64k based machines (800/XL/XE),

- 128k computers (like 130XE) with banks E3,E7,EB,EF;

- 192k computers with banks A3,A7,AB,AF,E3,E7,EB,EF;

- 256k computers with banks A3,A7,AB,AF,C3,C7,CB,CF,E3,E7,Eb,EF;

 

- 320k computers with banks 83,87,8B,8F,A3,A7,AB,AF,C3,C7,CB,CF, E3,E7,EB,EF; (Newell, TOMS, Atari mag., Buchholz, Rambo, etc.)

 

- 320k computers with banks 23,27,2B,2F,63,67,6B,6F, A3,A7,AB,AF, E3, E7,EB, EF; (Compyshop XL, Compyshop XE, Megaram 1, 2 and 3)

 

These six settings would be more than enough. Keep in mind how long it takes to load a 200k sound from disk... and it requires a DSDD drive; thus 320k total memory and 360k disk density would be more than enough for me... It looks like the Compyshop (and Megaram) RAM upgrades are the most common here in Germany, whereas Newell (TOMS and Rambo) are the most common upgrades elsewhere... -Andreas.

Share this post


Link to post
Share on other sites

Next question, how about programming a universal PCM/WAV player ?!? Meaning with input/load routine, a directory option and of course a playback routine (and maybe also a quit to menu / dir. function and a exit to DOS/DUP function)...  That would be very nice. A similar program, called "The sound Utility" by Tom Hunt already exists, but it works only bug-free under sparta or Bewe-DOS (and has many bugs under DOS 2). Last not least it is only 4bit playback...          -Andreas.

Andreas,

 

I am working on just such a program. The previous programs were examples to show that it could be done. I have thus so far integrated the extended memory bank and MaxFlash versions into one program.

 

It has a simple directory listing and file selection utility as well as options to playback files at 4-bit, 5-bit or 6-bit quatizations. I am testing this with DOS 2.0 to be sure that it works on most computers. Also, it automatically finds out how much extended memory is in your machine and uses this memory. It is configurable to load wav files as well as signed/unsigned 16-bit/8-bit stereo/mono PCM data.

 

It can resample WAV files as well, but the processing time is fairly large.

 

I have some code working now for the MyIDE version, as well as a program to do RAW DATA writes to the MyIDE disk. (As a side note, I figured out that some IDE drives can be placed into 8-bit data mode, thus allowing us to double our disk space with MyIDE....)

 

So, the program will automatically detect extended memory banks, 1Mb or 8Mb MaxFlash cart, and internal or external MyIDE interfaces for playback....

 

-C-

Share this post


Link to post
Share on other sites

Next question, how about programming a universal PCM/WAV player ?!? Meaning with input/load routine, a directory option and of course a playback routine (and maybe also a quit to menu / dir. function and a exit to DOS/DUP function)...  That would be very nice. A similar program, called "The sound Utility" by Tom Hunt already exists, but it works only bug-free under sparta or Bewe-DOS (and has many bugs under DOS 2). Last not least it is only 4bit playback...

 

Andreas,

 

Since you seem to be the most interested in this project, let me ask you a few questions...

 

(1) I am thinking of abandoning the 5bit and 4bit playback options, and stick with just 6bit. I do not like the quantization error (thus, high freq hiss) introduced with these modes.

 

(2) I have a load routine that will read WAV files in a multitude of formats. But the load time can be very long. For example, if I load a 16-bit signed Stereo PCM encoded wave file, my program will do:

 

(a) Throw away LSB of each sample.

(b) Left/Right Channel mixing.

© Low Pass filtering for the correct play back frequency

(d) Resample to 11025Hz.

 

So playback is 6bit at 11025Hz. The end result sounds great, but it takes over 2.5 hours to load a Wave file into an Atari with a 1MB memory upgrade. (a 16MB Wave file will be reduced to 1MB-8bit-signed-mono data).

 

So, is the wait worth it?

 

I suppose I could break this into 2 programs: one with all the DSP functions for filtering and resampling and one strickly for playback...

 

Thoughts?

 

_C_

Share this post


Link to post
Share on other sites

As a related question, is there an autorun.sys program for DOS 2.0 that allows for high speed SIO, or a patch for DOS 2.0?

Share this post


Link to post
Share on other sites

Well,

I would limit the program to playback only 8bit waves (one can convert the 16 bit waves on the PC a little faster) on the A8 with 6bit quality.

 

Concerning DOS 2 ultraspeed, well there are several DOS 2 versions out there, that have already US built-in. Next there is a file called "ultraspeed.com" or so by Bob Woolley which installs US for any DOS 2 derivative. Alas, this little tool uses RAM under the OS and will only work on XL/XE computers and programs that do not use the rAM under the OS... -Andreas.

Share this post


Link to post
Share on other sites
Well,

I would limit the program to playback only 8bit waves (one can convert the 16 bit waves on the PC a little faster) on the A8 with 6bit quality.

 

 

Thanks! I will limit this player to 8bit mono unsigned only to increase loading speed. Playback will be 6bit.

 

This makes my life simpler for this application anyway... :)

 

Okay, I will clean up the simple GUI as well...

Share this post


Link to post
Share on other sites

Hello Chris,

below is an example of a DOS with internal ultraspeed drivers. I also added MyDOS with external ultraspeed (and XF highspeed) driver. These external drivers can be used under any slow DOS as well (DOS 2.0, 2.5, etc.) but: they require RAM under the OS and they do not like Ramdisk drivers or software that manipulates $d301 in some way... -Andreas.

Share this post


Link to post
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...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...