forum

KeyASIO - External ASIO backend for low-latency audio (2022/07/27)

posted
Total Posts
40
Topic Starter
yf_bmp
External ASIO/WASAPI_EXCLUSIVE backend for low-latency and safe osu! audio playback experience.

std - ✅
mania - ✅
taiko - 🆗 (Just without realtime mode)
ctb - 🆗 (Just play hitsounds)

While osu's original audio system has a latency for about 40 ms, this program can provide extremely low latency to as low as 0.6ms (Verified by EmertxE, determine by your devices, from tapping to hearing), and for most players the latency can be lower than about 8-15ms (with no standalone soundcard, from tapping to hearing).

Download

Release Page: https://github.com/Milkitic/KeyASIO.Net/releases

.NET 6.0 Desktop Runtime is required if you download the smallest asset.
For the other two (with -win86 or -win64 postfix), you need to install nothing more.

Introduction

We have been waiting for the very near future for several years, but it looks like that the dev team has been stopped supporting such heavy development for legacy osu. So there are many nice external community audio tools before like REAL, osu-External-ASIO-Sound, AsioHookForOsu, etc. But:
  1. Even with REAL, the osu's playback latency is still about 25ms. Anyway this is the easiest way to gain such improvement.
  2. Tools like osu-External-ASIO-Sound or AsioHookForOsu gives ASIO support, but they have some inevitable problems: 1. Inject and hook which is unsafe for your account. 2. Not perfect for custom hitsound support. 3. They need double soundcards
This project born to resolve these problems. As default, this program enables "RealtimeMode" in the configuration, which will use OsuRTDataProvider to read osu's memory without modifying. The OsuRTDataProvider is commonly used for broadcasting tools (like RTPP Displayer), and it looks safe because it was approved by peppy. But nothing will be guaranteed, so I should still say please do at your own risk.

Benefits of KeyASIO.Net:
  1. Support extremely low-latency playback around 0.6ms (determine by your devices, from tapping to hearing).
  2. Fully support for playing beatmap's custom hitsound including storyboard samples, and hitsound customization like: User skin, Ignore custom hitsound, Ignore samples, Ignore volumes, Ignore slidertails, etc.
  3. Optimize mania as per-key sound, just like behaviors in the game.
  4. Safe for your account, but no guarantee.
  5. A easy-to-use user interface.

Screenshots


Overview

Realtime options

Configuration

The KeyASIO.Net supports "FullMode" ("EnableMusicFunctions" in configuration), which can also synchronize the music, that will completely replace osu's sounds. This will make you much easier to start, but it has irresolvable problems. For players who has only one soundcard, you can try the fullmode. Otherwise, I only suggest with this option off.

Without standalone soundcard:

FullMode ENABLED:
Prerequisites:
* Install ASIO4ALL(https://www.asio4all.org) / Just use WASAPI_EXCLUSIVE
* Install VB-CABLE(https://vb-audio.com/Cable)
  1. Change the device in the software GUI, select ASIO4ALL or your default WASAPI device with exclusive, and confirm.
  2. If the ASIO4ALL is selected, open ASIO control panel and select your output device with others deselected. Press Advanced Options and adjust the options to lower the latency (Check latency at the software GUI)
  3. Check your osu game to test whether the game has lags or problems to play. If yes, select the game's output to VB-CABLE Input
  4. Change your own key bindings in the software GUI.
  5. Enjoy
FullMode DISABLED:
Prerequisites:
* Make sure you have at least 2 audio output devices (including HDMI Audio). An HDMI decoder with audio port is required if your monitor doesn't have audio port.
* A standalone mixer. Low-end device is just ok, since they are always very cheap. DO NOT USE WINDOWS MIXER SOFTWARES, since they will only increase the latency.
* Install ASIO4ALL / Just use WASAPI_EXCLUSIVE
  1. Use HDMI output to display monitor or HDMI decoder, and line-out to the mixer. Line-out your motherboard soundcard to the mixer. Plug your headphone into the mixer.
  2. Change the device in the software GUI, select ASIO4ALL and confirm.
  3. Open the ASIO4ALL control panel, and select something like HDMI Out with others deselected. Press Advanced Options and adjust the options to lower the latency (Check latency at the software GUI)
  4. Select your motherboard device in osu game. Please do not select the same device as ASIO4ALL. It doesn't work.
  5. Change your own key bindings in the software GUI.
  6. Set the effect volume to 0 in osu!.
  7. Open offset wizard, play with Auto mod and adjust the software's offset and osu!'s offset.
  8. Enjoy
With standalone soundcard:

FullMode ENABLED:
Same as "Without standalone soundcard"

FullMode DISABLED: (Suggested)
Prerequisites:
* Check if your soundcard has original ASIO driver. If no, install ASIO4ALL / just use WASAPI_EXCLUSIVE
* If your soundcard driver doesn't support ASIO concurrency, a standalone mixer is needed. Low-end device is just ok, since they are always very cheap. DO NOT USE WINDOWS MIXER SOFTWARES, since they will only increase the latency.
  1. Change the device in the software GUI, and select your ASIO Device.
  2. Change options in your ASIO control panel to lower the latency (Check latency at the software GUI).
  3. If you use mixer, line-out your motherboard soundcard and soundcard to the mixer. Plug your headphone into the mixer.
  4. Select the fit device in osu game. Select motherboard if you use mixer, select your soundcard otherwise.
  5. Change your own key bindings in the software GUI.
  6. Set the effect volume to 0 in osu!.
  7. Open offset wizard, play with Auto mod and adjust the software's offset and osu!'s offset.
  8. Enjoy
Full configuration instructions can be found in "appsettings.yaml".

FAQs

How to report bugs?
If you're sure it's a bug and have steps to reproduce, please open Github issue. For any other problems please reply in the forum page or Github's discussion page.

Todos/Known issues

  1. Sometimes the hit is muted. (headache thing)
  2. The music sync time is different from osu.

Thanks to the dev team for giving such an great game.
Muziyami
bump
RD-Sounds
wow
_Hikari
wcnb!
Shiki-Natsume
yfnb
B1ackSand
I will try this
pocket-Gao
YFNB
26Lin_Lucky
awesome
-Inui Sana-
COOOL
oO Ryujin Oo
Very niceee !!!! Thank youuuuu <3 <3 <3
Kert
Hi. I would like to try this, but no matter what I do I have no sound at all.
The instructions are a bit difficult to understand.
I tried "without standalone soundcard FullMode ENABLED" by selecting asio4all in keyasio, selecting only speakers in asio4all, in osu! neither speakers nor vbcable input give any audio.
What should I do?
I also have an option using DisplayPort audio output from monitor if that's important
Topic Starter
yf_bmp

Kert wrote:

Hi. I would like to try this, but no matter what I do I have no sound at all.
The instructions are a bit difficult to understand.
I tried "without standalone soundcard FullMode ENABLED" by selecting asio4all in keyasio, selecting only speakers in asio4all, in osu! neither speakers nor vbcable input give any audio.
What should I do?
I also have an option using DisplayPort audio output from monitor if that's important
Hi! "FullMode" enabled means that we give up osu's audio system, so the expected behavior is KeyASIO will play both music and hitsounds instead of osu itself.
But if the program was failed to read osu's memory, nothing will work. To check whether the program is successful to read osu!'s memory, you could:
1. Open the keyasio program.
2. Choose a map and exit back to SelectSong scene
3. Check if the "PlayTime" is changing
If "PlayTime" is changing, now in SelectSong scene, you should hear the music produced by KeyAsio program😀. If there is no music, please check if the FullMode option is on, or check the ASIO setting is correctly configured. In particular, some integrated soundcards can't work well with ASIO4ALL, so try WASAPI_Exclusive or HDMI out.
If "PlayTime" is not changing, try to reboot the system and reopen osu before any other programs. If it still doesn't work, some magic things that we don't know happened😂.
Vivace
Thanks yf, swapping back to Windows from Linux the release of this is perfect timing.
Playing around with it, it works well and the UI is really clean.

Couple things:
  1. Missing a note and still tapping the assigned hotkeys will continue to play the corresponding hitsound -- this is especially noticeable when chainmissing long streams
  2. If a map doesn't have a note hitsounded(?), the program resorts back to default hitsounds at a much louder volume than assigned(?). I'm not actually too sure on this point, but noticeable on a map like this: beatmapsets/766939#osu/1612129 Nvm, just realised you can ignore beatmap hitsounds
Thanks again for your work on this, looking forward to where it goes.
Kert
Thanks for the response!

yf_bmp wrote:

If "PlayTime" is changing, now in SelectSong scene, you should hear the music produced by KeyAsio program😀.
I don't hear the music but PlayTime is indeed changing

yf_bmp wrote:

If there is no music, please check if the FullMode option is on
How? What do you mean?

yf_bmp wrote:

try WASAPI_Exclusive
What should I do? Select speakers in KeyAsio and check WASAPI_Exclusive?
Still no sound at all
Topic Starter
yf_bmp

Kert wrote:

yf_bmp wrote:

If there is no music, please check if the FullMode option is on
How? What do you mean?
in "appsettings.yaml", make sure
# [EXPERIMENTAL] If true, the software will enable music related functions.
EnableMusicFunctions: true
Kert

yf_bmp wrote:

in "appsettings.yaml", make sure
# [EXPERIMENTAL] If true, the software will enable music related functions.
EnableMusicFunctions: true
Still no audio at all

log
16:11:17.951 INFO Application: Application started.
16:11:18.030 DEBUG ConfigurationFactory: Config file "appsettings.yaml" was loaded.
16:11:18.188 DEBUG SkinManager: Find skin: SkinDescription { FolderName = Kertwaii, Folder = D:\Games\osu!\Skins\Kertwaii, Name = Kertwaii, Author = Kert, Description = Kertwaii (Kertwaii by Kert) }
16:11:22.961 DEBUG Updater: Current version: 3.0.0-beta.12; Got version info: 3.0.0-beta.12
16:11:36.231 INFO ORTDP: ForceOsuSongsDirectory: 
16:11:36.231 INFO ORTDP: The ForceOsuSongsDirectory does not exist, try searching for the songs path.
16:11:36.231 INFO ORTDP: OSU Client Verison:b20220424 ORTDP Version:2.7.0
16:11:36.231 INFO ORTDP: Osu Path: D:\Games\osu!
16:11:36.231 INFO ORTDP: Beatmap Path: D:\Games\osu!\Songs
16:11:36.231 INFO ORTDP: [ID:0]Found osu!.exe process
16:11:36.231 ERROR ORTDP: (X64)Error Code:0x00000057
16:11:36.231 ERROR ORTDP: Error Code:0x00000000
16:11:36.248 DEBUG ORTDP: Game Status Address (0):0x00000000
16:11:36.248 DEBUG ORTDP: Game Status Address (1):0x00000000
16:11:36.248 ERROR ORTDP: [ID:0]Init StatusFinder Failed! Retry after 3 seconds
16:11:39.258 ERROR ORTDP: (X64)Error Code:0x00000057
16:11:39.258 ERROR ORTDP: Error Code:0x00000000
16:11:39.258 DEBUG ORTDP: Game Status Address (0):0x058595AD
16:11:39.258 DEBUG ORTDP: Game Status Address (1):0x005567F8
16:11:39.258 INFO ORTDP: [ID:0]Init StatusFinder Success!
16:11:39.258 INFO ORTDP: applied offset for osu!version(20220424) : NewerOrEquals 20220406,3 BeatmapAddress: 0 BeatmapFolder: 0 BeatmapSet: 0 BeatmapFileName: 8
16:11:39.274 ERROR ORTDP: (X64)Error Code:0x00000057
16:11:39.274 ERROR ORTDP: Error Code:0x00000000
16:11:39.274 DEBUG ORTDP: Beatmap Base Address (0):0x0585ECD0
16:11:39.274 DEBUG ORTDP: Beatmap Base Address (1):0x03994FA0
16:11:39.274 INFO ORTDP: [ID:0]Init BeatmapFinder Success!
16:11:46.404 ERROR ORTDP: (X64)Error Code:0x00000057
16:11:46.404 ERROR ORTDP: Error Code:0x00000000
16:11:46.419 DEBUG ORTDP: Playing Accuracy Base Address (0):0x00000000
16:11:46.419 DEBUG ORTDP: Playing Accuracy Base Address (1):0x00000000
16:11:46.419 DEBUG ORTDP: Use Fallback Accuracy Pattern
16:11:46.419 DEBUG ORTDP: Playing Accuracy Base Address (0):0x07AF236A
16:11:46.419 DEBUG ORTDP: Playing Accuracy Base Address (1):0x03995054
16:11:46.419 DEBUG ORTDP: Time Base Address (0):0x0585EFD7
16:11:46.419 DEBUG ORTDP: Time Base Address (1):0x00556A20
16:11:46.419 INFO ORTDP: [ID:0]Init PlayFinder Success!
16:11:46.419 ERROR ORTDP: (X64)Error Code:0x00000057
16:11:46.419 ERROR ORTDP: Error Code:0x00000000
16:11:46.434 DEBUG ORTDP: Mode Address (0):0x0742C330
16:11:46.434 DEBUG ORTDP: Mode Address (1):0x005568F8
16:11:46.434 INFO ORTDP: [ID:0]Init ModeFinder Success!
16:11:46.434 ERROR ORTDP: (X64)Error Code:0x00000057
16:11:46.434 ERROR ORTDP: Error Code:0x00000000
16:11:46.466 DEBUG ORTDP: Hit Event (Replay) Base Address: 0x039937E8 by pattern #3
16:11:46.466 ERROR ORTDP: (X64)Error Code:0x00000057
16:11:46.466 ERROR ORTDP: Error Code:0x00000000
16:11:46.466 DEBUG ORTDP: Hit Event (Playing) Base Address: 0x03994904 by pattern #0
16:11:46.466 INFO ORTDP: [ID:0]Init HitEventFinder Success!
16:11:46.486 WARN ORTDP: ------------- ORTDP(Exception)--------------- 
System.MissingMethodException: Can not convert {0.4} to type System.Single.
   at Coosu.Beatmap.Configurable.KeyValueSection.Match(String line)
   at Coosu.Beatmap.Configurable.ConfigConvert.DeserializeObject[T](TextReader reader, ReadOptions options)
   at Coosu.Beatmap.OsuFile.ReadFromStream(Stream stream, Action`1 configReadOption)
   at Coosu.Beatmap.OsuFile.ReadFromFile(String path, Action`1 configReadOption)
   at OsuRTDataProvider.BeatmapInfo.Beatmap..ctor(Int32 osu_id, Int32 set_id, Int32 id, String filename) in D:\a\KeyASIO.Net\KeyASIO.Net\dependencies\OsuRTDataProviderCore\BeatmapInfo\Beatmap.cs:line 111
   at OsuRTDataProvider.Memory.OsuBeatmapFinder.GetCurrentBeatmap(Int32 osu_id) in D:\a\KeyASIO.Net\KeyASIO.Net\dependencies\OsuRTDataProviderCore\Memory\OsuBeatmapFinder.cs:line 87

16:11:46.486 WARN RealtimeModeManager: Failed to start: the beatmap is null
16:11:51.325 DEBUG STA Window: [DEBUGGING] OemQuestion KeyDown
16:11:51.325 DEBUG StandardAudioProvider: [DEBUGGING] [GetSoundOnClick] executing
16:11:51.325 WARN StandardAudioProvider: [DEBUGGING] Game hasn't started, return empty.
16:11:51.325 DEBUG StandardAudioProvider: [DEBUGGING] [GetSoundOnClick] executed in 0,239ms
16:11:51.529 DEBUG STA Window: [DEBUGGING] OemQuestion KeyDown
16:11:51.529 DEBUG StandardAudioProvider: [DEBUGGING] [GetSoundOnClick] executing
16:11:51.529 WARN StandardAudioProvider: [DEBUGGING] Game hasn't started, return empty.
16:11:51.529 DEBUG StandardAudioProvider: [DEBUGGING] [GetSoundOnClick] executed in 0,035ms
16:11:51.719 DEBUG STA Window: [DEBUGGING] OemQuestion KeyDown
16:11:51.719 DEBUG StandardAudioProvider: [DEBUGGING] [GetSoundOnClick] executing
16:11:51.719 WARN StandardAudioProvider: [DEBUGGING] Game hasn't started, return empty.
16:11:51.719 DEBUG StandardAudioProvider: [DEBUGGING] [GetSoundOnClick] executed in 0,031ms
16:11:51.897 DEBUG STA Window: [DEBUGGING] OemQuestion KeyDown
16:11:51.897 DEBUG StandardAudioProvider: [DEBUGGING] [GetSoundOnClick] executing
16:11:51.897 WARN StandardAudioProvider: [DEBUGGING] Game hasn't started, return empty.
16:11:51.897 DEBUG StandardAudioProvider: [DEBUGGING] [GetSoundOnClick] executed in 0,032ms
16:11:52.096 DEBUG STA Window: [DEBUGGING] OemQuestion KeyDown
16:11:52.097 DEBUG StandardAudioProvider: [DEBUGGING] [GetSoundOnClick] executing
16:11:52.097 WARN StandardAudioProvider: [DEBUGGING] Game hasn't started, return empty.
16:11:52.097 DEBUG StandardAudioProvider: [DEBUGGING] [GetSoundOnClick] executed in 0,032ms
16:13:04.344 INFO Application: Application stopped.
log2
2022-07-26 16:11:17.8916 Info Message Template Auto Format enabled
2022-07-26 16:11:17.9086 Info Adding target FileTarget(Name=allfile)
2022-07-26 16:11:17.9186 Info Adding target ColoredConsoleTarget(Name=logconsole)
2022-07-26 16:11:17.9186 Warn Error has been raised. Exception: NLog.NLogConfigurationException: Failed to create Target of type: RichTextBoxTarget
 ---> System.ArgumentException: Target type-alias is unknown: 'RichTextBoxTarget'
   at NLog.Config.Factory`2.CreateInstance(String itemName)
   at NLog.Config.LoggingConfigurationParser.FactoryCreateInstance[T](String classType, INamedItemFactory`2 factory)
   --- End of inner exception stack trace ---
2022-07-26 16:11:17.9366 Warn Error has been raised. Exception: NLog.NLogConfigurationException: Target 'RichTextBoxTarget' not found for logging rule: *.
2022-07-26 16:11:17.9366 Info Validating config: TargetNames=logconsole, allfile, ConfigItems=61, FilePath=E:\Downloads\KeyAsio.Net-v3.0.0-beta.12-win64\bin\NLog.config
2022-07-26 16:11:17.9517 Info Configuration initialized.
2022-07-26 16:11:17.9517 Info NLog, Version=5.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c. File version: 5.0.1.1159. Product version: 5.0.1+a3718b8417284a90b0f73b2cbba47bc4067f6a3a. GlobalAssemblyCache: False
2022-07-26 16:13:04.5757 Info AppDomain Shutting down. LogFactory closing...
2022-07-26 16:13:04.5757 Info LogFactory has been closed.

UPD: Added log files
NxGD
wew
Topic Starter
yf_bmp

Kert wrote:

yf_bmp wrote:

in "appsettings.yaml", make sure
# [EXPERIMENTAL] If true, the software will enable music related functions.
EnableMusicFunctions: true
Still no audio at all

log
16:11:17.951 INFO Application: Application started.
16:11:18.030 DEBUG ConfigurationFactory: Config file "appsettings.yaml" was loaded.
16:11:18.188 DEBUG SkinManager: Find skin: SkinDescription { FolderName = Kertwaii, Folder = D:\Games\osu!\Skins\Kertwaii, Name = Kertwaii, Author = Kert, Description = Kertwaii (Kertwaii by Kert) }
16:11:22.961 DEBUG Updater: Current version: 3.0.0-beta.12; Got version info: 3.0.0-beta.12
16:11:36.231 INFO ORTDP: ForceOsuSongsDirectory: 
16:11:36.231 INFO ORTDP: The ForceOsuSongsDirectory does not exist, try searching for the songs path.
16:11:36.231 INFO ORTDP: OSU Client Verison:b20220424 ORTDP Version:2.7.0
16:11:36.231 INFO ORTDP: Osu Path: D:\Games\osu!
16:11:36.231 INFO ORTDP: Beatmap Path: D:\Games\osu!\Songs
16:11:36.231 INFO ORTDP: [ID:0]Found osu!.exe process
16:11:36.231 ERROR ORTDP: (X64)Error Code:0x00000057
16:11:36.231 ERROR ORTDP: Error Code:0x00000000
16:11:36.248 DEBUG ORTDP: Game Status Address (0):0x00000000
16:11:36.248 DEBUG ORTDP: Game Status Address (1):0x00000000
16:11:36.248 ERROR ORTDP: [ID:0]Init StatusFinder Failed! Retry after 3 seconds
16:11:39.258 ERROR ORTDP: (X64)Error Code:0x00000057
16:11:39.258 ERROR ORTDP: Error Code:0x00000000
16:11:39.258 DEBUG ORTDP: Game Status Address (0):0x058595AD
16:11:39.258 DEBUG ORTDP: Game Status Address (1):0x005567F8
16:11:39.258 INFO ORTDP: [ID:0]Init StatusFinder Success!
16:11:39.258 INFO ORTDP: applied offset for osu!version(20220424) : NewerOrEquals 20220406,3 BeatmapAddress: 0 BeatmapFolder: 0 BeatmapSet: 0 BeatmapFileName: 8
16:11:39.274 ERROR ORTDP: (X64)Error Code:0x00000057
16:11:39.274 ERROR ORTDP: Error Code:0x00000000
16:11:39.274 DEBUG ORTDP: Beatmap Base Address (0):0x0585ECD0
16:11:39.274 DEBUG ORTDP: Beatmap Base Address (1):0x03994FA0
16:11:39.274 INFO ORTDP: [ID:0]Init BeatmapFinder Success!
16:11:46.404 ERROR ORTDP: (X64)Error Code:0x00000057
16:11:46.404 ERROR ORTDP: Error Code:0x00000000
16:11:46.419 DEBUG ORTDP: Playing Accuracy Base Address (0):0x00000000
16:11:46.419 DEBUG ORTDP: Playing Accuracy Base Address (1):0x00000000
16:11:46.419 DEBUG ORTDP: Use Fallback Accuracy Pattern
16:11:46.419 DEBUG ORTDP: Playing Accuracy Base Address (0):0x07AF236A
16:11:46.419 DEBUG ORTDP: Playing Accuracy Base Address (1):0x03995054
16:11:46.419 DEBUG ORTDP: Time Base Address (0):0x0585EFD7
16:11:46.419 DEBUG ORTDP: Time Base Address (1):0x00556A20
16:11:46.419 INFO ORTDP: [ID:0]Init PlayFinder Success!
16:11:46.419 ERROR ORTDP: (X64)Error Code:0x00000057
16:11:46.419 ERROR ORTDP: Error Code:0x00000000
16:11:46.434 DEBUG ORTDP: Mode Address (0):0x0742C330
16:11:46.434 DEBUG ORTDP: Mode Address (1):0x005568F8
16:11:46.434 INFO ORTDP: [ID:0]Init ModeFinder Success!
16:11:46.434 ERROR ORTDP: (X64)Error Code:0x00000057
16:11:46.434 ERROR ORTDP: Error Code:0x00000000
16:11:46.466 DEBUG ORTDP: Hit Event (Replay) Base Address: 0x039937E8 by pattern #3
16:11:46.466 ERROR ORTDP: (X64)Error Code:0x00000057
16:11:46.466 ERROR ORTDP: Error Code:0x00000000
16:11:46.466 DEBUG ORTDP: Hit Event (Playing) Base Address: 0x03994904 by pattern #0
16:11:46.466 INFO ORTDP: [ID:0]Init HitEventFinder Success!
16:11:46.486 WARN ORTDP: ------------- ORTDP(Exception)--------------- 
System.MissingMethodException: Can not convert {0.4} to type System.Single.
   at Coosu.Beatmap.Configurable.KeyValueSection.Match(String line)
   at Coosu.Beatmap.Configurable.ConfigConvert.DeserializeObject[T](TextReader reader, ReadOptions options)
   at Coosu.Beatmap.OsuFile.ReadFromStream(Stream stream, Action`1 configReadOption)
   at Coosu.Beatmap.OsuFile.ReadFromFile(String path, Action`1 configReadOption)
   at OsuRTDataProvider.BeatmapInfo.Beatmap..ctor(Int32 osu_id, Int32 set_id, Int32 id, String filename) in D:\a\KeyASIO.Net\KeyASIO.Net\dependencies\OsuRTDataProviderCore\BeatmapInfo\Beatmap.cs:line 111
   at OsuRTDataProvider.Memory.OsuBeatmapFinder.GetCurrentBeatmap(Int32 osu_id) in D:\a\KeyASIO.Net\KeyASIO.Net\dependencies\OsuRTDataProviderCore\Memory\OsuBeatmapFinder.cs:line 87

16:11:46.486 WARN RealtimeModeManager: Failed to start: the beatmap is null
16:11:51.325 DEBUG STA Window: [DEBUGGING] OemQuestion KeyDown
16:11:51.325 DEBUG StandardAudioProvider: [DEBUGGING] [GetSoundOnClick] executing
16:11:51.325 WARN StandardAudioProvider: [DEBUGGING] Game hasn't started, return empty.
16:11:51.325 DEBUG StandardAudioProvider: [DEBUGGING] [GetSoundOnClick] executed in 0,239ms
16:11:51.529 DEBUG STA Window: [DEBUGGING] OemQuestion KeyDown
16:11:51.529 DEBUG StandardAudioProvider: [DEBUGGING] [GetSoundOnClick] executing
16:11:51.529 WARN StandardAudioProvider: [DEBUGGING] Game hasn't started, return empty.
16:11:51.529 DEBUG StandardAudioProvider: [DEBUGGING] [GetSoundOnClick] executed in 0,035ms
16:11:51.719 DEBUG STA Window: [DEBUGGING] OemQuestion KeyDown
16:11:51.719 DEBUG StandardAudioProvider: [DEBUGGING] [GetSoundOnClick] executing
16:11:51.719 WARN StandardAudioProvider: [DEBUGGING] Game hasn't started, return empty.
16:11:51.719 DEBUG StandardAudioProvider: [DEBUGGING] [GetSoundOnClick] executed in 0,031ms
16:11:51.897 DEBUG STA Window: [DEBUGGING] OemQuestion KeyDown
16:11:51.897 DEBUG StandardAudioProvider: [DEBUGGING] [GetSoundOnClick] executing
16:11:51.897 WARN StandardAudioProvider: [DEBUGGING] Game hasn't started, return empty.
16:11:51.897 DEBUG StandardAudioProvider: [DEBUGGING] [GetSoundOnClick] executed in 0,032ms
16:11:52.096 DEBUG STA Window: [DEBUGGING] OemQuestion KeyDown
16:11:52.097 DEBUG StandardAudioProvider: [DEBUGGING] [GetSoundOnClick] executing
16:11:52.097 WARN StandardAudioProvider: [DEBUGGING] Game hasn't started, return empty.
16:11:52.097 DEBUG StandardAudioProvider: [DEBUGGING] [GetSoundOnClick] executed in 0,032ms
16:13:04.344 INFO Application: Application stopped.
log2
2022-07-26 16:11:17.8916 Info Message Template Auto Format enabled
2022-07-26 16:11:17.9086 Info Adding target FileTarget(Name=allfile)
2022-07-26 16:11:17.9186 Info Adding target ColoredConsoleTarget(Name=logconsole)
2022-07-26 16:11:17.9186 Warn Error has been raised. Exception: NLog.NLogConfigurationException: Failed to create Target of type: RichTextBoxTarget
 ---> System.ArgumentException: Target type-alias is unknown: 'RichTextBoxTarget'
   at NLog.Config.Factory`2.CreateInstance(String itemName)
   at NLog.Config.LoggingConfigurationParser.FactoryCreateInstance[T](String classType, INamedItemFactory`2 factory)
   --- End of inner exception stack trace ---
2022-07-26 16:11:17.9366 Warn Error has been raised. Exception: NLog.NLogConfigurationException: Target 'RichTextBoxTarget' not found for logging rule: *.
2022-07-26 16:11:17.9366 Info Validating config: TargetNames=logconsole, allfile, ConfigItems=61, FilePath=E:\Downloads\KeyAsio.Net-v3.0.0-beta.12-win64\bin\NLog.config
2022-07-26 16:11:17.9517 Info Configuration initialized.
2022-07-26 16:11:17.9517 Info NLog, Version=5.0.0.0, Culture=neutral, PublicKeyToken=5120e14c03d0593c. File version: 5.0.1.1159. Product version: 5.0.1+a3718b8417284a90b0f73b2cbba47bc4067f6a3a. GlobalAssemblyCache: False
2022-07-26 16:13:04.5757 Info AppDomain Shutting down. LogFactory closing...
2022-07-26 16:13:04.5757 Info LogFactory has been closed.

UPD: Added log files
It seems that it's a beatmap parsing issue, please try other beatmaps? or which beatmap did you select.
Edit: OK now I can confirm it's a bug between different CultureInfos. Looks it was fixed in beta13.

Edit to Vivace: There is no better and safe way to detect object hitting with low latency out of process, so this is truly a limited function.
Kert

yf_bmp wrote:

Edit: OK now I can confirm it's a bug between different CultureInfos. Looks it was fixed in beta13.
Thanks
Seems to work now with fullmode on using asio4all and selecting vbcable in osu! as audio device. But if I select default audio device everything sounds alright but all circles become misses when hit
There is a bug though when music isn't synchronized with the map if you start the map -> quit -> then start it again or smth like that. The music volume lowers down, map starts, but music doesn't restart and just continues
I'm not good at audio stuff but can I put an equalizer on top of the output of this program?
Shiyo
Is it possible for you to do a short video explanation of how to use this?
show more
Please sign in to reply.

New reply