Login
WavePlay-SD
Title:WavePlay-SD
Category:Utility/Music
Release Date:
Language:English
Size:64K
Machine:PAL Only
Code Type:Machine code
Distribution:Freeware
Code by:BSZ
Notes:AKA WavePlaySD. A multiplatform release (C64, Plus/4, C128). Streams music from SD cards (SD2IEC drive required).
  Download:
Download from BSZ's Site
BSZ's Site
Download from (other)
(other)
User Rating: 10.0/10 (4 votes)
WavePlay-SD Screenshot


Compos
ComposCategoryRankScoreNotes
Árok 2022Wild Competition2202


Effects
PartEffect nameParametersNotes
Digi-Blaster Support 


Image Gallery
WavePlay-SD Screenshot #1
About
WavePlay-SD Screenshot #2
Filebrowser
WavePlay-SD Screenshot #3
Now playing
WavePlay-SD Screenshot #4
Setup


Description
    WavePlay-SD V2.0	ÁROK®™ party version
================

Platforms: C64
C128
C16+C116 (64K), plus/4 (C264 series)
Requirements:
One of the above machines + SD2IEC drive with the appropriate firmware.

====================

This program is an over-engineered proof-of-concept code. The realisation of an
old idea: play digitised music while loading from drive. With the old floppy
drives this would be too much of a compromise, but nowadays there is an
inexpensive storage for Commodore machines available, this is the SD2IEC in
various versions.

The original firmware of these drives does not allow free programming. For this
reason, a flexible programmable firmware version is needed to run the program:

https://bsz.siz.hu/SD2IEC-FlexSD/

This firmware extension provides a generic virtual running environment.
DOES NOT CONTAIN any specific extensions for WavePlay-SD!

====================

The WavePlay-SD play only specially prepared files. These contain 8-bit sound
samples converted to the desired playback frequency. Therefore it is also
possible to playback with an (covox-style) 8-bit D/A converter connected to the
USER port. But different (internal / loadable) D/A modules are available for
each platform.

The playback frequencies are currently fixed, these are adapted to the display
speed of the platform. There are currently 4+4 of these:

C64 C128 plus/4
Poor: 3909 Hz 3909 Hz 3889 Hz
Low: 5213 Hz 5213 Hz 5185 Hz
Mid: 7819 Hz* 7819 Hz* 7778 Hz
High: - 15639 Hz* 15556 Hz*

The program uses 1-bit data transfer with the drive for most tasks (ATN is not
used, there can be multiple drives on the serial bus), but 2-bit transmission
is required for higher playback frequencies (ATN used, only one device allowed
on the serial bus). In the table above, "*" indicates the need for 2-bit
transmission.

"High" quality playback is only available on the C128 / plus/4. (Unfortunately,
the C64 is not fast enough for this job.) At this speed, the speed of the
SD-card is also important. An another important factor is the "complexity" of
the file system, in case of buffer underflow, an attempt can be made to
increase the cluster size.

====================

To convert your music, you need your favourite sound editor. (I used an older
version of audacity.) Follow these steps:

1. Load the music
2. Convert it to mono (if it is not already)
3. Boost the volume it enough to take full advantage of the dynamics
4. Resample with one of the frequencies in the table above (what you need)
5. Export music to an uncompressed 8-bit Riff Wav file
6. Convert this Wav file to a format suitable for the WavePlay-SD

For step 6, the package contains a simple (command line) python tool:
"audiofilegen.py". (Python3 runtime required!) Usage:

$ ./audiofilegen.py outfile.seq w wavfile.wav artist title

Parameters:

"outfile.seq": Target music file name. This file is played directly by the
WavePlay-SD. (The ".seq" file extension is not important.)

"w": Wav-file mode. This "w" indicates that the source file is a Wav file.
It is also possible to convert RAW data, in which case this parameter
can be "s:freq" (signed BYTEs) or "u:freq" (unsigned BYTEs). The "freq"
is the sampling frequency, one of the above table can be used. In
Wav-file mode, this data comes from the header of the Wav file.

"wavfile.wav": Source music file, the previously prepared Wav (or RAW) file.

"artist" / "title": The artist and title of the music. These can be up to 32
characters long. (32 the artist, 32 the title.) These are
displayed by the WavePlay-SD. For this reason, only the
basic ASCII characters can be used: Letters, numbers,
basic signs. (The lower case letters in the file will be
replaced by capital letters!) Use underline symbol ("_")
instead of space in these parameters. The underline symbol
in the file will be replaced by a space.

This tool will also convert audio files with unknown playback frequencies, but
they will not be recognized by WavePlay-SD! (Warning: This converter utility is
for personal use, so error handling is not complete.)

====================

Acknowledgements:

Special thanks to Larry for the various SID + TED D/A codes + tables and for
all the testing!

Also thanks to Siz and TLC for the beta tests!

====================

BSZ,
2022.07.17.


Larry's Collection
This collection was created by Larry.

[ Download ]

The music selection includes:
- 80s songs
- Countless Christmas songs
- Slow jazz and blues albums

Things needed for the program to work:
- C64, C128, Plus/4 base machine (with original SID, SID card recommended for Plus/4)
- SD2IEC drive (with latest BSZ firmware - see below)
- At least 4GB of free space on the SD card for the entire music collection.

Have fun!

SD2IEC-FlexSD page

Copyright © Plus/4 World Team, 2001-2024. Support Plus/4 World on Patreon