Welcome, Guest. Please login or register.

Author Topic: Why do you converse?  (Read 12464 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline Speelgoedmannetje

  • Hero Member
  • *****
  • Join Date: Oct 2002
  • Posts: 9656
    • Show only replies by Speelgoedmannetje
Re: Why do you converse?
« Reply #29 on: March 29, 2008, 04:50:17 PM »
Quote

Karlos wrote:
*sigh*

Pity Fluffy, Kenny, Meerschaum etc aren't here these days. Fun banter was guarenteed :-)

Still, it's good to see that some old faces remain :-)
Fluffy's still veeeery regularly on Whyzzat...
And the canary said: \'chirp\'
 

Offline Karlos

  • Sockologist
  • Global Moderator
  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 16879
  • Country: gb
  • Thanked: 5 times
    • Show only replies by Karlos
Re: Why do you converse?
« Reply #30 on: March 29, 2008, 04:53:19 PM »
Quote

bloodline wrote:

Should be quite easy to work out! But I'm not going to... I spent enough time figuring out that stupid Paula calibration file :-)


Come on, that must have been easier to do than what you originally proposed ;-)
int p; // A
 

Offline Karlos

  • Sockologist
  • Global Moderator
  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 16879
  • Country: gb
  • Thanked: 5 times
    • Show only replies by Karlos
Re: Why do you converse?
« Reply #31 on: March 29, 2008, 04:54:09 PM »
Quote

Speelgoedmannetje wrote:
Quote

Karlos wrote:
*sigh*

Pity Fluffy, Kenny, Meerschaum etc aren't here these days. Fun banter was guarenteed :-)

Still, it's good to see that some old faces remain :-)
Fluffy's still veeeery regularly on Whyzzat...


Yeah. Somehow I couldn't get away with the place though. Don't get me wrong, it's nice enough but I guess I got too used to how things work here.
int p; // A
 

Offline bloodline

  • Master Sock Abuser
  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 12113
    • Show only replies by bloodline
    • http://www.troubled-mind.com
Re: Why do you converse?
« Reply #32 on: March 29, 2008, 05:02:06 PM »
Quote

Karlos wrote:
Quote

bloodline wrote:

Should be quite easy to work out! But I'm not going to... I spent enough time figuring out that stupid Paula calibration file :-)


Come on, that must have been easier to do than what you originally proposed ;-)


Infinitely... But less fun... I had no choice but to do it, to prove you wrong... Only to prove you right... real life sucks! If this had been a John Hughes movies, I would have been right, you would have been humiliated in front of the whole school... and for some unaccountable reason the pretty girl would sleep with me... sigh...

Offline Karlos

  • Sockologist
  • Global Moderator
  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 16879
  • Country: gb
  • Thanked: 5 times
    • Show only replies by Karlos
Re: Why do you converse?
« Reply #33 on: March 29, 2008, 05:17:13 PM »
I didn't say your method wouldn't work. It just might have been more difficult to do and could be more error prone...

Did you do anything with the result yet?
int p; // A
 

Offline bloodline

  • Master Sock Abuser
  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 12113
    • Show only replies by bloodline
    • http://www.troubled-mind.com
Re: Why do you converse?
« Reply #34 on: March 29, 2008, 05:20:53 PM »
Quote

Karlos wrote:
I didn't say your method wouldn't work. It just might have been more difficult to do and could be more error prone...

Did you do anything with the result yet?


I tried to build a "Paula Accurate Bitcrusher" Audio Unit for use in MacOS audio applications... while Apple's SDK and IDE are brilliant and I managed to compile it... I can't get MacOS to recognise the AU :-)

Offline Karlos

  • Sockologist
  • Global Moderator
  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 16879
  • Country: gb
  • Thanked: 5 times
    • Show only replies by Karlos
Re: Why do you converse?
« Reply #35 on: March 29, 2008, 05:24:04 PM »
Is it basically a compander-like curve applied to the input then?
int p; // A
 

Offline Speelgoedmannetje

  • Hero Member
  • *****
  • Join Date: Oct 2002
  • Posts: 9656
    • Show only replies by Speelgoedmannetje
Re: Why do you converse?
« Reply #36 on: March 29, 2008, 05:27:24 PM »
Quote

Karlos wrote:
Quote

Speelgoedmannetje wrote:
Quote

Karlos wrote:
*sigh*

Pity Fluffy, Kenny, Meerschaum etc aren't here these days. Fun banter was guarenteed :-)

Still, it's good to see that some old faces remain :-)
Fluffy's still veeeery regularly on Whyzzat...


Yeah. Somehow I couldn't get away with the place though. Don't get me wrong, it's nice enough but I guess I got too used to how things work here.
Yeah, I know... and there's waaaay too much annoying political 'debate' over there...
And the canary said: \'chirp\'
 

Offline bloodline

  • Master Sock Abuser
  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 12113
    • Show only replies by bloodline
    • http://www.troubled-mind.com
Re: Why do you converse?
« Reply #37 on: March 29, 2008, 05:35:36 PM »
Quote

Karlos wrote:
Is it basically a compander-like curve applied to the input then?


Err... I simply shifted the orignal 16bit sample right by 8places (actually it is more complicated than that since MacOSX Core Audio is 32bit floats)... then used a lookup table to see what the 8bit value would map to at 16bits... and built a new sample using that data... :-)

For example:

The original 16bit sample:  27900 (input)
The 8bit Bit crushed sample : 109
The Paula non-linear output output: 27933 (output)

(The Paula perfectly linear output: 27904 - for reference)

I can send you my lookup tables if you like :-)

Offline Karlos

  • Sockologist
  • Global Moderator
  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 16879
  • Country: gb
  • Thanked: 5 times
    • Show only replies by Karlos
Re: Why do you converse?
« Reply #38 on: March 29, 2008, 05:42:04 PM »
I see :-)

The one thing I was never quite sure about was how the non-linearity of paula's audio worked. What I mean is, was it the absolute output voltage that was affected by the curve directly or was it the change in successive sample output voltages that were affected by the curve?

If it's the former, a simple lookup table converting input sample to output sample is fine, but if it's the latter you need to basically keep track of the previous input sample and apply the lookup to the difference between the current sample and the previous sample.

In both cases, the second thing I wondered about was the effect of the inbuilt amplifier, but that's a wee bit beyond the scope of the discussion, unless realtime FIR filtering etc is your bang :-)
int p; // A
 

Offline bloodline

  • Master Sock Abuser
  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 12113
    • Show only replies by bloodline
    • http://www.troubled-mind.com
Re: Why do you converse?
« Reply #39 on: March 29, 2008, 05:47:36 PM »
Quote

Karlos wrote:
I see :-)

The one thing I was never quite sure about was how the non-linearity of paula's audio worked. What I mean is, was it the absolute output voltage that was affected by the curve directly or was it the change in successive sample output voltages that were affected by the curve?

If it's the former, a simple lookup table converting input sample to output sample is fine, but if it's the latter you need to basically keep track of the previous input sample and apply the lookup to the difference between the current sample and the previous sample.


From the Calibration Data from the cybersound package, the former has to be assumed... There is no other way to make it meaningful!

-Edit- Also you would need a set of values for ascending and another for descending!

Quote

In both cases, the second thing I wondered about was the effect of the inbuilt amplifier, but that's a wee bit beyond the scope of the discussion, unless realtime FIR filtering etc is your bang :-)


It isn't, but I can solve that by using Logic Pro's audio EQ matching features, by running a test tone through the Amiga and letting it match the pitch/dB relationships or whatever it does :-)

Offline motorollinTopic starter

  • Hero Member
  • *****
  • Join Date: Nov 2005
  • Posts: 8669
    • Show only replies by motorollin
Re: Why do you converse?
« Reply #40 on: March 30, 2008, 11:08:08 AM »
@Karlos
I think conversation can be quite effective as a form of therapy, though of course it depends who it's with and what you're talking about :-) It's easy to get stuck in a rut of not communicating though. Sometimes I feel really bad it's like my mouth is boarded up, but when I'm forced to communicate I actually start to feel a bit better.

@bloodline
I really wish I understood what you're on about :lol: Can you explain it in layman's terms?

--
moto
Code: [Select]
10  IT\'S THE FINAL COUNTDOWN
20  FOR C = 1 TO 2
30     DA-NA-NAAAA-NAAAA DA-NA-NA-NA-NAAAA
40     DA-NA-NAAAA-NAAAA DA-NA-NA-NA-NA-NA-NAAAAA
50  NEXT C
60  NA-NA-NAAAA
70  NA-NA NA-NA-NA-NA-NAAAA NAAA-NAAAAAAAAAAA
80  GOTO 10
 

Offline bloodline

  • Master Sock Abuser
  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 12113
    • Show only replies by bloodline
    • http://www.troubled-mind.com
Re: Why do you converse?
« Reply #41 on: March 30, 2008, 03:07:15 PM »
Quote

motorollin wrote:

@bloodline
I really wish I understood what you're on about :lol: Can you explain it in layman's terms?

--
moto


I guess what Karlos and I are demonstrating is the opposite of small talk :-)

The theory is quite  simple actually:

Paula can output 256 discrete voltage levels... which steps from -5 volts to +5 volts... so each level is about 0.039 volts... but due to her design, some levels are a bit larger and some are a bit smaller... this is because the DAC in paula is not perfectly linear (perhaps due to the design or flaws in the manufacturing).

In pure number terms, i.e. the digitized audio sample it looks like this:

-128 to +127 (-5 volts to +5 volts)

Which if the DAC was perfectly linear would look like this:
-2= -0.078 volts
-1= -0.039 volts
  0 =   0 volts
  1 =   0.039 volts
  2 =   0.078 volts

So when we want to pay back the 8bit audio sample on 16bit hardware we need to convert the sample which could be any number from -128 to +127 into any number from (-65536 to +65535)... this is done simply by multiplying the sample by 256... (or we use the logical shift left operation since that is much faster, a good book on Boolean algebra will explain why).

That mean that 1 becomes 256... 2 becomes 512... 3 becomes 768... you get the picture... but that resultant output from the 16bit hardware won't sound like paula, because it is perfectly linear... so instead of multiplying by 256 we can use a lookup table to give the value that paula would have given if her output was sampled at 16bit!

So the value of 1 should have been 256 in a 16bit sample if she was perfectly linear... but Paula would actually give 239 (this isn't the true value since I don't have my tables with me at the moment)!

My plan is to make an Audio Unit, that takes the Audio stream converts it to 8bit, applies this paula derived nonlinear distortion, and than upscales back to the native audio resolution... Eh Viola! Instant Paula Audio from Logic Pro... or Ableton Live... Garage Band... or whatever Audio app you use to make music on your Mac! This is why I love digital music making :-)

Karlos also pointed out that the Amplifiers on the Motherboard colour the audio... But Logic has special EQ software which I should be able to use to match the that... it would be nice to have that as part of the Audio unit... but sadly Fast Fourier Transform isn't my idea of fun.

Offline Karlos

  • Sockologist
  • Global Moderator
  • Hero Member
  • *****
  • Join Date: Nov 2002
  • Posts: 16879
  • Country: gb
  • Thanked: 5 times
    • Show only replies by Karlos
Re: Why do you converse?
« Reply #42 on: March 30, 2008, 03:40:39 PM »
Just to complicate it a little further, do we know exactly how the 6-bit channel volume is applied on Paula?

I've noticed that, with proper amplification of the output, you can still playback an 8-bit sample at a channel volume setting of 1 with much more precision than you'd expect of a simple 8-bit DAC.

So, does the volume premultiply the sample before sending it to a DAC that has 14-bit actual resolution, or is the analogue output of the DAC fed through a particularly stable volume control? If it's the latter, I don't expect the volume control is particularly linear, either.

I got the impression that 14-bit replay tricks play the most significant 8-bit portion of a 16-bit sample word on one channel at full volume then the next 6-bits of the 16-bit sample word on the other channel at minimum volume.

I'll probably have to do some testing of my own now :-D

-edit-

Unfortunately I'm far too busy trying to persuade my crust old FM synth to reproduce the metallic effects from the first half of Hybrid's remix of "Everything in it's right place"...
int p; // A
 

Offline bloodline

  • Master Sock Abuser
  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 12113
    • Show only replies by bloodline
    • http://www.troubled-mind.com
Re: Why do you converse?
« Reply #43 on: March 30, 2008, 03:58:52 PM »
Quote

Karlos wrote:
Just to complicate it a little further, do we know exactly how the 6-bit channel volume is applied on Paula?

I've noticed that, with proper amplification of the output, you can still playback an 8-bit sample at a channel volume setting of 1 with much more precision than you'd expect of a simple 8-bit DAC.


This hasn't escaped my notice either... though the noise in the signal might be providing some kind of dithering... increasing the quality of what we perceive...

We would need to engineer specific test tones to really see what's going on...

Quote

So, does the volume premultiply the sample before sending it to a DAC that has 14-bit actual resolution, or is the analogue output of the DAC fed through a particularly stable volume control? If it's the latter, I don't expect the volume control is particularly linear, either.


THis has puzzled me for quite a while!!! My initial assumption was that the 8bit sample was divided by the 6bit volume value, digitally before the DAC... but Paula certainly doesn't have 4 Dividers in there!!!! Ok... so maybe the 8bit sample is bit shifted... but I can't make that work and I doubt she has 4 barrel shifters in there either... I can only conclude that the Volume is done after the DAC with an opamp. The 8bit Sample value is converted into an audio signal by an 8bit DAC... The 6bit Volume value is converted into a signal by a 6bit DAC and then the Audio signal is attenuated by the volume signal with the OpAmp... does that make sense?

-Edit- Thinking about it, I expect this is where the nonlinearity of Paula comes from!


Quote

I got the impression that 14-bit replay tricks play the most significant 8-bit portion of a 16-bit sample word on one channel at full volume then the next 6-bits of the 16-bit sample word on the other channel at minimum volume.


In my own code, I split the 16bit sample into two bytes. The Most significant byte played at full volume (63) in one channel. The least significant byte played at minimum volume (1) on the other channel. It seemed to work... I didn't realise about the volume thing at first... and the noise was horrible :-)

Perhaps I was supposed to shift the least significant byte by two places... but I didn't...

-Edit- Also, it took me quite a to realise that 16bit Wav files were little endian, and my code was fine... :-)

Quote

I'll probably have to do some testing of my own now :-D


Please do... this is fun :-)

Offline bloodline

  • Master Sock Abuser
  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 12113
    • Show only replies by bloodline
    • http://www.troubled-mind.com
Re: Why do you converse?
« Reply #44 from previous page: March 30, 2008, 04:07:21 PM »
Quote

Karlos wrote:

-edit-

Unfortunately I'm far too busy trying to persuade my crust old FM synth to reproduce the metallic effects from the first half of Hybrid's remix of "Everything in it's right place"...


Poo to the FM synth... The day I sold my DX9 was a happy one :-) Three months studying a badly translated Manual to make a crappy bell sound... that my Amiga and its 8bit sampler could do far better in a matter of seconds...

I really really don't like FM synth :-D