Author Topic: New audio subsystem  (Read 2045 times)

Offline iWasAdam

  • Hero Member
  • *****
  • Posts: 759
Re: New audio subsystem
« Reply #30 on: August 03, 2018, 12:05:03 PM »
yep. I't not a simple thing to explain. lol.

I'm sorting out some wavetable stuff ATM. Finally got my hands on the original PPG wavetable files and am tweaking how to deal with it so it is sice and simple and usable.

Offline iWasAdam

  • Hero Member
  • *****
  • Posts: 759
Re: New audio subsystem
« Reply #31 on: August 05, 2018, 11:25:49 AM »
PPG wavetable stuff all sorted along with some new filter stuff

Now for the BIG ONE...

All updated and cross compiled on Windows and Linux without any issues!  :o

Offline MikeHart

  • Hero Member
  • *****
  • Posts: 516
    • FantomGL
Re: New audio subsystem
« Reply #32 on: August 09, 2018, 08:43:06 AM »
Wow, that is looking really good.

Offline iWasAdam

  • Hero Member
  • *****
  • Posts: 759
Re: New audio subsystem
« Reply #33 on: August 09, 2018, 10:44:15 AM »
thanks Mike.   ;)

the backend is using some SDL audio. does Cerberus support SDL2?

Offline MikeHart

  • Hero Member
  • *****
  • Posts: 516
    • FantomGL
Re: New audio subsystem
« Reply #34 on: August 09, 2018, 03:51:44 PM »
thanks Mike.   ;)

the backend is using some SDL audio. does Cerberus support SDL2?
CX uses GLFW and OpenAL right now.

Offline Qube

  • Administrator
  • Hero Member
  • *****
  • Posts: 1321
Re: New audio subsystem
« Reply #35 on: August 09, 2018, 05:48:15 PM »
coming together very nicely I see :) - Are you going to be offering it to the M2 community as I'm sure there are others who would want a working sound system on MacOS?.

Barely touched Monkey 2 myself and if as you say the sound is iffy on MacOS then meh :P
Until the next time...

Offline Derron

  • Hero Member
  • *****
  • Posts: 1511
Re: New audio subsystem
« Reply #36 on: August 09, 2018, 06:22:05 PM »
@Qube
It is not a "sound system" (in the sense of "PlayAudio(file.ogg)") but a "sound generator/machine".

Think there are less people being able to make use out of it - but if they are able to, then they surely find it useful.


bye
Ron

Offline iWasAdam

  • Hero Member
  • *****
  • Posts: 759
Re: New audio subsystem
« Reply #37 on: August 10, 2018, 06:48:04 AM »
Quote
It is not a "sound system" (in the sense of "PlayAudio(file.ogg)") but a "sound generator/machine".
Actually Derron. it is! (if that's the way you want it to be)

It won't stream - but I could add that - but I can't see a reason for that (in this case).

All of what you have seen can be thought of as the internal structure underneath PlayAudio().
Usually (when you call PlayAudio) there is a lot of code you never see that does all the nasty stuff like loading audio into the correct format and setting up the audio driver and feeding the driver.

This is a new subsystem. But one that you can see (because of its complexity) and rewire, redesign.

It may be that the end user never see this side of things... ?

The relative command to PlayAudio("cccc") would be (something like):

synth = New Synth
sound1 = synth.LoadAudio("ccccc")
PlayAudio( sound1 )

Offline Derron

  • Hero Member
  • *****
  • Posts: 1511
Re: New audio subsystem
« Reply #38 on: August 10, 2018, 06:54:32 AM »
So it is an "audio feed generator".
You might consider adding "stream support" so people could use it to get rid of the "cracks" or "missing begin" on Mac OS X.

For such things you need to create helpers to ease the pain of mixing audio (set pane, individual volumes, ...). Means a useful group of commands for "play an ogg file"-users).


bye
Ron

Offline Qube

  • Administrator
  • Hero Member
  • *****
  • Posts: 1321
Re: New audio subsystem
« Reply #39 on: August 10, 2018, 10:18:05 PM »
Quote
It is not a "sound system" (in the sense of "PlayAudio(file.ogg)") but a "sound generator/machine".
Actually Derron. it is! (if that's the way you want it to be)
I thought so ;D
Until the next time...

Offline iWasAdam

  • Hero Member
  • *****
  • Posts: 759
Re: New audio subsystem
« Reply #40 on: August 14, 2018, 03:11:03 PM »
so. latest update is everything is working and I'm starting on the final big concept... The FX

The simplest way to think of this all the sounds (voices) can be fed into (up to) 3 FX units. These are the same as foot pedals when playing guitar:


each single voice has three fx sends (how much of the output to send (feed) into any FX - this is shown above by the FX panel with the 3 fx feeds.

I have (currently) set aside 5 fx including reverb, delay, chorus, etc. These are shown on the top.
You click and drag a pedal onto a blank pedal position below it and the faders automatically fill themselves in for you.
FX are global - they affect ALL voices, but you can set the amount per voice...

In use it could be something like this:
footsteps (this is our voice)
we want to have different levels of echo if we are inside or out
so we use an echo fx in slot 1

when we want to use lots of echo we would use:
footsteps.FX1 = 1
or no echo
footsteps.FX1 = 0
or some echo
footsteps.FX1 = 0.25



Offline Qube

  • Administrator
  • Hero Member
  • *****
  • Posts: 1321
Re: New audio subsystem
« Reply #41 on: August 16, 2018, 12:37:25 AM »
Quote
so. latest update is everything is working and I'm starting on the final big concept... The FX
Looking forward to seeing this all in action in your next game :)
Until the next time...