Author Topic: [Release] libvitaSAS - Easy-to-use SceSas and Audiodec library wrapper  (Read 6941 times)

Offline Graphene

  • Useful Idiot
  • ***
  • Posts: 108
    • View Profile
SAS is a library for performing synthesizer processing with software.
Audiodec is a library for decoding audio data with a Codec Engine.

Main features:

- While SAS, unlike NGS, uses software synthesizing, it has much smaller memory footprint.
- Theoretically unlimited amount of SAS systems can be created.
- Theoretically unlimited amount of voices per system can be created.

libvitaSAS is easy-to-use SceSas and Audiodec library wrapper with system mode applications support.
Loading directly from FIOS2 overlay (for example, loading directly from PSARC archive) is supported. When calling vitaSAS_load_audio_XXX() specify 1 for io_type to use FIOS2 or 0 to use SceIo.

Pitch, panning, envelope processing and digital effects processing can be done.

Native SAS playback:

Only HE-ADPCM (.vag) and PCM (.pcm, .wav) files are supported.

Codec Engine hardware decoding and playback:

Supported input formats (all application modes):

ATRAC9
Supported channels : 1 channel, 2 channels
Supported sampling frequencies : 12000/ 24000/ 48000 Hz
Supported bit rates : 48/ 60/ 70/ 84/ 96/ 120/ 144/ 168/ 192 kbps

AAC
Supported codecs : AAC-LC, HE-AAC v1/v2
Supported channels : 1 channel, 2 channels
Supported sampling frequencies : 8000/ 11025/ 12000/ 16000/ 22050/ 24000/ 32000/ 44100/ 48000 Hz
Supported bit rates : 16 - 576 kbps

Supported input formats (game applications only):

MP3
Supported codecs : MPEG1/ 2/ 2.5 Layer3
Supported channels : 1 channel, 2 channels
Supported sampling
frequencies: 8000/ 11025/ 12000/ 16000/ 22050/ 24000/ 32000/ 44100/ 48000 Hz
Supported bit rates : 8/ 16/ 24/ 32/ 40/ 48/ 56/ 64/ 80/ 96/ 112/ 128/ 144/ 160/ 192/ 224/ 256/ 320 kbps

Download suprx module version of the library: https://github.com/GrapheneCt/libvitaSAS/releases/
Github: https://github.com/GrapheneCt/libvitaSAS
« Last Edit: July 24, 2020, 08:45:03 PM by Graphene »

Offline Graphene

  • Useful Idiot
  • ***
  • Posts: 108
    • View Profile
Re: [Release] libvitaSAS - Easy-to-use SceSas library wrapper
« Reply #1 on: April 07, 2020, 05:26:51 PM »
libvitaSAS has been updated:
- Fixed grain value handling.
- Added noise generator voice type.
- Added ability to set DSP effects.
- Updated sample with DSP demo, added comments.

Offline Graphene

  • Useful Idiot
  • ***
  • Posts: 108
    • View Profile
Re: [Release] libvitaSAS - Easy-to-use SceSas library wrapper
« Reply #2 on: April 10, 2020, 11:49:10 PM »
libvitaSAS has been updated:
-Added hardware ATRAC9 decoding using Codec Engine
-Added hardware AAC decoding using Codec Engine

All playback related functions are non-blocking type except void vitaSAS_decode_to_buffer(). Both decoder playback and native SAS playback can be used at the same time.

« Last Edit: July 24, 2020, 05:44:34 PM by Graphene »

Offline Graphene

  • Useful Idiot
  • ***
  • Posts: 108
    • View Profile
libvitaSAS has been updated:
-Added partial hardware MP3 decoding support using Codec Engine
-Added fast PCM channel separation function using Arm Neon
-Added ability to use main memory for decoding
« Last Edit: April 12, 2020, 02:05:36 AM by Graphene »

Offline Graphene

  • Useful Idiot
  • ***
  • Posts: 108
    • View Profile
libvitaSAS has been updated:
- Loading .vag and .pcm files using FIOS2 overlay is now supported (for example, loading directly from PSARC archive). When calling vitaSAS_load_audio_XXX() specify 1 for io_type to use FIOS2 or 0 to use SceIo.

Offline Graphene

  • Useful Idiot
  • ***
  • Posts: 108
    • View Profile
libvitaSAS has been updated:

All of the SAS functions have been revamped. New key features are:

1. wav files can now be used as sample data for SAS voices.
2. Theoretically unlimited amount of SAS systems can be created.
3. Theoretically unlimited amount of voices per system can be created.
4. Systems can now be configured
5. Use SceDbg logging.
6. A lot more...

For more information refer to library header file.

Sample has been updated.
You can also refer to MARISA-HighLow-PSV (https://github.com/GrapheneCt/MARISA-HighLow-PSV/blob/master/src/sound.c) as usage example.