Advanced Sound Library: Difference between revisions

From GameBrew
No edit summary
No edit summary
 
(14 intermediate revisions by the same 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/dshomebrew/aslib.7z
|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.
*Audio engine
*Audio engine.


==User guide==
==User guide==
'''MP3 engine:'''
===MP3 engine===
:mp3 is decoded on the arm7, so use nearly no CPU time on the arm9
* 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)
* 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
* 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 pitching (changing the playing speed of the mp3).
:support real-time volume and panning change
* Support real-time volume and panning change.
:the mp3 can be paused and restarted
* The MP3 can be paused and restarted.
:the mp3 can be set to loop automatically
* The MP3 can be set to loop automatically.
:support playing from RAM and streaming from FAT or EFS
* Support playing from RAM and streaming from FAT or EFS.
:you can disable the mp3 engine if you want, to get 2 more channels
* 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


===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.
The lib comes with a template and a example of what you can do with it.
Line 51: Line 50:
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
 
[[Category:DS homebrew applications]]
[[Category:Media players on DS]]

Latest revision as of 14:49, 7 November 2021

Advanced Sound Library
Aslib.png
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.

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: