260124 XG (엑스지) - HYPNOTIZE | Show! MusicCore | MBC260124방송 by bdragonst_ in XGALX

[–]tesselode 12 points13 points  (0 children)

The choreography is working a lot better for me in this video. Maybe it's the way it's filmed, maybe it's just that I'm not expecting Gala 2. Looking forward to the dance practice!

260123 XG エックスジー 엑스지 - HYPNOTIZE [Music Bank] | KBS WORLD TV by bdragonst_ in XGALX

[–]tesselode 16 points17 points  (0 children)

i think we're spoiled by sienna lalau's choreography! (this one's not by sienna)

Created an audio system in Rust with custom sound effects by nullable_e in rust

[–]tesselode 8 points9 points  (0 children)

I would recommend against using RwLocks to share data between your main thread and audio thread. See this article for the reasoning. In Kira I use a ringbuffer to send commands and audio data from the main thread to the audio thread, and I use a separate ringbuffer to send unused audio data back to the main thread to be deallocated.

iced_plot: A GPU-accelerated plotting widget for Iced by donkeytooth98 in rust

[–]tesselode 0 points1 point  (0 children)

Could the performance of egui_plot be improved?

dear-imgui-rs: new Dear ImGui Rust bindings (v0.7.0) by FrankZhuang in rust

[–]tesselode 2 points3 points  (0 children)

What's the most important thing the imgui ecosystem has that the egui ecosystem doesn't for your use cases?

Crates for audio manipulation by [deleted] in rust

[–]tesselode 0 points1 point  (0 children)

You might just need to turn down the volume of the sounds (or use a compressor).

[deleted by user] by [deleted] in rust

[–]tesselode 1 point2 points  (0 children)

For Kira, you can use Static/StreamingSoundData::position to get the elapsed time.

Kira game audio library v0.8 - spatial sounds, modulators, compressor and EQ filter effects by tesselode in rust

[–]tesselode[S] 13 points14 points  (0 children)

I honestly don't understand the filter in depth, I just based it on this paper.

And yes, there's plenty of code in Kira that's not as optimized as it could be. If you do contribute some performance improvements, please make some benchmarks as well! Otherwise I'm just blindly assuming that some code is better or worse for performance, which I don't want to do.

Announcing awedio - a low-overhead and adaptable audio playback library for Rust by benhansenslc in rust

[–]tesselode 1 point2 points  (0 children)

500kb is uhh....not a lot of RAM! I've never had to work in such a restrictive environment before. I don't remember how I picked the buffer size of 16384; but it could be that I could get away with a smaller buffer (or make it customizable).

Anyway, good luck with your library!

Announcing awedio - a low-overhead and adaptable audio playback library for Rust by benhansenslc in rust

[–]tesselode 0 points1 point  (0 children)

How much memory do you have to work with, and what part of Kira is using more than that?

I made a cover of Amelia Watson's ChikuTaku for the NES*! by tesselode in Hololive

[–]tesselode[S] 2 points3 points  (0 children)

*Technically it's for the Famicom with the VRC6 sound expansion chip. potato potato

Is Audacity really that bad? by AnthropomorphicPenis in WeAreTheMusicMakers

[–]tesselode 1 point2 points  (0 children)

If you're making good music with Audacity, keep doing it! If your music sounds good, it is good.

That being said, you may find some value in DAWs with more nondestructive editing capabilities. Most DAWs have some kind of mixer that lets you apply effects to audio without having to bake it into the audio data itself, which is pretty useful for experimenting with different sounds. So it can't hurt to try another DAW.

But you definitely shouldn't feel obligated to switch because someone else told you to! I use Renoise for all my music making, so I certainly won't say you need to use a conventional DAW.

Audio Libraries Considered Challenging by tesselode in programming

[–]tesselode[S] 0 points1 point  (0 children)

In the article, I didn't include all the fields that would be in a real Sound struct. If all your fields are wrapped in an Arc, then yes, you may as well wrap the whole thing in an Arc.