English Amiga Board

English Amiga Board (https://eab.abime.net/index.php)
-   Amiga scene (https://eab.abime.net/forumdisplay.php?f=2)
-   -   Hardware recreation of Amiga audio sound / tone (https://eab.abime.net/showthread.php?t=112931)

GavinG 23 December 2022 01:42

Hardware recreation of Amiga audio sound / tone
 
Hi everyone,

I’m a big fan of the ‘crunchy’ Amiga sound - I think the heart of it is the aliasing bluntly filtered. I love especially the aliasing effect on soft string and wind samples, such as:
https://youtu.be/qHf22UhCnVE?t=25

I am trying to think how to create a hardware Amiga sound 'pass through' as a standalone hardware device. I can (and already do) pass audio through my Amiga to do this. But creating a hardware device would enable some enhancements - separately controlling and modifying the aliasing, filter and other characteristic elements of the Amiga sound.

Dr. Venom, in another post...
http://eab.abime.net/showpost.php?p=...0&postcount=11
...suggests breadboarding the Amiga DAC + analogue filter. I am not much use with a circuit diagram, but am trying to get close using Eurorack format synth modules. Here is my proposal:

1. Audio in to a Doepfer A189-1 VC Bit Modifier
(video of one in action:https://www.youtube.com/watch?v=Bb9t8fbRxgY )
This has separate controls for bit depth and sample rate.
- set to 8bit depth, and with sample rate between 8-16 khz.


2. Then an ALM MUM M8 filter:
https://busycircuits.com/alm018/
This is a 6pole Butterworth, not the Amiga's 2pole (a 4pole filter option, the WMD AAF, was as close as I can find, but it has less fun modulation options).

Maybe before the filter you’d want to add some low level 50hz hum noise as well.

The fun thing here would be being able to accentuate or modify things separately, to make something sound more 'Amiga' than an Amiga, if you like. For example, if I added an LFO controlling the sample rate, the sample rate frequency could be dynamically synchronised in relation with the frequency of the audio note being played in, so you could always create the 'right' (wrong!) mismatch with the Nyquist rate to create 'tuned' or at least more controlled aliasing-per-note. Or, raising the filter cutoff dynamically to open up more aliasing across the duration of a note etc.


I’d really appreciate thoughts from those of you more technical than myself, especially on this second very achievable option. Are there any ingredients missing here before I splash some cash to try it out?

8bitbubsy 27 December 2022 20:37

Well, the Amiga has three analog audio filters, not just the "LED" filter.

Here they are, in correct order:
1) 1-pole (6dB/oct) RC low-pass (cutoff=4420.97Hz)
2) 2-pole (12dB/oct) RC low-pass (cutoff=3090.53Hz, Q=0.660) (aka. the "LED" filter, turned off/on in software)
3) 1-pole (6dB/oct) RC high-pass (cutoff=5.128Hz) (for centering / DC blocking)

On Amiga 1200, the cutoff is 34419.32Hz for 1). This is why A1200 sounds much sharper than other Amigas.

Note: Some of the schematics that are found online are wrong when it comes to the resistor/capacitor values for these filters.

Karlos 27 December 2022 21:12

There's a lot to the Amiga's audio beyond the filtering too. Paula has very many sample replay rates based on sample period values that divide up the input clock of 3.5MHz (subdivided from the main 28MHz clock). The volume control is implemented by switching the DAC on and off for a given duty cycle, implemented using a counter and a comparator. The channel's DAC is on when the volume is greater than the counter. The counter goes from 0-63, incrementing every 3.5MHz clock which is why 64 is "maximum" volume as the DAC is permanently on. At the maximum replay rate of ~56kHz, each sample goes through two complete volume counter cycles.

Then there's the whole non-linearity of the DAC output, the bassy analogue amplification. Such a sweet sound.

ross 27 December 2022 22:09

Quote:

Originally Posted by Karlos (Post 1584840)
At the maximum replay rate of ~56kHz, each sample goes through two complete volume counter cycles.

Just a small correction.
At ~56kHz each sample goes through one complete volume counter cycle.
So the frequencies can also be higher than 56KHz but then the volume would no longer work properly.

GavinG 27 December 2022 23:28

The filter details here seem very detailed, thanks so much 8bitbubsy for the precise description for implementation! (for interest, this parallel discussion on emulating the filters also has some images of two of the filter shapes)
https://github.com/MiSTer-devel/Mini...Ter/issues/104

So the remaining big issue is how detailed I could get with modelling sample frequency and aliasing. I hoped to use the Doepfer device to introduce aliasing and just play with it (given the varying interaction between eg. the individual sample rate of a sample in Octamed, and the sample rate of Paula playing it out), but I wonder if there is a precise way to think about/model this?

Quote:

Originally Posted by Karlos (Post 1584840)
Paula has very many sample replay rates based on sample period values that divide up the input clock of 3.5MHz (subdivided from the main 28MHz clock).

If you have the patience to unpack it a bit - Are there subtle variations in the overall sample rate depending on final output volume?

pandy71 28 December 2022 00:57

Also this:http://bax.comlab.uni-rostock.de/dl/...mTheoretic.pdf

Aliasing is not related with Paula... This is outcome of poor sample processing (lack of proper lowpass filtering before sampling) You can generate no alias sound in Paula without problems... so unless you are searching for particular type of non-linear Paula DAC distortion then there not much different from normal 8 bit samples... of course PWM volume level is something not so common but it can be easily recreated even in TTL logic. Analog filters are pretty standard...

Karlos 28 December 2022 01:55

Quote:

Originally Posted by ross (Post 1584846)
Just a small correction.
At ~56kHz each sample goes through one complete volume counter cycle.
So the frequencies can also be higher than 56KHz but then the volume would no longer work properly.

Absolutely correct. I was thinking of the the 27kHz rate then remembered you can do 56 but forgot to amend the rest of the post. 56*64 = 3584000, i.e the input clock frequency.

Karlos 28 December 2022 02:02

Quote:

Originally Posted by GavinG (Post 1584861)
If you have the patience to unpack it a bit - Are there subtle variations in the overall sample rate depending on final output volume?

I don't think so, I mean the sample period for the channel dictates when the instantaneous value at the DAC should change and the volume control's switching the whole thing on and off to control the volume is immediately averaged out by the filtering. It may even be smoothed out before it even reaches any of the dedicated filters just by some of the basic circuit characteristics of the analogue stage. I'm not intimately familiar with them but I'd assume there's be some overall capacitance that might soften the harsh on/off transitions.

ImmortalA1000 28 December 2022 03:16

I have my Amiga 1000 connected to my 1988 Pioneer stack system (same one I used in 1988 with my A1000 back then) and I notice that a lot of instrument samples are very naff quality looking at the spectrum analysers. Jeroen Tel's Agony and David Whittaker's Beast 1 are exceptions so it isn't a hardware problem, generally most game soundtracks have bugger all treble in the instrument samples anyway due to low sampling rates or lazy use of those horrible ST-?? labelled PD instrument disks for trackers.

With a half decent amplifier and stereo graphic equalizer you can probably replicate the 'Amiga sound' I would imagine although few 16bit machines could match the Amiga's generous addressable memory for the DACs (SNES is limited to 64kb in total) but maybe it would be used for emulation?

Thorham 28 December 2022 09:03

Quote:

Originally Posted by GavinG (Post 1583738)
I’m a big fan of the ‘crunchy’ Amiga sound

It's the used samples, not the Amiga.

8bitbubsy 29 December 2022 15:25

Quote:

Originally Posted by ImmortalA1000 (Post 1584897)
I have my Amiga 1000 connected to my 1988 Pioneer stack system (same one I used in 1988 with my A1000 back then) and I notice that a lot of instrument samples are very naff quality looking at the spectrum analysers. Jeroen Tel's Agony and David Whittaker's Beast 1 are exceptions so it isn't a hardware problem, generally most game soundtracks have bugger all treble in the instrument samples anyway due to low sampling rates or lazy use of those horrible ST-?? labelled PD instrument disks for trackers.

With a half decent amplifier and stereo graphic equalizer you can probably replicate the 'Amiga sound' I would imagine although few 16bit machines could match the Amiga's generous addressable memory for the DACs (SNES is limited to 64kb in total) but maybe it would be used for emulation?

As far as I know, the Amiga 1000's "LED" filter is fixed, you can't turn it off. This is the reason for the muddy/filtered sound.
Same goes for rev3 Amiga 500, actually.

mikeboss 29 December 2022 16:04

Quote:

Originally Posted by 8bitbubsy (Post 1585267)
As far as I know, the Amiga 1000's "LED" filter is fixed, you can't turn it off.

yup, true!


All times are GMT +2. The time now is 16:28.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.

Page generated in 0.04295 seconds with 11 queries