Skip to content

Implement MMD3/OctaMED Soundstudio support [PERFECTIVE]

Matti Tiainen requested to merge mvtiaine/uade:players/octamedss into master
  • based on OctaMED player by mld
  • mixing routine configured as 8-bit, 24000Hz, bufsize 16384, no smoothing

side notes:

  • mixing routine also has smoothing support, but doesn't seem to work with paula version
  • the current mixing settings work for me(tm) on M2 macbook air even for 16+ channels mods, but increasing frequency any further or enabling 14-bit makes the audio choke and score soon crashes. Increasing buffer size helps only little.
  • it might make sense to use med/octamed players for MMD3 4-8 channel songs, but the example code doesn't seem to detect that, as mixing flag seems to be always enabled (MMD3 as format is identical to MMD2 otherwise).
  • would be nice to provide the uade audio frequency to score/player as well, so the player can set the same (or 1/2) freq
  • would be nice to support dblpal etc. screen modes to allow up to 56KHz frequencies
  • commented out utility.library usage from promixplayer.a and replaced SMult32/UMult32/SDivMod32/UDivMod32 calls with direct 020+ muls.l,mulu.l,divsl.l,divul.l instructions

requires couple of score updates:

This affects also audio output for Musicline, AHX and some Customs for some tunes, though I didn't hear any audible changes. Noticed because of some small changes to audacious-uade songlength db: https://github.com/mvtiaine/audacious-uade/commit/156239c31168e47412e9a8e82ca6d9d772501a1f). Probably some similar effect to player init as with !26.

Updates also MED/OctaMED players:

  • Fix OctaMED crash at song end
  • add makefiles for MED/OctaMED players and fix compile with vasm

Didn't notice any regressions with the updated player binaries and audacious-uade songdb (a few millisecond songlength difference for some tunes).

Fixes #57 #66

Example tunes: https://ftp.modland.com/pub/modules/OctaMED%20MMD3/ 25-channel mmd3: https://ftp.modland.com/pub/modules/OctaMED%20MMD3/Dominator/new%20world%20disorder.mmd3 19-channel mmd3: https://ftp.modland.com/pub/modules/OctaMED%20MMD3/Counterpoint/intricate%20personality.mmd3

Edited by Matti Tiainen

Merge request reports