Author Topic: Rebuilds of MM Audio Pack  (Read 29494 times)

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2092
  • Karma: +159/-0
    • View Profile
Re: Rebuilds of MM Audio Pack
« Reply #15 on: November 01, 2022, 01:20:26 am »
I had to set the test programs, especially the pipe tests, to use binary mode with flac.
Does the audio pack support AIFF?

Yeah as a quick kludge I might just link with -Zbin-files and see if it fixes it...

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2092
  • Karma: +159/-0
    • View Profile
Re: Rebuilds of MM Audio Pack
« Reply #16 on: November 01, 2022, 01:21:29 am »
Hey Dave,

Does the audio pack support AIFF?

Is there an open source library that supports AIFF?

Cheers,

Paul.

Dave Yeo

  • Hero Member
  • *****
  • Posts: 4787
  • Karma: +99/-1
    • View Profile
Re: Rebuilds of MM Audio Pack
« Reply #17 on: November 01, 2022, 01:32:11 am »
I was thinking of Flac. Of course there is libavcodec (FFmpeg) that supports most anything, though last I checked, not encoding to MP3.
In flac/test are some example aiff 's, also wave 64.

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2092
  • Karma: +159/-0
    • View Profile
Re: Rebuilds of MM Audio Pack
« Reply #18 on: November 01, 2022, 09:14:29 am »
OK -Zbin-files didn't help... I did change to linking with -static-libgcc, and now see that the first exception in audconv.exe is now in mmiovorb.dll - the map file should help understand where it's trapping, and I can also enable debug logging.

Will do this on another day, feeling a bit sore tonight after having a couple of biopsies taken from some moles on my back!

Dave Yeo

  • Hero Member
  • *****
  • Posts: 4787
  • Karma: +99/-1
    • View Profile
Re: Rebuilds of MM Audio Pack
« Reply #19 on: November 01, 2022, 03:31:21 pm »
OK -Zbin-files didn't help... I did change to linking with -static-libgcc, and now see that the first exception in audconv.exe is now in mmiovorb.dll - the map file should help understand where it's trapping, and I can also enable debug logging.

Perhaps try linking against libcx?

Quote
Will do this on another day, feeling a bit sore tonight after having a couple of biopsies taken from some moles on my back!

Sounds painful, part of living in Australia I guess. Hopefully they're just regular moles. Good luck.

Remy

  • Hero Member
  • *****
  • Posts: 645
  • Karma: +9/-1
    • View Profile
Re: Rebuilds of MM Audio Pack
« Reply #20 on: November 03, 2022, 11:15:56 pm »
Hey Dave,

Does the audio pack support AIFF?

Is there an open source library that supports AIFF?

Cheers,

Paul.

You can use same as for WAV
It is PCM.

Lars

  • Hero Member
  • *****
  • Posts: 1271
  • Karma: +65/-0
    • View Profile
Re: Rebuilds of MM Audio Pack
« Reply #21 on: November 05, 2022, 02:13:28 pm »
OS/2 already contains an IOProc for AIFF as well as IFF, it's implemented in aiffproc.dll.

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4713
  • Karma: +41/-1
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
Re: Rebuilds of MM Audio Pack
« Reply #22 on: November 11, 2022, 05:34:39 pm »
https://smedley.id.au/tmp/mmaudiopack-20221031.zip updates to the latest ogg, vorbis and flac libraries - and uses GCC 12.2.0

Also - https://smedley.id.au/tmp/mmiovorbis-O0-20221031.zip is built with GCC 12.2.0 - but with Optimisation set to -O0 to minimise any optimisation.

Hi

I finally got some time to test this packages. I'm starting with "mmaudiopack-20221031.zip"

Here is the install with MINSTALL, I think that everything went normal.
Code: [Select]
MINSTALL - Multimedia Installer (CLI/CID) - by Kiewitz

Active package is : 'MMAudio Pak 2'

1 - 'MMIOFLAC' (Selected)
2 - 'MMIOVorbis' (Selected)
3 - 'MMIOMP3' (Selected)

Please select/deselect group(s), ENTER to install or ESC to exit

Are you sure to install this package? (ENTER to confirm)
 -> C:\MMOS2\DLL\mmiomp3.dll
 -> C:\MMOS2\DLL\mmiovorb.dll
 -> C:\MMOS2\DLL\mmioflac.dll
Custom-Terminate-API: Thread opened
Custom-Terminate-API: Thread closed
Return-Code FE00 (CID: Success, system should reboot)

[C:\HOME\DESKTOP\MMAUDIOPACK-20221031]

- Rebooted

Now I want to know what will be some usefull testing procedure.
- I grabbed and MP3, OGG and FLAC test files from the internet.
- WPS Play: OGG and FLAC tested fine with "WPS Play" (double click). MP3 is not register by default on the WPS, gotta check on that.
- MPPM.EXE: The MP3, OGG and FLAC test files reproduced fine on MMPM.EXE.

What other tests do you suggest for it ? I have no problems to report for the moment.

Regards
« Last Edit: November 11, 2022, 05:42:29 pm by Martin Iturbide »
Martin Iturbide
OS2World NewsMaster
... just share the dream.

Paul Smedley

  • Hero Member
  • *****
  • Posts: 2092
  • Karma: +159/-0
    • View Profile
Re: Rebuilds of MM Audio Pack
« Reply #23 on: November 11, 2022, 09:39:41 pm »
Hey Martin, thanks for testing. You could test audio conversion, but suspect you'll see the same issues David reported. I need to get around to investigating that !!

Remy

  • Hero Member
  • *****
  • Posts: 645
  • Karma: +9/-1
    • View Profile
Re: Rebuilds of MM Audio Pack
« Reply #24 on: December 02, 2022, 04:35:19 am »
Hi,

May it be possible to have WAV (24bits - 44100 as well 24bits 48000) supported by mmaudiopack ?

Regards
Rémy

Lars

  • Hero Member
  • *****
  • Posts: 1271
  • Karma: +65/-0
    • View Profile
Re: Rebuilds of MM Audio Pack
« Reply #25 on: December 02, 2022, 07:26:19 am »
That is already supported with installing USBAUDIO package. It adds the necessary SPI info so that MMPM can understand this new Samplerate/numchannels/bit depth format.

Here is a list of what formats have been added by now:


Code: [Select]
/* additional Subtypes for DATATYPE_WAVEFORM:*/
#define    WAVE_FORMAT_32M16        0x0011L   /*  32.0kHz  , Mono, 16-bit*/
#define    WAVE_FORMAT_48M16        0x0012L   /*  48.0kHz  , Mono, 16-bit*/
#define    WAVE_FORMAT_64M16        0x0013L   /*  64.0kHz  , Mono, 16-bit*/
#define    WAVE_FORMAT_882M16       0x0014L   /*  88.2kHz  , Mono, 16-bit*/
#define    WAVE_FORMAT_96M16        0x0015L   /*  96.0kHz  , Mono, 16-bit*/
#define    WAVE_FORMAT_1764M16      0x0016L   /* 176.4kHz  , Mono, 16-bit*/
#define    WAVE_FORMAT_192M16       0x0017L   /* 192.0kHz  , Mono, 16-bit*/
#define    WAVE_FORMAT_3528M16      0x0018L   /* 352.8kHz  , Mono, 16-bit*/
#define    WAVE_FORMAT_384M16       0x0019L   /* 384.0kHz  , Mono, 16-bit*/

#define    WAVE_FORMAT_32S16        0x001AL   /*  32.0kHz  , Stereo, 16-bit*/
#define    WAVE_FORMAT_48S16        0x001BL   /*  48.0kHz  , Stereo, 16-bit*/
#define    WAVE_FORMAT_64S16        0x001CL   /*  64.0kHz  , Stereo, 16-bit*/
#define    WAVE_FORMAT_882S16       0x001DL   /*  88.2kHz  , Stereo, 16-bit*/
#define    WAVE_FORMAT_96S16        0x001EL   /*  96.0kHz  , Stereo, 16-bit*/
#define    WAVE_FORMAT_1764S16      0x001FL   /* 176.4kHz  , Stereo, 16-bit*/
#define    WAVE_FORMAT_192S16       0x0020L   /* 192.0kHz  , Stereo, 16-bit*/
#define    WAVE_FORMAT_3528S16      0x0021L   /* 352.8kHz  , Stereo, 16-bit*/
#define    WAVE_FORMAT_384S16       0x0022L   /* 384.0kHz  , Stereo, 16-bit*/

#define    WAVE_FORMAT_32M24        0x0023L   /*  32.0kHz  , Mono, 24-bit*/
#define    WAVE_FORMAT_4M24         0x0024L   /*  44.1kHz  , Mono, 24-bit*/
#define    WAVE_FORMAT_48M24        0x0025L   /*  48.0kHz  , Mono, 24-bit*/
#define    WAVE_FORMAT_64M24        0x0026L   /*  64.0kHz  , Mono, 24-bit*/
#define    WAVE_FORMAT_882M24       0x0027L   /*  88.2kHz  , Mono, 24-bit*/
#define    WAVE_FORMAT_96M24        0x0028L   /*  96.0kHz  , Mono, 24-bit*/
#define    WAVE_FORMAT_1764M24      0x0029L   /* 176.4kHz  , Mono, 24-bit*/
#define    WAVE_FORMAT_192M24       0x002AL   /* 192.0kHz  , Mono, 24-bit*/
#define    WAVE_FORMAT_3528M24      0x002BL   /* 352.8kHz  , Mono, 24-bit*/
#define    WAVE_FORMAT_384M24       0x002CL   /* 384.0kHz  , Mono, 24-bit*/

#define    WAVE_FORMAT_32S24        0x002DL   /*  32.0kHz  , Stereo, 24-bit*/
#define    WAVE_FORMAT_4S24         0x002EL   /*  44.1kHz  , Stereo, 24-bit*/
#define    WAVE_FORMAT_48S24        0x002FL   /*  48.0kHz  , Stereo, 24-bit*/
#define    WAVE_FORMAT_64S24        0x0030L   /*  64.0kHz  , Stereo, 24-bit*/
#define    WAVE_FORMAT_882S24       0x0031L   /*  88.2kHz  , Stereo, 24-bit*/
#define    WAVE_FORMAT_96S24        0x0032L   /*  96.0kHz  , Stereo, 24-bit*/
#define    WAVE_FORMAT_1764S24      0x0033L   /* 176.4kHz  , Stereo, 24-bit*/
#define    WAVE_FORMAT_192S24       0x0034L   /* 192.0kHz  , Stereo, 24-bit*/
#define    WAVE_FORMAT_3528S24      0x0035L   /* 352.8kHz  , Stereo, 24-bit*/
#define    WAVE_FORMAT_384S24       0x0036L   /* 384.0kHz  , Stereo, 24-bit*/

#define    WAVE_FORMAT_32M32        0x0037L   /*  32.0kHz  , Mono, 32-bit*/
#define    WAVE_FORMAT_4M32         0x0038L   /*  44.1kHz  , Mono, 32-bit*/
#define    WAVE_FORMAT_48M32        0x0039L   /*  48.0kHz  , Mono, 32-bit*/
#define    WAVE_FORMAT_64M32        0x003AL   /*  64.0kHz  , Mono, 32-bit*/
#define    WAVE_FORMAT_882M32       0x003BL   /*  88.2kHz  , Mono, 32-bit*/
#define    WAVE_FORMAT_96M32        0x003CL   /*  96.0kHz  , Mono, 32-bit*/
#define    WAVE_FORMAT_1764M32      0x003DL   /* 176.4kHz  , Mono, 32-bit*/
#define    WAVE_FORMAT_192M32       0x003EL   /* 192.0kHz  , Mono, 32-bit*/
#define    WAVE_FORMAT_3528M32      0x003FL   /* 352.8kHz  , Mono, 32-bit*/
#define    WAVE_FORMAT_384M32       0x0040L   /* 384.0kHz  , Mono, 32-bit*/

#define    WAVE_FORMAT_32S32        0x0041L   /*  32.0kHz  , Stereo, 32-bit*/
#define    WAVE_FORMAT_4S32         0x0042L   /*  44.1kHz  , Stereo, 32-bit*/
#define    WAVE_FORMAT_48S32        0x0043L   /*  48.0kHz  , Stereo, 32-bit*/
#define    WAVE_FORMAT_64S32        0x0044L   /*  64.0kHz  , Stereo, 32-bit*/
#define    WAVE_FORMAT_882S32       0x0045L   /*  88.2kHz  , Stereo, 32-bit*/
#define    WAVE_FORMAT_96S32        0x0046L   /*  96.0kHz  , Stereo, 32-bit*/
#define    WAVE_FORMAT_1764S32      0x0047L   /* 176.4kHz  , Stereo, 32-bit*/
#define    WAVE_FORMAT_192S32       0x0048L   /* 192.0kHz  , Stereo, 32-bit*/
#define    WAVE_FORMAT_3528S32      0x0049L   /* 352.8kHz  , Stereo, 32-bit*/
#define    WAVE_FORMAT_384S32       0x004AL   /* 384.0kHz  , Stereo, 32-bit*/

#define    WAVE_FORMAT_12M16        0x004BL   /*  12.0kHz  , Mono, 16-bit*/
#define    WAVE_FORMAT_16M16        0x004CL   /*  16.0kHz  , Mono, 16-bit*/
#define    WAVE_FORMAT_24M16        0x004DL   /*  24.0kHz  , Mono, 16-bit*/

#define    WAVE_FORMAT_12S16        0x004EL   /*  12.0kHz  , Stereo, 16-bit*/
#define    WAVE_FORMAT_16S16        0x004FL   /*  16.0kHz  , Stereo, 16-bit*/
#define    WAVE_FORMAT_24S16        0x0050L   /*  24.0kHz  , Stereo, 16-bit*/

#define    WAVE_FORMAT_8M24         0x0051L   /*   8.0kHz  , Mono,   24-bit*/
#define    WAVE_FORMAT_8S24         0x0052L   /*   8.0kHz  , Stereo, 24-bit*/
#define    WAVE_FORMAT_8M32         0x0053L   /*   8.0kHz  , Mono,   32-bit*/
#define    WAVE_FORMAT_8S32         0x0054L   /*   8.0kHz  , Stereo, 32-bit*/

Additionally, of course, the sound driver has to understand the format. For the USB audio drivers, Wim implemented a (lengthy) routine to convert sample rate/num channels/bit depth to the closest match of what the USB audio HW supports. Works perfectly.
As far as I can tell UNIAUD typically supports 8000 Hz, 11025 Hz, 22050 Hz, 44100 Hz, 48000 Hz (cannot remember what bit depths are typically supported). The support depends on the actual audio HW as UNIAUD is a generic driver covering all sorts of different audio HW.
« Last Edit: December 02, 2022, 08:47:37 am by Lars »

Remy

  • Hero Member
  • *****
  • Posts: 645
  • Karma: +9/-1
    • View Profile
Re: Rebuilds of MM Audio Pack
« Reply #26 on: December 03, 2022, 01:30:14 am »
Nice to know.

Dariusz Piatkowski

  • Hero Member
  • *****
  • Posts: 1317
  • Karma: +26/-0
    • View Profile
Re: Rebuilds of MM Audio Pack
« Reply #27 on: December 09, 2022, 02:43:11 am »
That is already supported with installing USBAUDIO package. It adds the necessary SPI info so that MMPM can understand this new Samplerate/numchannels/bit depth format....

...even if I'm not using a USB based audio device?

Martin Iturbide

  • OS2World NewsMaster
  • Global Moderator
  • Hero Member
  • *****
  • Posts: 4713
  • Karma: +41/-1
  • Your Friend Wil Declares...
    • View Profile
    • Martin's Personal Blog
Re: Rebuilds of MM Audio Pack
« Reply #28 on: December 09, 2022, 01:00:47 pm »
Hi Dariuz

Lar's told me on some email time ago.

"Even though the name implies something different, USBWAV.DLL has no direct relationship to USBAUDIO.
It is a standalone DLL containing multiple IO Procs and codecs that work on any OS/2 system with MMPM.
The name is a leftover due to historical reasons."

I think it does not depends on USB.

Regards
Martin Iturbide
OS2World NewsMaster
... just share the dream.

Lars

  • Hero Member
  • *****
  • Posts: 1271
  • Karma: +65/-0
    • View Profile
Re: Rebuilds of MM Audio Pack
« Reply #29 on: December 09, 2022, 04:05:20 pm »
That is already supported with installing USBAUDIO package. It adds the necessary SPI info so that MMPM can understand this new Samplerate/numchannels/bit depth format....

...even if I'm not using a USB based audio device?

Yes. The addition of new data subtypes (samplerate/numchannels/bit depth combination) to MMPM (done via SPI.INI) is independent of any specific audio driver but is a necessary precondition to use that combination at all.
But of course, the audio driver also has to support that sample rate/bit depth/numchannels combination.

In short, the update package to SPI.INI contained in USBAUDIO will satisfy the prerequisites so that for example UNIAUD could use those new subtypes.

« Last Edit: December 09, 2022, 04:06:58 pm by Lars »