Welcome, Guest. Please login or register.

Author Topic: Paula Audio Emulation AudioUnit  (Read 4912 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline Karlos

  • Sockologist
  • Global Moderator
  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 16867
  • Country: gb
  • Thanked: 4 times
    • Show all replies
Re: Paula Audio Emulation AudioUnit
« on: March 24, 2012, 11:10:46 PM »
Quote from: bloodline;685048
If I'm really honest I can't tell the difference between them, I'm not sure that it was worth the effort... some feedback would be most welcome :)


Didn't we also conclude that aliasing played a big part in the colouring of Paula's audio?

I found that for certain bright sounds, like cymbals, there were quite noticeable effects as you approached the regular PAL 27kHz playback limit, specifically a bit like the old aphex corp's "aural exciter" effect.
int p; // A
 

Offline Karlos

  • Sockologist
  • Global Moderator
  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 16867
  • Country: gb
  • Thanked: 4 times
    • Show all replies
Re: Paula Audio Emulation AudioUnit
« Reply #1 on: March 25, 2012, 02:42:33 PM »
Quote from: ChaosLord;685284
Amiga has a 14-bit (or more) DAC..


You are talking cross purposes. Bloodline isn't trying to reproduce 14-bit replay, he's trying to reproduce how 8-bit audio sounds when it's played back through the DAC at a given volume.

The output precision of Paula itself is not what is being modelled here, it's the response behaviour.

Paula is very non-linear. For a fixed channel volume, the output does not vary linearly as a function of the input 8-bit sample. Likewise, the output does not vary linearly as a function of channel volume for a fixed input 8-bit sample value.

Finally, these variances themselves change from one Paula to another.

The guy (sorry, the name escapes me just now) that wrote the original 14-bit Cybersound driver that was later assimilated into AHI was well aware of this. He developed a calibration tool that relies on the user manually eliminating a simple square wave (IIRC) across a spread of input values by adjusting a set of scaling factors. The idea was that for each input value, you had to adjust the scaling factor until the square wave was as inaudible as possible.

It was my original suggestion to Bloodline that the resulting calibration table should contain the necessary data (likely requiring some inversion) for his proposed application.

We then went on to discuss other factors affecting the audio. On the digital side, there is sample aliasing and on the analogue side, the frequency response (always kinda bassy to my ear) of the op-amps that boost the output from the DAC and, of course, the low pass filter (if enabled).
int p; // A