Skip to content

[ENHANCEMENT] Audio Overhaul (More Audio Formats, Streaming, etc.)#6899

Open
Raltyro wants to merge 25 commits intoFunkinCrew:developfrom
Raltyro:audio-rework
Open

[ENHANCEMENT] Audio Overhaul (More Audio Formats, Streaming, etc.)#6899
Raltyro wants to merge 25 commits intoFunkinCrew:developfrom
Raltyro:audio-rework

Conversation

@Raltyro
Copy link
Copy Markdown
Contributor

@Raltyro Raltyro commented Feb 7, 2026

Linked Issues

Description

This pull request requires below of these another pull requests to work:

Others pull request that requires this.

A Whole rework/recode of Audio to work with more audio formats (flac, mp3, opus, made possible with dr_libs, opusfile), and hopefully to fix almost every audio related issues such as restarting, not ending correctly, etc.

List of what it changes:

  • Adds an option that lets users to switch audio device without having to go to their operating system to change the default audio device just for the game (In native only)
  • Implement Audio Streaming for Music and Songs. (In native only)
  • Change every time related variables from Int to Float for more accuracy
  • Seamless Loop for both static and streaming sound assets
  • Support more formats such as flac, mp3, opus, compressed wav (In native only, web depends on what browsers the player is using)
  • Makes FlxSound.amplitude work
  • Better sound caching (in Flixel Pull Request)
  • Real-time Sound Playback Effects (lime.media.AudioEffect, lime.media.effects.*)
  • Implement previewStart, and previewEnd for freeplay preview songs
  • Smooth fading freeplay preview musics when changing/going in/going out of freeplay
  • Conductor.songPositionDelta isn't needed anymore as FlxSound.time is now interpolated to be 1 to 1 with HTML5 (Howler. Use FlxSound.getActualTime() to get the internal time instead of interpolated time)
  • Add randomCapsuleMusic to PlayerFreeplayDJData assets/data/players/ for customizable freeplay random capsule music
  • More internal changes list at A Complete Audio Recode/Overhaul (More Audio Formats, etc.) lime#57, Recode FlxSound and update some of audio related functions/classes to 6.2.0 flixel#11

Screenshots/Videos

seamless-looping.mp4
filters-amplitudes-formats-test.mp4
smooth-fading-freeplay-previews.mp4
audio-options.mp4

(Note: My recorder doesn't capture the other playback devices, only my earphones device)

Todo list:

  • Get more audio formats in chart editor working
  • [High Priority] Make FlxPartialSound, any waveform/ffts related stuffs work with this..
  • Implement Audio Streaming to almost possible scenarios except for Chart Editor where it requires full loaded audio data to parse into.
  • Try to fix previewStart and previewEnd in web target too. (Need [ENHANCEMENT] Add customisable Freeplay song previews. #6725 to fix this)
  • [Low Priority] Normalize every songs to -8 db with metadatas (?) (Not too important, too unrelated for this pull request.)

DONE!!

@Raltyro Raltyro marked this pull request as draft February 7, 2026 18:36
@github-actions github-actions bot added status: pending triage Awaiting review. size: large A large pull request with more than 100 changes. pr: haxe PR modifies game code. labels Feb 7, 2026
@macohi
Copy link
Copy Markdown
Contributor

macohi commented Feb 7, 2026

Please.

@MightyTheArmiddilo
Copy link
Copy Markdown
Contributor

Funkin'.

@github-actions github-actions bot added size: huge A huge pull request with more than 500 changes. and removed size: large A large pull request with more than 100 changes. labels Feb 8, 2026
@Raltyro
Copy link
Copy Markdown
Contributor Author

Raltyro commented Feb 8, 2026

the HUGE

@Raltyro Raltyro changed the title [ENHANCEMENT] A Complete Audio Recode/Overhaul (More Audio Formats, etc.) [ENHANCEMENT] Patches for Audio Rework Pull Requests (More Audio Formats, etc.) Feb 10, 2026
@MAJigsaw77 MAJigsaw77 added status: reviewing internally Under consideration and testing. and removed status: pending triage Awaiting review. labels Feb 10, 2026
@Hundrec Hundrec added the type: enhancement Involves an enhancement or new feature. label Feb 11, 2026
@Raltyro Raltyro force-pushed the audio-rework branch 2 times, most recently from b44d608 to 022c845 Compare February 14, 2026 13:56
@Raltyro
Copy link
Copy Markdown
Contributor Author

Raltyro commented Feb 15, 2026

Maybe i'll wait for this pull #6725 to be merged so i dont have to worry with issues of freeplay preview native not 1 to 1 with web

Raltyro added a commit to Cam-VSRG/lime that referenced this pull request Feb 15, 2026
Look at below for more information about this commit
- FunkinCrew/Funkin#6899
@Raltyro
Copy link
Copy Markdown
Contributor Author

Raltyro commented Feb 16, 2026

i put the wrong link to the pull request whoops

@macohi
Copy link
Copy Markdown
Contributor

macohi commented Feb 16, 2026

I can't wait for a PR to be made that exceeds this one in size

@Raltyro
Copy link
Copy Markdown
Contributor Author

Raltyro commented Feb 16, 2026

Huh, isnt there any other prs that exceeds this pr size?

Raltyro added a commit to Cam-VSRG/lime that referenced this pull request Feb 16, 2026
Look at below for more information about this commit
- FunkinCrew/Funkin#6899
Raltyro added a commit to Cam-VSRG/lime that referenced this pull request Feb 16, 2026
Look at below for more information about this commit
- FunkinCrew/Funkin#6899
Raltyro added a commit to Raltyro/flixel that referenced this pull request Feb 16, 2026
Look at below for more information about this commit
- FunkinCrew/Funkin#6899
- FunkinCrew#11
@AbnormalPoof AbnormalPoof added status: reviewing internally Under consideration and testing. and removed status: reviewing internally Under consideration and testing. labels Mar 22, 2026
MAJigsaw77 and others added 24 commits March 26, 2026 02:58
Co-Authored-By: Cameron Taylor <cameron.taylor.ninja@gmail.com>
This reverts commit 2857fe14122927c2732a858862d7db9b8ff765a4.
* fix: itch.io upload failing

* feat: the runner now rebuilds lime ndlls (and caches that build) on the fly

* chore: update all the actions used to latest

* chore: update build dependencies to latest

* chore: cleanup build outputs
Please look more at:
- FunkinCrew#6899

# Chart Editor all supported sound formats
Can now specify the extension of a music or sound file path. If none is passed, it'll attempt to find a supported audio file format.
Also makes waveform data nullable.

Co-Authored-By: Lasercar <64717068+Lasercar@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pr: haxe PR modifies game code. size: huge A huge pull request with more than 500 changes. status: reviewing internally Under consideration and testing. topic: changes assets Modifies the assets submodule, or has an associated pull request in the funkin.assets repository. type: enhancement Involves an enhancement or new feature.