English Amiga Board


Go Back   English Amiga Board > Coders > Coders. Asm / Hardware

 
 
Thread Tools
Old 28 February 2024, 23:07   #1
roondar
Registered User
 
Join Date: Jul 2015
Location: The Netherlands
Posts: 3,411
Smile Audio Mixer 3.6 released (including C integration)

After a longer time working on it than I thought, I've finally released an updated version of my Audio Mixer, now up to version 3.6.

Features:
  • Up to four samples can be mixed onto a single hardware channel.
  • High performance: mixing four samples onto a single channel at 11KHz takes only 3.7% CPU time on a 7MHz 68000 without Fast RAM.
  • (new) Optional High Quality mode that uses much more CPU time, but plays full 8-bit samples instead of pre-processed ones.
  • Can be run while a music playback routine is running, as long as the music routine does not access the hardware channel(s) used by the Audio Mixer.
  • Up to four hardware channels can be assigned to the Audio Mixer, allowing up to 16 samples being played back at the same time.
  • Sample playback is priority based, so that drowning out of important effects can be prevented.
  • Samples can be stored anywhere in RAM, including in Fast RAM and Slow RAM.
  • Samples can be set to loop and both looping/non-looping samples can be stopped on request. (new) Looping samples can either restart from the start of the sample, or from an offset in the sample.
  • Samples can be assigned to one of the virtual channels the mixer uses (up to 4 per hardware channel), allowing fine-grained control of SFX playback.
  • Supports playback of samples of any size that will fit in RAM*.
  • (new) Supports the use of a callback routine whenever sample playback ends, to allow custom code to be executed on sample end. The callback routine can immediately play back another sample if desired, which allows for seamless sample-to-sample playback using this method.
  • (new) Supports the use of optional plugins via a plugin system. These plugins can either be used as control/communication mechanism to other code, or to alter sample data in real time. There are several plugins included and custom plugins are also supported. Included plugins are: MixPluginRepeat() - plays the sample sample again after a given delay; MixPluginSync() - allows various ways to synchronise sample playback with the code that calls the mixer; MixPluginVolume() - allows changing of the playback volume of the sample being played; MixPluginPitch() - allows changing of the pitch of the sample being played.
  • Sample rate used can be configured at assembly time, using standard Paula period values.
  • Fully PC relative code is used to make relocation as easy as possible.
*) in practice, this is limited by the largest maximum single block of free RAM that exists. A system with multiple memory expansions will be limited to a much smaller maximum sample size than the total RAM size would seem to indicate.

The documentation has been reworked with the new features, new examples have been added and quite a lot of the code has been overhauled, bugs have been squashed and several new support routines have been added, including one to see the status of the internal mixer channels.

There's also a more complete list of changes found in the documentation.
Full source is included, as usual.

If interested, you can find the new version here: https://www.powerprograms.nl/projects/audio_mixer.html

Last edited by roondar; 29 February 2024 at 00:29. Reason: Fixed URL
roondar is online now  
Old 29 February 2024, 00:19   #2
mc6809e
Registered User
 
Join Date: Jan 2012
Location: USA
Posts: 372
Link is borked.
mc6809e is offline  
Old 29 February 2024, 00:29   #3
roondar
Registered User
 
Join Date: Jul 2015
Location: The Netherlands
Posts: 3,411
Thanks, I fixed it
roondar is online now  
Old 29 February 2024, 00:37   #4
robinsonb5
Registered User
 
Join Date: Mar 2012
Location: Norfolk, UK
Posts: 1,153
Excellent - I'm looking forward to giving this a spin!
robinsonb5 is offline  
Old 29 February 2024, 01:22   #5
skyzoo73
Registered User
 
skyzoo73's Avatar
 
Join Date: Sep 2019
Location: Italy
Age: 50
Posts: 292
Fantastic !
I was wondering if in the future it will be possible to use this mixer to have mods with 4 (or more channels) in which 1 or more of them are played by one or more of the mixed channels ? it would be great to be able to have songs with 4 or more channels and at the same time have other channels available for sound effects.
skyzoo73 is offline  
Old 29 February 2024, 09:34   #6
roondar
Registered User
 
Join Date: Jul 2015
Location: The Netherlands
Posts: 3,411
Quote:
Originally Posted by skyzoo73 View Post
Fantastic !
I was wondering if in the future it will be possible to use this mixer to have mods with 4 (or more channels) in which 1 or more of them are played by one or more of the mixed channels ? it would be great to be able to have songs with 4 or more channels and at the same time have other channels available for sound effects.
Well, the mixer as is has not been designed to play back music, though with it's new plugin abilities it's getting closer to being able to do at least part of what a module player does.

I'm honestly not sure if I'll ever make a module player myself, so if I go the route of offering module playback via the mixer, I'll likely look at existing module players and adapt them somehow. I've not decided to do this, though.

However, no9 has been working on making a proof of concept for a module player specifically aimed at using the mixer to add extra channels to mod playback. He's made two YouTube videos showcasing this using the previous version of the mixer:

[ Show youtube player ]
[ Show youtube player ]

Last edited by roondar; 29 February 2024 at 09:55.
roondar is online now  
Old 03 March 2024, 20:42   #7
REAKTOR BEAR
Registered User
 
Join Date: Mar 2021
Location: SWEDEN
Posts: 40
Great stuff
REAKTOR BEAR is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
Audio Mixer v3.1 released (including C integration) roondar Coders. Asm / Hardware 35 16 July 2023 21:03
NoWinED (2012) including Sources released on Aminet AMIGASYSTEM News 4 13 September 2020 12:23
Looking for working audio mixer in AmigaOS 3.1.4 + Mediator spudje support.Apps 8 02 February 2020 12:53
Audio Evolution 4 released Paul News 0 21 November 2004 12:07
Picasso IV 4 Audio Channel Mixer setup Tony Landais support.Hardware 0 25 December 2003 15:45

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 14:11.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.07808 seconds with 15 queries