News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
avatar_redbox

Perfect Digidrums on a classic CPC

Started by redbox, 11:28, 27 May 21

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

redbox

I've created a routine and a small demo which shows digidrums (and accompanying AY tune) imported from the Atari ST being played perfectly on the classic CPC.  The timing is very tight, but there are still over 10,000 nops free every frame to do something else.

@XeNoMoRPH very kindly recorded a video of the demo playing on a classic 464:

https://vimeo.com/555618320#t=2m10s

This demo sounds much cleaner than the version made by Overflow for Backtro:


https://www.youtube.com/watch?v=OkslG1SBRo8&t=11s

I've attached the source code and a DSK image to this post.

GUNHED

Nice, how much "drum-bytes" do you send per second?
http://futureos.de --> Get the revolutionary FutureOS (Update: 2023.11.30)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

redbox

Quote from: GUNHED on 16:27, 27 May 21Nice, how much "drum-bytes" do you send per second?

The digidrums on the ST are 6826.67 Hz.  This is calculated by taking the ST time (2457600 Hz) and dividing it by the interrupts being TP (4) and then TC (90).  2457600/4/90 = 6826.67 Hz.

Then I described the CPC timings in the source code:


        ; YM digidrums are 4-bit @              6826.67 Hz
        ; CPC frame is                          15625 Hz
        ; CPC is 300 scanlines * 64 nops =      19200 nops
        ; 15265hz / 6827hz = 2.275 * 64 nops =  146 nops
        ; or to make it CPC friendly we use     150 nops
        ; because 19200 nops / 150 =            128 iterations per frame


So, 128 bytes of digidrum are played every frame.  I split the digidrums into 128 byte sections to make it easier to trigger them in the pattern.

To answer your question, 1 second of sound would be 128*50 = 6400 bytes.

GUNHED

http://futureos.de --> Get the revolutionary FutureOS (Update: 2023.11.30)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

BSC

The part between 0:33 and 1:30 was ... interesting ;-)

Cool project! Your player code reminds me of my SID stuff some years ago. When has time become so incredibly fast..?
** My SID player/tracker AYAY Kaeppttn! on github **  Some CPC music and experiments ** Other music ** More music on scenestream (former nectarine) ** Some shaders ** Some Soundtrakker tunes ** Some tunes in Javascript

My hardware: ** Schneider CPC 464 with colour screen, 64k extension, 3" and 5,25 drives and more ** Amstrad CPC 6128 with M4 board, GreaseWeazle.

redbox

#5
Quote from: BSC on 20:44, 27 May 21The part between 0:33 and 1:30 was ... interesting ;-)

@XeNoMoRPH can take credit for the video, he very kindly recorded it for me so we could hear it on a real CPC!  I just sent him the DSK file.

Quote from: BSC on 20:44, 27 May 21Your player code reminds me of my SID stuff some years ago.

I'm soooooo "last gen"...!  8)

Seriously though, I wanted to get digidrums working with plenty of NOPs left to do other things.  Other previous classic CPC digidrum attempts released with source code that I could find (including mine) are pretty rough and I just wanted to share some source code of how it can be done precisely.

m_dr_m

Yep I'm not sure what @Overflow has done with this one? Noise register still open? Sample replay interrupted for too long?


Check Shap's replay of Madmax digidrums:
https://www.youtube.com/watch?v=OSy4BCKrAuw
Or Targhan's own digidrums:
https://www.youtube.com/watch?v=4wGTnz82es0


If anybody remember better ones, let us know!

redbox

Quote from: m_dr_m on 21:35, 27 May 21Check Shap's replay of Madmax digidrums:

Fantastic, thank you.

I'm not entirely convinced the samples are being played at a precise resolution though... it could just be my ageing ears or something else like 8-bit converted to 4-bit.

I guess without the source code we will never know!

Targhan

You can also check out the Imperial Mahjong digidrums/samples (see my signature to download the game... no video would capture the EGX mode well!).
Targhan/Arkos

Arkos Tracker 2.0.1 now released! - Follow the news on Twitter!
Disark - A cross-platform Z80 disassembler/source converter
FDC Tool 1.1 - Read Amsdos files without the system

Imperial Mahjong
Orion Prime

BSC

You can also check WEEE!s Wow-Part of Terrific Demo:


https://www.youtube.com/watch?v=9JGmLLzD_o8

Some of the best early digi drums. I don't think any french production ever came close to the quality ;)
** My SID player/tracker AYAY Kaeppttn! on github **  Some CPC music and experiments ** Other music ** More music on scenestream (former nectarine) ** Some shaders ** Some Soundtrakker tunes ** Some tunes in Javascript

My hardware: ** Schneider CPC 464 with colour screen, 64k extension, 3" and 5,25 drives and more ** Amstrad CPC 6128 with M4 board, GreaseWeazle.

BSC

Quote from: m_dr_m on 21:35, 27 May 21Check Shap's replay of Madmax digidrums:

Sound pretty dope to me.

The digi-drums by Overflow do not only sound distorted but also seem to be at least 1 tick/frame too early each time.
** My SID player/tracker AYAY Kaeppttn! on github **  Some CPC music and experiments ** Other music ** More music on scenestream (former nectarine) ** Some shaders ** Some Soundtrakker tunes ** Some tunes in Javascript

My hardware: ** Schneider CPC 464 with colour screen, 64k extension, 3" and 5,25 drives and more ** Amstrad CPC 6128 with M4 board, GreaseWeazle.

m_dr_m

Quote from: BSC on 15:40, 28 May 21Some of the best early digi drums. I don't think any french production ever came close to the quality
Right! Remember now having been blown away by this tune. Original drum-set, and excellently used!

zhulien

Wee terrific demo sounds awesome with a stereo CPC too, really nice tune and arrangement and fantastic digi drums.

GUNHED

With modern techniques we can also use real PCM drums (and similar) in a more easy way. Just have a look at projects like LambdaSpeak III and FS.
http://futureos.de --> Get the revolutionary FutureOS (Update: 2023.11.30)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

BSC

But this thread is about software generated digi-drums using built-in AY capabilities.
** My SID player/tracker AYAY Kaeppttn! on github **  Some CPC music and experiments ** Other music ** More music on scenestream (former nectarine) ** Some shaders ** Some Soundtrakker tunes ** Some tunes in Javascript

My hardware: ** Schneider CPC 464 with colour screen, 64k extension, 3" and 5,25 drives and more ** Amstrad CPC 6128 with M4 board, GreaseWeazle.

Mage

This demo is not as good as the ones that were quoted above, but it was released earlier (except Weee's part)

ST transfert of "Prehistoric Tale" Jochen Hippel (Mad Max) transfered by Fefesse with player improving by Naminu.

If i'm correct, the drums were played at 5KHz.



megachur

#16
Hello !

Nice post and share ;-) !

megachur

#17
Quote from: zhulien on 17:50, 23 September 22Wee terrific demo sounds awesome with a stereo CPC too, really nice tune and arrangement and fantastic digi drums.
weee was good in making music on amstrad cpc (in golden age) and the first to use cpc plus dma capacity too ;-) !

listen to the intro music of Killing Fist preview by him and especialy the last sample : https://www.cpc-power.com/index.php?page=detail&num=1248

see Killing Fist (UK) (128K) (1992) (V1) (Prototype).dsk

GUNHED

Quote from: BSC on 15:32, 28 September 22But this thread is about software generated digi-drums using built-in AY capabilities.
Yes, right. Let's stay on topic.  :)
http://futureos.de --> Get the revolutionary FutureOS (Update: 2023.11.30)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

zhulien

Amazing Demo about 3:30 into the video, Monty on the run with digidrums


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

zhulien

Does phX by Condense use digidrums or is it just awesome sounding AY drums?


https://www.youtube.com/watch?v=6wBwbRYL-F4&t=220s

Powered by SMFPacks Menu Editor Mod