Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Advanced Sound Library: Difference between revisions

From GameBrew
Created page with "{{Infobox homebrew | title = Advanced Sound Library | image = | type = Audio | version = 1.0 | licence = Mixed | author = Noda | website ..."
 
 
(22 intermediate revisions by one other user not shown)
Line 1: Line 1:
{{Infobox homebrew
{{Infobox DS Homebrews
| title       = Advanced Sound Library
|title=Advanced Sound Library
| image       =  
|image=aslib.png
| type       = Audio
|description=A sound library for the NDS.
| version     = 1.0
|author=Noda
| licence    = Mixed
|lastupdated=2007/12/02
| author      = Noda
|type=Media Players
| website     = http://nodadev.wordpress.com/nds-projects/advanced-sound-library/
|version=1.0
| download    = Media:Advancedsoundlibraryds.rar
|license=Mixed
| source      =
|download=https://dlhb.gamebrew.org/dshomebrew2/advancedsoundlibrary.rar
|website=http://nodadev.wordpress.com/nds-projects/advanced-sound-library
}}
}}
The Advanced Sound Library (ASlib) is a new sound library for the NDS.
The Advanced Sound Library (ASlib) is a new sound library for the NDS.


==Features==
==Features==
*MP3 engine:
*MP3 engine.
:mp3 is decoded on the arm7, so use nearly no CPU time on the arm9
*Audio engine.
:stereo & surround modes available (surround works even for mono mp3s)
:up to 44Khz/stereo/96Kbps, though I recommend using 32Khz/stereo/80Kbps max, which is enough for the DS and works great with up to +25%/-100% pitching
:support real-time pitching (changing the playing speed of the mp3)
:support real-time volume and panning change
:the mp3 can be paused and restarted
:the mp3 can be set to loop automatically
:support playing from RAM and streaming from FAT or EFS
:you can disable the mp3 engine if you want, to get 2 more channels


*Audio engine:
==User guide==
:can use the whole 16 DS channel or only the first half (so you can use an external mod player, for example)
===MP3 engine===
:support standard or surround/fx mode (16 channels in standard mode (-2 if mp3), 8 in surround/fx mode (-1 if mp3))
* MP3 is decoded on the arm7, so use nearly no CPU time on the arm9.
:simple sound playing using a priority system: if no channel is available, stop a sound that has less priority than the new one to play it, or skip it if all sounds have more priority.
* Stereo & surround modes available (surround works even for mono mp3s).
:possibility to reserve a particular channel so it won’t be used in the channel pool by the priority playing system. You can then manage the reserved sound channels manually.
* Up to 44Khz/stereo/96Kbps, though it is recommended to use 32Khz/stereo/80Kbps max, which is enough for the DS and works great with up to +25%/-100% pitching.
:surround or pseudo-reverb can be activated per sound (works great with mono sounds)
* Support real-time pitching (changing the playing speed of the mp3).
:support real-time volume, panning and pitch modifications for each sound
* Support real-time volume and panning change.
:support sound looping
* The MP3 can be paused and restarted.
* The MP3 can be set to loop automatically.
* Support playing from RAM and streaming from FAT or EFS.
* You can disable the mp3 engine if you want, to get 2 more channels.
 
===Audio engine===
* Can use the whole 16 DS channel or only the first half (so you can use an external mod player, for example).
* Support standard or surround/fx mode (16 channels in standard mode (-2 if mp3), 8 in surround/fx mode (-1 if mp3)).
* Simple sound playing using a priority system: if no channel is available, stop a sound that has less priority than the new one to play it, or skip it if all sounds have more priority.
* Possibility to reserve a particular channel so it won’t be used in the channel pool by the priority playing system. You can then manage the reserved sound channels manually.
* Surround or pseudo-reverb can be activated per sound (works great with mono sounds).
* Support real-time volume, panning and pitch modifications for each sound.
* Support sound looping.


==User guide==
The lib comes with a template and a example of what you can do with it.
The lib comes with a template and a example of what you can do with it.


==Known issues==
==Known issues==
This library build using a way old DKP version: devkitPro r21 and libnds 20071023, newer version may not compile it because the IPC system was removed.
This library build using a way old DKP version: devkitPro r21 and libnds 20071023, newer version may not compile it because the IPC system was removed.
There is a port of ASlib to BlocksDS in the PAlib repository, allowing developers to use ASlib with modern tools: https://github.com/AntonioND/palib


==Credits==
==Credits==
Line 47: Line 52:
ASM stereo desinterleave function was made by Thoduv.
ASM stereo desinterleave function was made by Thoduv.


[[Category:Homebrew applications]]
==External links==
* Author's website - http://nodadev.wordpress.com/nds-projects/advanced-sound-library

Latest revision as of 01:44, 16 January 2025

Advanced Sound Library
General
AuthorNoda
TypeMedia Players
Version1.0
LicenseMixed
Last Updated2007/12/02
Links
Download
Website

The Advanced Sound Library (ASlib) is a new sound library for the NDS.

Features

  • MP3 engine.
  • Audio engine.

User guide

MP3 engine

  • MP3 is decoded on the arm7, so use nearly no CPU time on the arm9.
  • Stereo & surround modes available (surround works even for mono mp3s).
  • Up to 44Khz/stereo/96Kbps, though it is recommended to use 32Khz/stereo/80Kbps max, which is enough for the DS and works great with up to +25%/-100% pitching.
  • Support real-time pitching (changing the playing speed of the mp3).
  • Support real-time volume and panning change.
  • The MP3 can be paused and restarted.
  • The MP3 can be set to loop automatically.
  • Support playing from RAM and streaming from FAT or EFS.
  • You can disable the mp3 engine if you want, to get 2 more channels.

Audio engine

  • Can use the whole 16 DS channel or only the first half (so you can use an external mod player, for example).
  • Support standard or surround/fx mode (16 channels in standard mode (-2 if mp3), 8 in surround/fx mode (-1 if mp3)).
  • Simple sound playing using a priority system: if no channel is available, stop a sound that has less priority than the new one to play it, or skip it if all sounds have more priority.
  • Possibility to reserve a particular channel so it won’t be used in the channel pool by the priority playing system. You can then manage the reserved sound channels manually.
  • Surround or pseudo-reverb can be activated per sound (works great with mono sounds).
  • Support real-time volume, panning and pitch modifications for each sound.
  • Support sound looping.

The lib comes with a template and a example of what you can do with it.

Known issues

This library build using a way old DKP version: devkitPro r21 and libnds 20071023, newer version may not compile it because the IPC system was removed.

There is a port of ASlib to BlocksDS in the PAlib repository, allowing developers to use ASlib with modern tools: https://github.com/AntonioND/palib

Credits

IPC sound system and streaming is based on cold_as_ice streaming example.

Audio stream filling / mp3 decoding based on ThomasS mp3 decoding example.

ASM stereo desinterleave function was made by Thoduv.

External links

Advertising: