23 December 2022, 01:42 | #1 |
Registered User
Join Date: Dec 2019
Location: London
Posts: 13
|
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: [ Show youtube player ] 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: [ Show youtube player ] ) 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? Last edited by GavinG; 23 December 2022 at 02:11. |
27 December 2022, 20:37 | #2 |
Registered User
Join Date: Sep 2009
Location: Norway
Posts: 1,711
|
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. Last edited by 8bitbubsy; 27 December 2022 at 21:35. |
27 December 2022, 21:12 | #3 |
Alien Bleed
Join Date: Aug 2022
Location: UK
Posts: 4,225
|
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. |
27 December 2022, 22:09 | #4 | |
Defendit numerus
Join Date: Mar 2017
Location: Crossing the Rubicon
Age: 53
Posts: 4,479
|
Quote:
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. |
|
27 December 2022, 23:28 | #5 |
Registered User
Join Date: Dec 2019
Location: London
Posts: 13
|
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? If you have the patience to unpack it a bit - Are there subtle variations in the overall sample rate depending on final output volume? |
28 December 2022, 00:57 | #6 |
Registered User
Join Date: Jun 2010
Location: PL?
Posts: 2,802
|
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... |
28 December 2022, 01:55 | #7 |
Alien Bleed
Join Date: Aug 2022
Location: UK
Posts: 4,225
|
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.
|
28 December 2022, 02:02 | #8 |
Alien Bleed
Join Date: Aug 2022
Location: UK
Posts: 4,225
|
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.
|
28 December 2022, 03:16 | #9 |
Registered User
Join Date: Feb 2009
Location: london/england
Posts: 1,347
|
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? |
28 December 2022, 09:03 | #10 |
Computer Nerd
Join Date: Sep 2007
Location: Rotterdam/Netherlands
Age: 47
Posts: 3,796
|
|
29 December 2022, 15:25 | #11 | |
Registered User
Join Date: Sep 2009
Location: Norway
Posts: 1,711
|
Quote:
Same goes for rev3 Amiga 500, actually. |
|
29 December 2022, 16:04 | #12 |
Registered User
Join Date: Dec 2020
Location: .ch
Posts: 65
|
|
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
XCopy sound as SMS tone? | spudje | Amiga scene | 18 | 27 November 2022 23:39 |
Amiga 2000 - Recreation - some minor issues | voyager_1701e | support.Hardware | 2 | 21 October 2019 08:38 |
Amiga Games - Sound design & Audio production discussion | lordofchaos | Retrogaming General Discussion | 30 | 07 February 2016 23:20 |
Amiga audio channel split by hardware? | Amiga1992 | Hardware mods | 58 | 20 January 2013 11:12 |
Amiga audio hardware trivia | Toni Wilen | Coders. General | 12 | 23 September 2010 18:14 |
|
|