CPCWiki forum

General Category => Applications (CPC and CPC-related) => Topic started by: Zik on 22:01, 21 June 21

Title: Soundtracker DMA v2.0 released
Post by: Zik on 22:01, 21 June 21
Soundtracker DMA is a music composition software for Amstrad Plus. It takes advantage of CPC+ audio DMA lists to allow AY-SID and AY sample sounds while keeping CPU load low.
You may have heard of it before as the musics of CRTC3 demo by Roudoudou were done with a preliminary version of the tool.

I am pleased to announce today the release of version 2.0!  :D
The editing software runs on Amstrad 6128 Plus (you will need 128KB of memory).

Downloads and manual are available on the website:
https://soundtrackerdma.cpcscene.net (https://soundtrackerdma.cpcscene.net)

The website is not yet complete and the English version is even behind. I am working on it!

Enjoy!



The English and French versions of the website are now on par.
Title: Re: Soundtracker DMA v2.0 released
Post by: roudoudou on 22:03, 21 June 21

tain, CHAMPAGNE !!!!!!!!!!!!!  ;D
Title: Re: Soundtracker DMA v2.0 released
Post by: Golem13 on 22:16, 21 June 21
OMAGA !


:o :o :o :o :o :o :o :o :o
Title: Re: Soundtracker DMA v2.0 released
Post by: MacDeath on 22:59, 21 June 21
Does it run on stock old CPC464 ?
:P

bien joué ça a l'air sympa.
Title: Re: Soundtracker DMA v2.0 released
Post by: Targhan on 23:31, 21 June 21
After 20 years!!! One must never give up!! :). Well done!!
Title: Re: Soundtracker DMA v2.0 released
Post by: TotO on 00:05, 22 June 21
Sorry, the link was only valid for the day of the music festival. See you next year !  ;D
Title: Re: Soundtracker DMA v2.0 released
Post by: Kris on 06:48, 22 June 21
Great news !!!
Title: Re: Soundtracker DMA v2.0 released
Post by: rexbeng on 07:55, 22 June 21
Teaser video or it didnt happen!
Title: Re: Soundtracker DMA v2.0 released
Post by: XeNoMoRPH on 10:10, 22 June 21
https://vimeo.com/566004595
Title: Re: Soundtracker DMA v2.0 released
Post by: TotO on 11:15, 22 June 21
Now, the emulators have to improve the sound quality. ;D
Title: Re: Soundtracker DMA v2.0 released
Post by: norecess464 on 13:10, 22 June 21
Big thumb up to @Zik (https://www.cpcwiki.eu/forum/index.php?action=profile;u=1798)  !

I listened to all sample songs and this definitively brings audio on Amstrad Plus to a new standard !
Title: Re: Soundtracker DMA v2.0 released
Post by: GUNHED on 13:15, 22 June 21
Zik: Merci beaucoup!  :) :) :)  A long missing tool!
Title: Re: Soundtracker DMA v2.0 released
Post by: BSC on 19:07, 22 June 21
Awesome! Might actually be a reason to buy a real Plus :) I will definitely give it a try, looks and sounds really promising.

Thumbs up for finishing it after such a long time!
Title: Re: Soundtracker DMA v2.0 released
Post by: BSC on 20:48, 23 June 21
Quote from: XeNoMoRPH on 10:10, 22 June 21
https://vimeo.com/566004595 (https://vimeo.com/566004595)


I somehow know that bassdrum .. :D
Title: Re: Soundtracker DMA v2.0 released
Post by: Zik on 19:39, 26 June 21
Quote from: BSC on 20:48, 23 June 21I somehow know that bassdrum ..
A very good one!  :D
Title: Re: Soundtracker DMA v2.0 released
Post by: Kris on 16:36, 28 June 21
What about samples and instruments import/creation ? any date ?  ;D

Title: Re: Soundtracker DMA v2.0 released
Post by: Zik on 20:27, 28 June 21
Quote from: Kris on 16:36, 28 June 21
What about samples and instruments import/creation ? any date ?  ;D
For instrument creation, you can do it from the editor. Not sure what else you have in mind.
For sample import, I did not write documentation yet. File format is quite similar to the one documented in the "Export" section of the website for "AYL " chunk (only in French for now). Except that chunk size is a 16-bit field and file signature is different.
Title: Re: Soundtracker DMA v2.0 released
Post by: zhulien on 02:46, 05 July 21
any reason you don't support 512kb or even 4mb of RAM for samples?


and in playback, any chance for an optional callback to be made to the application launching the tune so that... a DDR type game can be made?  Perhaps the callback could be a special type of instruction as a fake channel?
Title: Re: Soundtracker DMA v2.0 released
Post by: roudoudou on 07:24, 05 July 21
Quote from: zhulien on 02:46, 05 July 21
any reason you don't support 512kb or even 4mb of RAM for samples?
DMA sample works only on first 64K
Title: Re: Soundtracker DMA v2.0 released
Post by: zhulien on 08:41, 05 July 21
Quote from: roudoudou on 07:24, 05 July 21
DMA sample works only on first 64K


That's a pitty... like video RAM... Then... for playback, are we best to have 48kb of SAMPLE ram, 16kb Video RAM and use the alternate 64kb for the game logic?


What is the ROM behaviour? Do DMA samples work only from RAM or from ROM also?
Title: Re: Soundtracker DMA v2.0 released
Post by: roudoudou on 08:55, 05 July 21
Quote from: zhulien on 08:41, 05 July 21

That's a pitty... like video RAM... Then... for playback, are we best to have 48kb of SAMPLE ram, 16kb Video RAM and use the alternate 64kb for the game logic?


What is the ROM behaviour? Do DMA samples work only from RAM or from ROM also?
only first 64K of RAM

in the Shadow of the beast intro from Overflow, there is a streaming from ROM to RAM to play 360K samples but this has a cost.


Title: Re: Soundtracker DMA v2.0 released
Post by: Zik on 10:54, 05 July 21
Quote from: zhulien on 02:46, 05 July 21and in playback, any chance for an optional callback to be made to the application launching the tune so that... a DDR type game can be made?  Perhaps the callback could be a special type of instruction as a fake channel?

For that purpose you can use option "S" (signal) in leftmost column, see description here: https://soundtrackerdma.cpcscene.net/doku.php?id=en:effects#special_column (https://soundtrackerdma.cpcscene.net/doku.php?id=en:effects#special_column)

The information will be available in output stream, so that you can use it at your convenience.
Title: Re: Soundtracker DMA v2.0 released
Post by: GUNHED on 15:03, 05 July 21
Is thera a way to "convert" a song from the old BSCs soundtrakker to this Soundtracker DMA 2.0 ?
Title: Re: Soundtracker DMA v2.0 released
Post by: Zik on 17:11, 05 July 21
Quote from: GUNHED on 15:03, 05 July 21
Is thera a way to "convert" a song from the old BSCs soundtrakker to this Soundtracker DMA 2.0 ?
Well, you would have to do an adaptation, no automatic tool exists. Honestly, I see benefits only if it is not a "one for one" transfer but a cover using more complex sounds, for example.
Title: Re: Soundtracker DMA v2.0 released
Post by: TotO on 17:45, 05 July 21
Quote from: zhulien on 08:41, 05 July 21
That's a pitty... like video RAM...
Like Amiga Chip RAM.
Title: Re: Soundtracker DMA v2.0 released
Post by: zhulien on 00:33, 06 July 21
Is there a DMA ram memory map anywhere online with a list of restrictions and such?  From memory the hardware sprites are memory mapped I/O, do we page them in and out, can sample memory be under that sprite memory for example?


Is this the best reference?   http://cpctech.cpc-live.com/docs/cpcplus.html

Title: Re: Soundtracker DMA v2.0 released
Post by: zhulien on 01:28, 06 July 21
Quote from: Zik on 10:54, 05 July 21
For that purpose you can use option "S" (signal) in leftmost column, see description here: https://soundtrackerdma.cpcscene.net/doku.php?id=en:effects#special_column (https://soundtrackerdma.cpcscene.net/doku.php?id=en:effects#special_column)

The information will be available in output stream, so that you can use it at your convenience.


Awesome... If the CPC can receive a signal to an application at the time the music is played, I guess we can sync i.e. sprites or screen output to the music.  Can we 'alter' the music slightly by the controlling program or is that not possible? e.g. in a DDR type game, if no key is pressed, we don't want the note to play (or perhaps alter the volume of the note to 0), if we pressed the wrong key, perhaps we could make a random beep as the next note instead of the intended note.


As a side note too...  Since you have these instructions, any chance to you can add some MIDI support?  Either as another instruction channel or... as part of that instruction channel.  I would suggest not full midi support but just the sync / clock so we can sync the music within the tracker with the actual midi playing.  I think this would make a really good and useful tracker / MIDI hybrid with minimal effort (I hope) at your end without having to code full MIDI.


I saw that you can sync a Nintendo DS Korg application with some MIDI hardware by creating a pulse on one of the DS Korg drum channels - although that is using an audible click for the midi instruments to pickup - not the best way... and loses a drum channel.  Having a proper MIDI/THROUGH in sync to the tracker, that would allow the tracker music to play along with the rest of the instruments.   


https://www.youtube.com/watch?v=u5zMst6o2Nw (https://www.youtube.com/watch?v=u5zMst6o2Nw)


https://www.youtube.com/watch?v=0_TxXDjn5wY (https://www.youtube.com/watch?v=0_TxXDjn5wY)





Btw... if you had such midi support, multiple CPCs can be added to the MIDI bus with something like the awesome Ultimate MIDI Card all sync'd along with other instruments.


https://www.youtube.com/watch?v=Th2IpnHSq80&t=10s (https://www.youtube.com/watch?v=Th2IpnHSq80&t=10s)



The CPC not only plays AY sounds - it can also play drum samples becoming a drum sequencer.


Then... any chance for 6 additional PlayCity channels to be added?
Title: Re: Soundtracker DMA v2.0 released
Post by: GUNHED on 01:50, 06 July 21
Quote from: roudoudou on 07:24, 05 July 21
DMA sample works only on first 64K
In Cadjo Clans demo they use the full 2nd 64 KB for DMA sound.


Quote from: Zik on 17:11, 05 July 21Well, you would have to do an adaptation, no automatic tool exists. Honestly, I see benefits only if it is not a "one for one" transfer but a cover using more complex sounds, for example.

Well, yes. I just thought about saving CPU time, since Soundtrakker is slow.
Title: Re: Soundtracker DMA v2.0 released
Post by: roudoudou on 04:57, 06 July 21
Quote from: GUNHED on 01:50, 06 July 21
In Cadjo Clans demo they use the full 2nd 64 KB for DMA sound.


No, they have to copy those data in the first 64k for DMA because DMA only work in the first 64k
Title: Re: Soundtracker DMA v2.0 released
Post by: Targhan on 07:51, 06 July 21
What about using the software and what it CAN do, instead of nitpicking about what it cannot? You've got great new possibilities with Zik's Soundtracker, what about using them?
Title: Re: Soundtracker DMA v2.0 released
Post by: andycadley on 09:57, 06 July 21
Quote from: zhulien on 00:33, 06 July 21
Is there a DMA ram memory map anywhere online with a list of restrictions and such?  From memory the hardware sprites are memory mapped I/O, do we page them in and out, can sample memory be under that sprite memory for example?


Is this the best reference?   http://cpctech.cpc-live.com/docs/cpcplus.html (http://cpctech.cpc-live.com/docs/cpcplus.html)
The coprocessor in the ASIC can access any part of the main 64K and that is it. So you can put DMA lists anywhere you like in that 64K and they should work (even if the RAM is paged out or shadowed by the ASIC registers etc).
Title: Re: Soundtracker DMA v2.0 released
Post by: zhulien on 12:41, 06 July 21
Quote from: Targhan on 07:51, 06 July 21
What about using the software and what it CAN do, instead of nitpicking about what it cannot? You've got great new possibilities with Zik's Soundtracker, what about using them?


Not nitpicking, it is so good at what it does, it could be a little more useful for real music production.
Title: Re: Soundtracker DMA v2.0 released
Post by: Targhan on 12:46, 06 July 21
Yes, but have you already release anything with it? Did you reach its limit already? I'm not sure. Even the big Orion Prime MODs fill less than 30kb. I'm pretty sure you can achieve something great with the current limitations.
Title: Re: Soundtracker DMA v2.0 released
Post by: Targhan on 12:47, 06 July 21
Quote from: zhulien on 12:41, 06 July 21real music production
What do you mean by "real music production"? :)
Title: Re: Soundtracker DMA v2.0 released
Post by: zhulien on 12:58, 06 July 21
Quote from: Targhan on 12:46, 06 July 21
Yes, but have you already release anything with it? Did you reach its limit already? I'm not sure. Even the big Orion Prime MODs fill less than 30kb. I'm pretty sure you can achieve something great with the current limitations.


Actually i am playing with Midi stuff at the moment, so it will have a bigger place on what i am doing if it had midi syncing... i will force the CPC into my music (aka noise creation).
Title: Re: Soundtracker DMA v2.0 released
Post by: Zik on 11:54, 07 July 21
Quote from: GUNHED on 01:50, 06 July 21I just thought about saving CPU time, since Soundtrakker is slow.
If your main criteria is replay speed, you may convert the songs and use "Kit AY" to play them. Also, you may use "Arkos Tracker 2" that can import .128 files.

I cannot clearly remember, but I think a fast replay routine (faster than the original one) does exist for Soundtrakker compiled files. Anyone confirms?
Title: Re: Soundtracker DMA v2.0 released
Post by: Zik on 12:34, 07 July 21
Quote from: zhulien on 01:28, 06 July 21
[...] in a DDR type game, if no key is pressed, we don't want the note to play (or perhaps alter the volume of the note to 0), if we pressed the wrong key, perhaps we could make a random beep as the next note instead of the intended note.
What you describe here is really specific. In your application you may alter music pace by skipping calls to the replay routine (normally called once every frame) and mute sound. This should be done in your final application, not in the editor tool. And if it is a DDR game you will probably have graphics to display, etc.

Quote from: zhulien on 01:28, 06 July 21[...] any chance to you can add some MIDI support?  [...] not full midi support but just the sync / clock so we can sync the music within the tracker with the actual midi playing. 
Soundtracker DMA is a music composition software only (intended to create a music to be used in an external application), not a software for live performance like Ableton Live or Bitwig Studio, to name a few on modern computers. So, today that is not in my scope and I think it would be pretty limited if you can just set tempo remotely.
I was more thinking of MIDI for note entry (rather for fun than usefulness).

Quote from: zhulien on 01:28, 06 July 21
Then... any chance for 6 additional PlayCity channels to be added?
No... CPC+ DMA-lists only access internal AY. I think using Playcity and internal AY (9 channel mode) is not really practical for an application (a game for instance). Moreover, as far as I know PlayCity does not mix internal AY to its audio output.
Title: Re: Soundtracker DMA v2.0 released
Post by: TotO on 18:05, 07 July 21
Quote from: Zik on 12:34, 07 July 21I think using Playcity and internal AY (9 channel mode) is not really practical for an application (a game for instance). Moreover, as far as I know PlayCity does not mix internal AY to its audio output.
The PlayCity was made to offer 6ch for the CPC internal speaker or the external output. It is faster to program the 6ch than only the internal AY 3ch through the PPI. So, the idea was to keep this last circuit for the keyboard and controls. Because few peoples have wished to use the full 9ch for some music examples, the second revision of the PlayCity allow to listen them on the external output too.
Title: Re: Soundtracker DMA v2.0 released
Post by: Ast on 13:22, 08 July 21
Hi,


What about



Utiliser une musique exportée



?


@zik :
1. why .sdc file format isn't done with stkdma ?
2. when we are exporting a song with samples, do we have to save samples alone ?



Title: Re: Soundtracker DMA v2.0 released
Post by: Zik on 17:05, 08 July 21
Quote from: Ast on 13:22, 08 July 21
1. why .sdc file format isn't done with stkdma ?
Compressed output is not created from the editor because compression needs RAM and is very long on Z80. Moreover, there are several ways to compress an AY stream, depending on application constraints (without mentioning all the tricks you may want to do to the data before compressing them). I plan to propose two methods: one (real soon) using Kit AY running on Amstrad, one home-made and running on modern computer (but I have a bug to find before I can deliver this).

Quote from: Ast on 13:22, 08 July 21
2. when we are exporting a song with samples, do we have to save samples alone ?
No, samples are included in the output SDS file. This is documented in "export" chapter of the website, in French only for now: https://soundtrackerdma.cpcscene.net/doku.php?id=fr:export#format_de_fichier (https://soundtrackerdma.cpcscene.net/doku.php?id=fr:export#format_de_fichier)
Title: Re: Soundtracker DMA v2.0 released
Post by: ComSoft6128 on 17:19, 08 July 21
Not being a programmer or a musician I'm going to ask what might seem a laughable question.


Could the complexity of the track below be recreated using Soundtracker DMA?


https://www.youtube.com/watch?v=G25MLVUrG3A
Title: Re: Soundtracker DMA v2.0 released
Post by: BSC on 19:27, 08 July 21
@zik, you are in the pouet.net charts!  8)
Title: Re: Soundtracker DMA v2.0 released
Post by: Zik on 23:04, 08 July 21
Quote from: BSC on 19:27, 08 July 21
@zik, you are in the pouet.net charts!  8)
Thanks for the heads up! This is totally unexpected (and pretty cool), I actually did not realize PulkoMandy created an entry for it on pouet.net. Thanks to him and thank you all for your kind comments. Now, go write some musics!
Title: Re: Soundtracker DMA v2.0 released
Post by: Zik on 23:40, 08 July 21
Quote from: ComSoft6128 on 17:19, 08 July 21
Not being a programmer or a musician I'm going to ask what might seem a laughable question.

Could the complexity of the track below be recreated using Soundtracker DMA?
https://www.youtube.com/watch?v=G25MLVUrG3A (https://www.youtube.com/watch?v=G25MLVUrG3A)
It depends on what you are aiming for. Samples can add some realism, an acoustic touch, but this is limited because of memory constraints and sample quality. You may overcome this by swapping some samples in memory along the music (as Roudoudou did in CRTC3), but this requires strong coder/musicians collaboration. That could be done for instance for crash cymbal at the end. I have got pretty good sounding crash cymbal converted samples, but also very memory hungry! Samples for melodic instruments is even more limited.
SID can add some richness to sounds and timbre variety, but at the end the result will still sound like a chiptune (ie. ok but different from the original).
And of course, the limit of three channels still applies (I expect Toto to react to this!), so you need to reduce/mix/cheat/compromise while adapting a song like this.
Title: Re: Soundtracker DMA v2.0 released
Post by: ComSoft6128 on 05:51, 09 July 21
Thank you for your detailed reply, appreciated.
Title: Re: Soundtracker DMA v2.0 released
Post by: Ast on 13:54, 09 July 21

Hi @Zik (https://www.cpcwiki.eu/forum/index.php?action=profile;u=1798),

It seems there is a problem. All musics were tested and the result is exactly the same.
What can we do next ?
Title: Re: Soundtracker DMA v2.0 released
Post by: roudoudou on 15:05, 09 July 21
Quote from: Ast on 13:54, 09 July 21
What can we do next ?
use a color screen  :P
Title: Re: Soundtracker DMA v2.0 released
Post by: Ast on 15:07, 09 July 21
Quote from: roudoudou on 15:05, 09 July 21
use a color screen  :P
If you run zik's ayc converter, you 'll have the same colours.  ;D


Who's bad ?
Title: Re: Soundtracker DMA v2.0 released
Post by: Zik on 15:11, 09 July 21
Quote from: Ast on 13:54, 09 July 21
It seems there is a problem. All musics were tested and the result is exactly the same.
What can we do next ?
Only "full stream" SDS file type is supported, you probably saved a "delta stream" SDS file. I thought I put a more explicit error message, but it is in fact just mentioned in some comments:

70 ' Non géré :
80 '  - entry/signal
90 '  - loopto
100 '  - renumerotation des samples
110 '  - suppression des registres dont la valeur est constante
120 '  - flux SDS Delta

670 chunk$="STF ":GOSUB 1870 'Seul le stream full est supporté
--
Quick translation of comments:

Not supported:
Title: Re: Soundtracker DMA v2.0 released
Post by: Ast on 15:16, 09 July 21
i probably do that...  :laugh:
Title: Re: Soundtracker DMA v2.0 released
Post by: Ast on 15:54, 09 July 21
Ok, that works but, when all registers are ready (from crtc3cre), i see a splendid "Memory Full" :)
I 'm going on my investigations and i will tell to you.
Title: Re: Soundtracker DMA v2.0 released
Post by: Ast on 16:32, 09 July 21
still memory full  :o
Title: Re: Soundtracker DMA v2.0 released
Post by: Ast on 16:43, 09 July 21
same on winape...
Title: Re: Soundtracker DMA v2.0 released
Post by: Zik on 17:11, 10 July 21
Quote from: Ast on 16:32, 09 July 21
still memory full  :o
Thank you for testing. The few comment lines I added to Basic file made it too big for the disc buffers to fit, and apparently I forgot to test after this change.

I have updated the zip file on the website. Now the out.asm file can be saved with no error.
Title: Re: Soundtracker DMA v2.0 released
Post by: zhulien on 11:32, 19 July 21
In the context of Soundtracker - what makes a SID channel, a SID channel?


There seems to be some real variety in what a real SID can produce...  from Task 3 to Sanxion and others...


Any way to get Task 3 style base and drums on CPC?  or Sanxion style base?


https://www.youtube.com/watch?v=D-z0P1Absk8

https://www.youtube.com/watch?v=jiXTDZy2Hyg

Title: Re: Soundtracker DMA v2.0 released
Post by: norecess464 on 16:30, 19 July 21
Sorry, off-topic: those songs from Frank Endler are just AWESOME.
Title: Re: Soundtracker DMA v2.0 released
Post by: Zik on 21:51, 19 July 21
Quote from: zhulien on 11:32, 19 July 21In the context of Soundtracker - what makes a SID channel, a SID channel?
There seems to be some real variety in what a real SID can produce...  from Task 3 to Sanxion and others...

Any way to get Task 3 style base and drums on CPC?  or Sanxion style base?
"SID" sound in Soundtracker DMA (often called "SID-Voice" on Atari ST that has a similar sound chip) is called after the SID sound chip of C64 because it mimics one type of sound typical to it. But, SID sound chip has obviously many more possibilities (filters, etc.). 

The one in question here is pulse width modulation, which means they can choose the duty cycle of the rectangle wave, while on AY it is fixed at 50% (i.e. a square wave). By rapidly reprogramming the AY to chop the square wave, you can produce a rectangle wave of variable duty cycle. This has a CPU cost (all the more, we do not have a programmable timer like on Atari) that Soundtracker DMA reduces by using sound DMA of CPC+. 

That was a quick explanation but I hope it is clear enough.
Title: Re: Soundtracker DMA v2.0 released
Post by: zhulien on 13:13, 20 July 21
I think I get it, by switching rapidly between slightly offset square waves you can get a pretty close approximation of that SID sound... I am guessing the typical Warhawk sound...

Title: Re: Soundtracker DMA v2.0 released
Post by: zhulien on 13:26, 20 July 21
Come to think of it there are a few CPC sounds that I have only ever heard on a CPC - even though other computers share the same sound chip - H.A.T.E. comes to mind...


https://www.youtube.com/watch?v=rMnLJkSi3nE  at 1:48 into it...


I always felt Ghosts n Goblins music had a sid-like base, awesome music!


https://www.youtube.com/watch?v=sqcteYiOHS8
Title: Re: Soundtracker DMA v2.0 released
Post by: BSC on 22:39, 20 July 21
Quote from: zhulien on 13:26, 20 July 21I always felt Ghosts n Goblins music had a sid-like base, awesome music!

That effect was achieved by playing the same notes on two AY channels, slightly detuned to each other. Actually funny that this effect was almost never used.
I remember playing with the SOUND command in basic really long ago (must have been around the 18th century), doing the same thing with 2 or even 3 voices.
Made my CPC sound like an airplane passing by in the far distance.
Title: Re: Soundtracker DMA v2.0 released
Post by: tastefulmrship on 10:03, 21 July 21
Quote from: BSC on 22:39, 20 July 21
That effect was achieved by dubbing the bass notes on two AY channels, slightly detuned to each other. Actually funny that this effect was almost never used.
I think it's called a "flange"... but don't quote me on that, I'm not a musician!
It was used quite a bit by Dave Rogers (eg. Battle Valley (https://www.cpc-power.com/index.php?page=detail&onglet=zicym&num=376)), Ben Daglish (eg. Future Knight (https://www.cpc-power.com/index.php?page=detail&onglet=zicym&num=936)), Dave Whittaker and others back in the day. I use it very often!

EDIT: I can listen to David Whittaker's GHOSTS 'N' GOBLINS (https://www.cpc-power.com/index.php?page=detail&onglet=zicym&num=974) track all day! Love it! ^_^
Title: Re: Soundtracker DMA v2.0 released
Post by: Zik on 20:56, 21 July 21
Quote from: zhulien on 13:26, 20 July 21few CPC sounds that I have only ever heard on a CPC - even though other computers share the same sound chip - H.A.T.E. comes to mind...

Let me complete the very good answers above for H.A.T.E. music, with sounds really typical to Ben Daglish. 

So, if you wonder, the sound at the beginning is something like a normal square sound in higher octaves and pitch slide down, with hardware sawtooth volume envelope at fixed frequency (relatively low, something like &36). I would say the one at 1min28s is the same with lower notes. 

Then at 1min48s it is normal square changing notes with sawtooth fixed at very high pitch (period of 1).
Title: Re: Soundtracker DMA v2.0 released
Post by: Cwiiis on 14:59, 23 August 21
Seems if I try to run this with the X-MEM attached, I get an error about it not being supported... But I'm on a 6128+, I don't even need the extra RAM! Does anyone have any work-arounds for this beyond detaching the X-MEM? (I'd like to save on wear on the ports :))
Title: Re: Soundtracker DMA v2.0 released
Post by: Zik on 18:11, 23 August 21
Quote from: Cwiiis on 14:59, 23 August 21with the X-MEM attached, I get an error about it not being supported
This is because X-MEM is not compatible with the Asic I/O page of Amstrad Plus. Actually, no existing memory extension is compatible.

Instead of having some silent memory corruptions, I added this error message. I was not aware that some people were using incompatible extensions on their Plus.
I do not know if there is a switch on X-MEM to disable RAM expansion.
Title: Re: Soundtracker DMA v2.0 released
Post by: Cwiiis on 19:36, 23 August 21
Quote from: Zik on 18:11, 23 August 21
This is because X-MEM is not compatible with the Asic I/O page of Amstrad Plus. Actually, no existing memory extension is compatible.

Instead of having some silent memory corruptions, I added this error message. I was not aware that some people were using incompatible extensions on their Plus.
I do not know if there is a switch on X-MEM to disable RAM expansion.

This sounds interesting, would you mind elaborating a little?
Title: Re: Soundtracker DMA v2.0 released
Post by: Zik on 20:25, 23 August 21
Special features of Amstrad Plus are enabled through a register page (which I call Asic I/O register page) that is mapped to &4000-&7FFF memory space. When connected, it has priority. If the external memory extension replaces the internal 64k extension and does not account for Asic page connection, there is a conflict. A software can often avoid this situation by disabling Asic page before connecting an extension bank. But this has a cost and is not always easy to do, especially a posteriori.

Title: Re: Soundtracker DMA v2.0 released
Post by: Cwiiis on 20:44, 23 August 21
Quote from: Zik on 20:25, 23 August 21
Special features of Amstrad Plus are enabled through a register page (which I call Asic I/O register page) that is mapped to &4000-&7FFF memory space. When connected, it has priority. If the external memory extension replaces the internal 64k extension and does not account for Asic page connection, there is a conflict. A software can often avoid this situation by disabling Asic page before connecting an extension bank. But this has a cost and is not always easy to do, especially a posteriori.

I understand about mapping the ASIC registers, but surely it just always takes priority when it's mapped? If a program decides to map extension RAM into the same address space where the ASIC registers are mapped, that's on them, surely? I may be misunderstanding how extension RAM gets mapped/works of course... But it doesn't seem like just having an extension RAM board connected would have any ill effect on software that uses Plus features?
Title: Re: Soundtracker DMA v2.0 released
Post by: Zik on 21:11, 23 August 21
Quote from: Cwiiis on 20:44, 23 August 21I understand about mapping the ASIC registers, but surely it just always takes priority when it's mapped? If a program decides to map extension RAM into the same address space where the ASIC registers are mapped, that's on them, surely? I may be misunderstanding how extension RAM gets mapped/works of course...
ASIC registers and extension RAM are both (and independently) connected as 16kB pages at &4000-&7FFF (I will let other modes aside so as not to complicate my explanations). If the RAM extension board does not ignore read/write accesses when ASIC page is on and a bank is connected at &4000, there is a conflict.

Quote from: Cwiiis on 20:44, 23 August 21But it doesn't seem like just having an extension RAM board connected would have any ill effect on software that uses Plus features?
A program that uses Plus features will have issue if it connects ASIC registers page and (an incompatible) RAM extension page (and have some read or write access).
Title: Re: Soundtracker DMA v2.0 released
Post by: Cwiiis on 22:13, 23 August 21
Quote from: Zik on 21:11, 23 August 21
ASIC registers and extension RAM are both (and independently) connected as 16kB pages at &4000-&7FFF (I will let other modes aside so as not to complicate my explanations). If the RAM extension board does not ignore read/write accesses when ASIC page is on and a bank is connected at &4000, there is a conflict.
A program that uses Plus features will have issue if it connects ASIC registers page and (an incompatible) RAM extension page (and have some read or write access).
Right, so just having it connected is fine, as long as a program doesn't try to map both external RAM and ASIC registers at the same time (which may be awkward for some apps)? In the case of Soundtracker DMA, why does it check for external RAM and error out if it doesn't actually use it?
Title: Re: Soundtracker DMA v2.0 released
Post by: TotO on 22:22, 23 August 21
Well... @Ast (https://www.cpcwiki.eu/forum/index.php?action=profile;u=573) as released a patch to allow the X-MEM to work with Soundtracker DMA and it looks he use it since months w/o issue.
Now, I understand that is more a "security, in case if..." as the X-MEM was designed for the CPC range of computers.

I have an X-MEM+ design done since months, because the number of peoples asking for an Amstrad Plus expansion grow.
It will require to do some tests and I will release it next. Peoples with Amstrad Plus and X-MEM will be able to exchange it.

Thank you again to @Zik (https://www.cpcwiki.eu/forum/index.php?action=profile;u=1798) for his nice program, it is the work of life!
Title: Re: Soundtracker DMA v2.0 released
Post by: Zik on 22:50, 23 August 21
Quote from: TotO on 22:22, 23 August 21Well... @Ast (https://www.cpcwiki.eu/forum/index.php?action=profile;u=573) as released a patch to allow the X-MEM to work with Soundtracker DMA and it looks he use it since months w/o issue.
Now, I understand that is more a "security, in case if..." as the X-MEM was designed for the CPC range of computers.
I was not aware of a patch by Ast. I fixed an issue on initialization part (that was causing obvious corruptions) but then it was too risky to fix the rest just before the release, I had no time to re-validate everything. It is easy to have memory corruption without even noticing.

Quote from: TotO on 22:22, 23 August 21I have an X-MEM+ design done since months, because the number of peoples asking for an Amstrad Plus expansion grow.
It will require to do some tests and I will release it next. Peoples with Amstrad Plus and X-MEM will be able to exchange it.
Glad to hear! @TotO (https://www.cpcwiki.eu/forum/index.php?action=profile;u=290) Do you decode Asic lock/unlock and connection/disconnection?

Ok, we are getting quite off topic here!
Title: Re: Soundtracker DMA v2.0 released
Post by: Cwiiis on 00:03, 24 August 21
Quote from: TotO on 22:22, 23 August 21
Well... @Ast (https://www.cpcwiki.eu/forum/index.php?action=profile;u=573) as released a patch to allow the X-MEM to work with Soundtracker DMA and it looks he use it since months w/o issue.
Now, I understand that is more a "security, in case if..." as the X-MEM was designed for the CPC range of computers.

I have an X-MEM+ design done since months, because the number of peoples asking for an Amstrad Plus expansion grow.
It will require to do some tests and I will release it next. Peoples with Amstrad Plus and X-MEM will be able to exchange it.

Thank you again to @Zik (https://www.cpcwiki.eu/forum/index.php?action=profile;u=1798) for his nice program, it is the work of life!

Ooh, please consider me as being in the queue to make that exchange :)
Title: Re: Soundtracker DMA v2.0 released
Post by: OffseT on 11:04, 24 August 21
You should pay attenton to the fact that the issue is in the X-Mem (which was not designed for Plus range), not in the Soundtracker DMA.

As soon as a X-Mem is plugged on a Plus, all programs which are using memory banks and ASIC page at the same time can fail. They just have to switch both a bank (any bank) and the ASIC page, and then poke an ASIC register; it will immediatly corrupt the underlaying memory.

By chance, you could not notice the corruption because it is in some GFX or secondary data, but for sure there is a corruption.

The only clean way to avoid this issue is to systematically page out the current bank before poking in the ASIC page, and then put it back. Since you cannot know about the current bank, you have to memorize it by some way, and at the end it could become much more complex when dealing with interrupts or 64K bank pages instead of 16K (&C2 mode). In some cases it is just impossible to handle without a huge overhead.

The secondary way is to access memory banks through port &7Exx instead of &7Fxx. Because internal memory respond to both &7Exx and &7Fxx (in fact it only checks A15) while X-Mem only respond to &7Fxx. But this is not a clean way, and even if it could be acceptable in demos, you should really avoid it in serious softwares.

So, any Plus compatible expansion memory is welcome.  8)
Title: Re: Soundtracker DMA v2.0 released
Post by: roudoudou on 12:01, 24 August 21
it's not an XMEM issue, it's a CPC memory expansion issue
as far as i know, only the MEMCard of RAM7 use a simplified handling of Asic connections
all other memory expansions will fail compatibility test
Title: Re: Soundtracker DMA v2.0 released
Post by: Cwiiis on 12:59, 24 August 21
I'm trying to understand why inherently having an X-MEM plugged in would be a problem - does the X-MEM replace the upper 64k of a 128k machine? Looking at the RAM mapping on the X-MEM instructions pdf, I suppose the issue is if you have X-MEM pages mapped in at #4000-#7FFF, you'll lose use of the part that overlaps with the ASIC registers while they're mapped (or rather, if you write to ASIC registers, you'll corrupt the corresponding part of that page).

So this means you lose access to part of page 1 (or perhaps all pages, depending on how you choose to map the memory) if you choose to map ASIC registers without unmapping extended RAM. Is there more to it than this? This doesn't sound as bad as what people are saying... I don't understand why just having an X-MEM plugged in and not using it would cause corruption?
Title: Re: Soundtracker DMA v2.0 released
Post by: OffseT on 13:11, 24 August 21
Quote from: roudoudou on 12:01, 24 August 21
it's not an XMEM issue, it's a CPC memory expansion issue
as far as i know, only the MEMCard of RAM7 use a simplified handling of Asic connections
all other memory expansions will fail compatibility test

True. All existing expansion memory do have this issue when used on Plus.


Quote from: Cwiiis on 12:59, 24 August 21[...] does the X-MEM replace the upper 64k of a 128k machine? [...]

Yes. That's why just having it plugged will make any Plus program using (internal) exp 64K together with ASIC page will corrupt memory.


Quote from: Cwiiis on 12:59, 24 August 21[...] Is there more to it than this? This doesn't sound as bad as what people are saying... [...]

This is actually quite bad with 16K pages handling, and a total mess when using 64K pages (&C2 mode).
Title: Re: Soundtracker DMA v2.0 released
Post by: TotO on 14:15, 24 August 21
Quote from: OffseT on 11:04, 24 August 21
You should pay attenton to the fact that the issue is in the X-Mem (which was not designed for Plus range), not in the Soundtracker DMA.

As soon as a X-Mem is plugged on a Plus, all programs which are using memory banks and ASIC page at the same time can fail. They just have to switch both a bank (any bank) and the ASIC page, and then poke an ASIC register; it will immediatly corrupt the underlaying memory.

By chance, you could not notice the corruption because it is in some GFX or secondary data, but for sure there is a corruption.

The only clean way to avoid this issue is to systematically page out the current bank before poking in the ASIC page, and then put it back. Since you cannot know about the current bank, you have to memorize it by some way, and at the end it could become much more complex when dealing with interrupts or 64K bank pages instead of 16K (&C2 mode). In some cases it is just impossible to handle without a huge overhead.

The secondary way is to access memory banks through port &7Exx instead of &7Fxx. Because internal memory respond to both &7Exx and &7Fxx (in fact it only checks A15) while X-Mem only respond to &7Fxx. But this is not a clean way, and even if it could be acceptable in demos, you should really avoid it in serious softwares.

So, any Plus compatible expansion memory is welcome.  8)

The issue is related to any CPC memory expansion (as previously said).

The X-MEM decode &7Fxx because it is the only port required to handle 512K. It allows to increase the memory next.
&7Exx allows to add one extra 512K RAM (1MB) or to access the internal memory expansion (CPC 6128 and 6128plus).

In this way, it can not avoid the Plus to work properly with the X-MEM expansion. It is not a bug, it is a feature...
A serious software have to considerate the existing hardware features instead of locking it. Just test the &7Exx capability.

Sure, a dedicated memory expansion can be usefull. Using ROM to store the software and save RAM will be nice too. 8)
Title: Re: Soundtracker DMA v2.0 released
Post by: GUNHED on 17:37, 24 August 21
Inicrons 512 KB Battery buffered S-RAM expansion allows you to select if you want to use the 128 KB of a 6128(plus) or the extra 64 KB from external S-RAM (just use a switch). So, no problem with the Inicron stuff. (IIRC Dobbertin does the same, some internal jumper...).
Title: Re: Soundtracker DMA v2.0 released
Post by: Zik on 19:57, 24 August 21
Quote from: TotO on 14:15, 24 August 21A serious software have to considerate the existing hardware features instead of locking it. Just test the &7Exx capability.
What a gentle statement! Sorry for releasing software not meeting your standards.
Using port &7E is not a satisfactory solution to me, it is a workaround.
Title: Re: Soundtracker DMA v2.0 released
Post by: Zik on 20:00, 24 August 21
For people reading through this thread, let me remind you that Soundtracker DMA runs on a bare 6128Plus and does not require additional RAM. I worked hard for it.
Title: Re: Soundtracker DMA v2.0 released
Post by: ComSoft6128 on 08:11, 25 August 21
'CRTC3 main song' - WOW!
A guitar (sample?) that actually sounds like a guitar!
Instead of that metallic screech that I've heard in other older music programs..............
Title: Re: Soundtracker DMA v2.0 released
Post by: ComSoft6128 on 13:22, 25 August 21
Not being a musician means that I can't comment on the compositional side of the program but without a doubt the musical output is a major advance for the Plus, and clearly demonstrates how much the Plus enhancements can (with the right software!) improve on the sound/music generated by the original CPC range.
In this video I play one example track - 'CRTC main song' - which features digidrums(?)  and guitar(!),  after the track has finished I'll then use Protext to quickly display the on-disc manual.

Using headphones or a music system with good stereo separation is required to fully appreciate the music.

https://www.youtube.com/watch?v=MuoG2N6ihzk (https://www.youtube.com/watch?v=MuoG2N6ihzk)

Website:
https://soundtrackerdma.cpcscene.net/doku.php?id=en:about (https://soundtrackerdma.cpcscene.net/doku.php?id=en:about)

A history of CPC music by Tom and Jerry / GPA. (Needs updating now :) )
https://64nops.wordpress.com/2017/12/29/les-logiciels-de-composition-musicale-sur-cpc/ (https://64nops.wordpress.com/2017/12/29/les-logiciels-de-composition-musicale-sur-cpc/)

Other links:
https://cpcrulez.fr/applications_music-soundtracker_DMA.htm (https://cpcrulez.fr/applications_music-soundtracker_DMA.htm)
https://cpcrulez.fr/info-futurs.htm (https://cpcrulez.fr/info-futurs.htm)
https://www.genesis8bit.fr/archives/index.php?news_id=1663 (https://www.genesis8bit.fr/archives/index.php?news_id=1663)
https://www.pouet.net/prod.php?which=89290 (https://www.pouet.net/prod.php?which=89290)
http://www.44342.com/amstrad-f646-t984-p1.htm (http://www.44342.com/amstrad-f646-t984-p1.htm)
https://www.cpcwiki.eu/index.php/Plus (https://www.cpcwiki.eu/index.php/Plus)
http://cpctech.cpc-live.com/docs/cpcplus.html (http://cpctech.cpc-live.com/docs/cpcplus.html)


Not emulated - original hardware and software.
Please note that  the aspect ratio for this YouTube video is 16:9 but the CPC monitor
has an aspect ratio of 4:3 so you may wish to adjust your viewing device accordingly.
Title: Re: Soundtracker DMA v2.0 released
Post by: TotO on 13:35, 25 August 21
Quote from: Zik on 19:57, 24 August 21
What a gentle statement!
Said that to your brother, because what he said means Orgams, ImpDraw, ImpDos, ... are not serious programs.
Title: Re: Soundtracker DMA v2.0 released
Post by: GUNHED on 13:54, 25 August 21
Quote from: Zik on 20:00, 24 August 21
For people reading through this thread, let me remind you that Soundtracker DMA runs on a bare 6128Plus and does not require additional RAM. I worked hard for it.
Yes, and it's a great piece of work!  :) :) :)


With complex software questions arise of course - and they can be solved.  :) :) :)
Title: Re: Soundtracker DMA v2.0 released
Post by: Zik on 20:40, 25 August 21
Quote from: ComSoft6128 on 08:11, 25 August 21A guitar (sample?) that actually sounds like a guitar!
Thank you ComSoft6128. In fact, electric guitar samples are pretty easy to sound right because the sound is saturated and with little dynamic. That said, in this music they are not quite at full volume, so that my conversion method helps. I plan to explain how I proceed on the website of the tool.

By the way, on your video left and right audio channels are reversed and sound is not in sync with video (at least on my side). I am impressed by the number of links you gathered in your post above!
Title: Re: Soundtracker DMA v2.0 released
Post by: ComSoft6128 on 07:27, 26 August 21
Yes any information on how music is created using Soundtracker DMA v2.0 would be very welcome - even better if someone could make a video of the process, that would be fascinating.
The sync problem is something I'm stuck with until I buy better (not yet in existence :( ) recording equipment. 
As to the stereo reversal I don't really get that - I use a Plus specific Scart cable to the OSSC and from that a HDMI cable to the Haughpaugh Rocket. I also have a separate output to an amp using 3.5mm to RCA. I checked both this morning and both give an audio output with the guitar on the right channel. Mmm?

The links are essential - context is everything.
A few members and visitors to CPCWiki will immediately grasp/understand what they are seeing if they look at one of my YT videos, unfortunately many will not, so a a little background info is a very good thing here and on YouTube.


Any plans for more sample files?

https://coolnovelties.co.uk/coolnovelties/amstrad-video-cables/25-amstrad-cpc-464-6128-plus-models-rgb-scart-cable-0705693506586.html
Title: Re: Soundtracker DMA v2.0 released
Post by: zhulien on 16:02, 26 August 21
Quote from: Zik on 20:25, 23 August 21
Special features of Amstrad Plus are enabled through a register page (which I call Asic I/O register page) that is mapped to &4000-&7FFF memory space. When connected, it has priority. If the external memory extension replaces the internal 64k extension and does not account for Asic page connection, there is a conflict. A software can often avoid this situation by disabling Asic page before connecting an extension bank. But this has a cost and is not always easy to do, especially a posteriori.


Are these issues with ASIC only when writing to ASIC? If ASIC memory is already written to, can we page out to external memory overlapping the ASIC memory map without issues?
Title: Re: Soundtracker DMA v2.0 released
Post by: zhulien on 16:07, 26 August 21
Quote from: TotO on 22:22, 23 August 21
Well... @Ast (https://www.cpcwiki.eu/forum/index.php?action=profile;u=573) as released a patch to allow the X-MEM to work with Soundtracker DMA and it looks he use it since months w/o issue.
Now, I understand that is more a "security, in case if..." as the X-MEM was designed for the CPC range of computers.

I have an X-MEM+ design done since months, because the number of peoples asking for an Amstrad Plus expansion grow.
It will require to do some tests and I will release it next. Peoples with Amstrad Plus and X-MEM will be able to exchange it.

Thank you again to @Zik (https://www.cpcwiki.eu/forum/index.php?action=profile;u=1798) for his nice program, it is the work of life!


All my X-Mems are on CPC 6128 Plus machines and so far without issues that I know of - of course I seldom used Plus features.  To me I expected to page in/out ASIC when paging in memory and vice versa - although I didn't know the read situation of ASIC - whether it is like CRTC RAM (always read from main memory regardless of ROMs being paged in or RAM paged in).
Title: Re: Soundtracker DMA v2.0 released
Post by: zhulien on 16:09, 26 August 21
Quote from: Cwiiis on 12:59, 24 August 21
I'm trying to understand why inherently having an X-MEM plugged in would be a problem - does the X-MEM replace the upper 64k of a 128k machine? Looking at the RAM mapping on the X-MEM instructions pdf, I suppose the issue is if you have X-MEM pages mapped in at #4000-#7FFF, you'll lose use of the part that overlaps with the ASIC registers while they're mapped (or rather, if you write to ASIC registers, you'll corrupt the corresponding part of that page).

So this means you lose access to part of page 1 (or perhaps all pages, depending on how you choose to map the memory) if you choose to map ASIC registers without unmapping extended RAM. Is there more to it than this? This doesn't sound as bad as what people are saying... I don't understand why just having an X-MEM plugged in and not using it would cause corruption?


If it is as Cwiiis suggests, to me it is more a software problem of people not coding their banked software with ASIC in mind.  If it is however incompatible and no matter if all paged out while ASIC is paged in - still corrupts extra RAM, that would be unfortunate.
Title: Re: Soundtracker DMA v2.0 released
Post by: Cwiiis on 19:09, 26 August 21
Quote from: zhulien on 16:09, 26 August 21

If it is as Cwiiis suggests, to me it is more a software problem of people not coding their banked software with ASIC in mind.  If it is however incompatible and no matter if all paged out while ASIC is paged in - still corrupts extra RAM, that would be unfortunate.

The problem, at least as I understand it, is that the behaviour of an unexpanded 6128 or 464+ is that when you map ASIC memory, writing will only write to ASIC memory, but with every currently available RAM expansion, it will also write to any overlapping mapped external RAM. Couple this with the behaviour that RAM expansions also replace the second 64k on a 6128 and you've now changed behaviour from a stock 6128+ or expanded 464+. This is an issue for compatibility with older software that might use Plus features and 128k ram, although I think I can count the number of titles that do that on the fingers of one hand that is also missing some fingers :)


Perhaps a bigger problem, due to how the memory mapping works, if you don't want to incur the cycle penalty of having to switch banks around ASIC writes, you end up actually losing access to some banks, as there are some banks that can only be mapped to the area that overlaps the ASIC memory mapping. I might be wrong about this one, but it seemed that way from what I've read so far.

While it's possible to work around this if you architect with this limitation from the start, it's still a bit of a shame and a little inconvenient... Hopefully we'll see TotO develop a Plus-enhanced version of the X-MEM sometime in the future :)
Title: Re: Soundtracker DMA v2.0 released
Post by: BSC on 19:15, 26 August 21
Quote from: Zik on 20:00, 24 August 21For people reading through this thread, let me remind you that Soundtracker DMA runs on a bare 6128Plus and does not require additional RAM. I worked hard for it.

But it's colors don't go very well with my favorite t-shirt! How dare you pushing me into such unpleasant situations?!
Title: Re: Soundtracker DMA v2.0 released
Post by: Zik on 21:15, 26 August 21
Quote from: ComSoft6128 on 07:27, 26 August 21Any plans for more sample files?
Yep. I may release some sample banks (kind of) of simple melodic instruments. The file format supports having several samples in a unique file.

About audio sides reversal, I have got several jack to RCA cables and they are not all identical. I mean that for some cables red RCA is connected to jack tip, while it is supposed to be the reverse as per the standard, I believe. Anyway, "SOUND 1,239" in Basic should play a C to the left channel.
Title: Re: Soundtracker DMA v2.0 released
Post by: ComSoft6128 on 06:35, 27 August 21
Bugger!
It gave right channel.
RCA cables now reversed but this would indicate that the scart cable is wired incorrectly.
Title: Re: Soundtracker DMA v2.0 released
Post by: zhulien on 12:25, 27 August 21
Quote from: Cwiiis on 19:09, 26 August 21
Perhaps a bigger problem, due to how the memory mapping works, if you don't want to incur the cycle penalty of having to switch banks around ASIC writes, you end up actually losing access to some banks, as there are some banks that can only be mapped to the area that overlaps the ASIC memory mapping. I might be wrong about this one, but it seemed that way from what I've read so far.

While it's possible to work around this if you architect with this limitation from the start, it's still a bit of a shame and a little inconvenient... Hopefully we'll see TotO develop a Plus-enhanced version of the X-MEM sometime in the future :)


I guess we can easily code some tests with ASIC - if ASIC only needs external memory disabled during writes that is not that hard a test.  And if external memory is enabled during ASIC reads that should be pretty easy to cause to fail.
Title: Re: Soundtracker DMA v2.0 released
Post by: ComSoft6128 on 17:36, 28 August 21
Hi @Zik (https://www.cpcwiki.eu/forum/index.php?action=profile;u=1798) ,

Have you tried any voice samples yet?

I made this video recently - https://www.cpcwiki.eu/forum/applications/pc-sound-file-player-octwaver-v1-0-by-octobear/ (https://www.cpcwiki.eu/forum/applications/pc-sound-file-player-octwaver-v1-0-by-octobear/)
and it would be interesting to see (hear!) how your software and the Plus compare with that.
Title: Re: Soundtracker DMA v2.0 released
Post by: BSC on 12:20, 29 August 21
Quote from: ComSoft6128 on 17:36, 28 August 21made this video recently - https://www.cpcwiki.eu/forum/applications/pc-sound-file-player-octwaver-v1-0-by-octobear/
and it would be interesting to see (hear!) how your software and the Plus compare with that.

I am not Zik but had a look nevertheless. I think releasing a tool like this in 1994 was not very innovative or groundbreaking. Playing a single sample through the AY at a high sample rate has been done by many people much earlier. Makes me wonder if that guy (who seems so impressed by his own work) has been living under a rock the years before. Sorry for the rant, but his language was so over the top. So in conclusion I think that Soundtracker DMA is much more useful (apart from the fact that we are comparing classic CPC versus Plus here) and this PC soundfile player is just a(nother) demonstration of playing samples on the CPC.
Title: Re: Soundtracker DMA v2.0 released
Post by: ComSoft6128 on 13:33, 29 August 21
Hi @BSC (https://www.cpcwiki.eu/forum/index.php?action=profile;u=480) ,

Indeed the language is over the top but this is the only WAV player I have found so far, are there any others that you know of?
Also the quality of the sampled speech is probably the best I have heard using just the AY, if you know of similar please let me know.
Finally, I am not directly comparing the two programs but I do wonder how much better the Plus output could be. :)
Title: Re: Soundtracker DMA v2.0 released
Post by: Targhan on 16:12, 29 August 21
I am no Zik either, sorry :). But basically the Plus will not improve how samples are played compared to a CPC old. The advantage of a CPC Plus is that it can buffer the bytes to send to the PSG. This is tremendously useful because it allows to fill the buffer, then do something else. On old, the coder has do feed the PSG continuously, making effects (or other things along with the sample) very tedious to do (Imperial Mahjong has samples along with the game management: it was a nightmare to code).

As for a "sample player", I don't know of any, but I did a part (with Sylvestre) in the cpc meuuuhting (https://www.cpc-power.com/index.php?page=detail&num=7528), that plays a sample at 44Khz for a 3 seconds. As you can hear, it's not groundbreaking. 4 bits + logarithmic volume is not what's best for high-fidelity!
Title: Re: Soundtracker DMA v2.0 released
Post by: andycadley on 18:38, 31 August 21
Technically, the Plus can play better quality samples than a standard CPC if you're doing it across all three channels, because the DMA can feed the AY chip faster than optimal Z80 code can.


An XMEM+ that handles banking properly when the ASIC is enabled would be awesome though. It's the one niggle that has kept me from getting one in the past.
Title: Re: Soundtracker DMA v2.0 released
Post by: roudoudou on 20:54, 31 August 21
Quote from: andycadley on 18:38, 31 August 21
Technically, the Plus can play better quality samples than a standard CPC if you're doing it across all three channels, because the DMA can feed the AY chip faster than optimal Z80 code can.
with a mono output like the CPC speaker but the Plus has stereo speakers (and the jack output is always stereo)
Title: Re: Soundtracker DMA v2.0 released
Post by: Zik on 21:57, 31 August 21
I am Zik (!) and I do not think that programming PSG registers faster will significantly improve what you can hear (however I still have an idea to test!). Like said above, both CPC old and Plus have the same audio capabilities (I mean that they can output the same sounds).

What is more important is how you convert samples. Here is an example. I chose a voice, in connection with the previous message from @ComSoft6128 (https://www.cpcwiki.eu/forum/index.php?action=profile;u=2226) .
The source file is this one: https://freesound.org/people/milton./sounds/86878/ (https://freesound.org/people/milton./sounds/86878/)

The SDD file can be loaded by Soundtracker DMA. Both WAV files show the result, as recorded on my Plus.
Note that both samples together already fill up almost all the 16KB of memory available for samples.

The file named "welcome_bad" (sorry for the biased filename!) was converted using the natural, simple direct linear conversion to 4 bit (actually, not strictly. But result would be a bit better but similar). AFAIK, this is what is used quite everywhere. It works ok on audio with little dynamics and full volume.
The other file was converted using my not-as-simple method which takes into account the fact that the volume of the PSG is logarithmic.

I voluntarily chose a sound with a little dynamic for the demonstration. Both could probably sound a little better with a bit of preprocessing. Here, I only applied a bit of gain.
Title: Re: Soundtracker DMA v2.0 released
Post by: ComSoft6128 on 06:37, 01 September 21
Hi @Zik (https://www.cpcwiki.eu/forum/index.php?action=profile;u=1798) ,


The Welcome.sdd file gives the error message - "Incomplete Loading" :(
Title: Re: Soundtracker DMA v2.0 released
Post by: Zik on 09:02, 01 September 21
Quote from: ComSoft6128 on 06:37, 01 September 21The Welcome.sdd file gives the error message - "Incomplete Loading"
@ComSoft6128 (https://www.cpcwiki.eu/forum/index.php?action=profile;u=2226) , did you try from an empty session? You may try CLEAR->SONG first.
The file contains two samples, it looks well formed. "Incomplete loading" here means only one sample could be loaded. Are both "Smp01" and "Smp02" shown in sample list after you get the error? (it is even better to check from SMP-Editor").

From which device are you trying to load? Which DOS ROM?
Title: Re: Soundtracker DMA v2.0 released
Post by: ComSoft6128 on 09:44, 01 September 21
Cool, I reset the Plus and it loaded OK this time - how do I switch between the two samples?
Title: Re: Soundtracker DMA v2.0 released
Post by: Zik on 11:14, 01 September 21
Quote from: ComSoft6128 on 09:44, 01 September 21how do I switch between the two samples?
Use f5/f8 to browse the active list.
Common keys are documented here: https://soundtrackerdma.cpcscene.net/doku.php?id=en:interface (https://soundtrackerdma.cpcscene.net/doku.php?id=en:interface)
Title: Re: Soundtracker DMA v2.0 released
Post by: ComSoft6128 on 11:46, 01 September 21
Cheers, interesting to see the visual display of the sample :)


Also interesting is the difference between the two samples with Smp01 much "cleaner" that Smp02 which has a degree of  "distortion".
Title: Re: Soundtracker DMA v2.0 released
Post by: GUNHED on 15:32, 01 September 21
Quote from: Zik on 21:57, 31 August 21
I voluntarily chose a sound with a little dynamic for the demonstration. Both could probably sound a little better with a bit of preprocessing. Here, I only applied a bit of gain.
Indeed quite a difference!  :) :) :)
Title: Re: Soundtracker DMA v2.0 released
Post by: ComSoft6128 on 17:06, 01 September 21
 @Zik (https://www.cpcwiki.eu/forum/index.php?action=profile;u=1798) ,


One last question, assuming that enough people are using this program to create songs, would you release a stand-alone song player?
Title: Re: Soundtracker DMA v2.0 released
Post by: Zik on 20:41, 01 September 21
Quote from: ComSoft6128 on 17:06, 01 September 21assuming that enough people are using this program to create songs, would you release a stand-alone song player?
What I said is that I do not plan to release a player that works from objects as they are stored in the module file (which is anyway not appropriate for patterns that should be stored differently).

But it is already possible to play the music in an application outside the editor using the modified Kit-AY, as documented here: https://soundtrackerdma.cpcscene.net/doku.php?id=en:export#using_a_music_once_exported (https://soundtrackerdma.cpcscene.net/doku.php?id=en:export#using_a_music_once_exported)
I plan to propose another method (without buffer) once debugged.
Both methods work from the exported data stream.
Powered by SMFPacks Menu Editor Mod