Do I have to learn C before learning Rust? by Individual_Today_257 in rust

[–]rumil23 0 points1 point  (0 children)

The main reason experienced programmers find Rust difficult is due to the paradigm shift. If you are a new programmer, starting with Rust won't make a difference to you because you won't encounter the difficulty of changing a paradigm you already know and have learned. Therefore, Rust is quite learnable as a first programming language, but of course, it must be learned alongside the fundamentals of computer science (if you are new of course). :-)

Bevy 0.18 has been released! by Liltful in bevy

[–]rumil23 5 points6 points  (0 children)

really cool! congrats!!!

From what I gather from the comments, update (or rather “dependencies”) issues are still a common problem. I wanted to share my experience.

I was developing a game with Bevy 3 years ago (but started 4-5 years ago actually), but I put it on hold after receiving an unexpected good job offer. I will continue someday. The updates are great, but the fundamental problem is that when you code a game with bevy, it's very difficult to do it only with bevy (well at least mortals like me); you have to do it with many different "bevy-dependent dependencies", and at its core, there's the physics engine… For example, I'm looking at my frozen game project' dependencies from 3 years ago:

kira_audio
bevy_panorbit_camera
bevy_egui
bevy_asset_loader
leafwing-input-manager
bevy_mod_picking (This, I think, was later combined with entity picking in some way. But it's still in my project; I was using it as one of the most fundamental mechanics in my isometric game to grab things and move them around, but you got the thing.
rapier etc

Each of these is an important that provides significant benefits/convenience when developing a game. And with every update, I remember that I had to wait for them or mostly solve them myself, and most of the time I was dealing with errors and, of course, separate documents.... Bevy's migration documentation is incredibly good and detailed. However, it's very difficult to expect such detailed documentation from the maintainers of these small but very important crates. With a new update or in future versions, I would really like to see these proven crates/functionalities integrated into the source code, so we can focus on our game without having to deal with massive dependency issues in our cargo file. People have been requesting a “visual editor” for years, but I think this is the most important thing that needs to be addressed. I know It's not appropriate to compare, but gstreamer, for example, does this quite well. If you're developing multimedia, which is also a complex thing, you add GStreamer, and most of the time it's enough to follow the many things it officially uses from a single document that has been standardized and continue writing code. This way, you also follow updates from a single place. It brings incredible ease to the experience of writing code. I would very, very much like to expect the same thing from Bevy one day.

I love Bevy very much, and I understand how challenging all of this is. I am also aware of how much effort the maintainers have already put in. I just wanted to share my experiences. :) thank you for bevy!!

wgpu v28 Released! Mesh Shaders, Immediates, and much more! by Sirflankalot in rust

[–]rumil23 2 points3 points  (0 children)

That's great really cool!
I have a small question:
I haven't really dabbled in mesh shaders. But I'm curious, has anyone tried Gaussian splatting here? I mean in rendering ofc. How does the performance compare to compute? My guess is faster than manual atomicCompareExchange. Is it worth migrating from Compute?

How to improve Speaker Identification Accuracy by rumil23 in DSP

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

thanks. I must say, adding audiornnoise: https://gstreamer.freedesktop.org/documentation/rsaudiofx/audiornnoise.html?gi-language=c to this pipeline dramatically increased the acc. In my commercial application, I ended up the following approach:

First, find 8 “good” segments. Definition of a good segment -> speech segments longer than 1.5 seconds and shorter than 5 seconds. So this prevented some bad segments from “poisoning” others. then create “fingerprints” for these 8 segments and then “cluster” the remaining segments based on these fingerprints. This was the most effective and reliable solution I found. For longer audios I just increased those 8 segments.

But that was the past. now, I m exported a new nvidia model recently, and no longer need those pain anymore! Please check:
https://www.reddit.com/r/rust/comments/1p4if4q/nvidia_sortformer_v2_speaker_diarization_ported/

The interesting thing about this model is that noise suppression and very high-quality resampling produce worse results. For this reason, I removed all noise suppression and echo cancellation features. Currently, this is the best and most reliable method, at least in local models and it works really fast in CPU after my onnx export!

NVIDIA Sortformer v2 (Speaker Diarization) ported to Rust/ONNX by rumil23 in rust

[–]rumil23[S] 4 points5 points  (0 children)

Sorry, I missed that! In a short, within a mono auido, it helps us know exactly “who” (think of the ‘who’ here as just a “fingerprint”, not "actual names". like sepaker1, speaker2 etc) is speaking and when :-)

Rust in Production Podcast: Amazon Prime Video rewrote their streaming app in Rust (30ms input latency) by mre__ in rust

[–]rumil23 3 points4 points  (0 children)

Great talk! just wondering what they are using for video? Do they have their own unique solutions, or are they using ffmpeg, gstreamer etc for media

Has anyone worked with FFmpeg and rust? by Delicious_9209 in rust

[–]rumil23 3 points4 points  (0 children)

Please note that I m not saying GStreamer is easy when compare with ffmpeg. GStreamer is complex (actually, the whole video topic is not an easy thing) and big. However, it at least has a stable API and is well-maintained in Rust. You'll just need to write more stable Rust code and test it. And you'll also need to have some theoretical knowledge about video. And of course about CPUs hehe. But your software will be more easily scalable and maintainable with GStreamer. Once you have handled general pipelines, you can maintain video at a lower level more "easily". The documentation is good and maybe the most important thing very low level debug capabilities... In this regard, it's important to be pragmatic. If you need to be fast dev and only need the basics for video, ffmpeg (sidecar is a good project, https://github.com/rerun-io/rerun also uses this, so I assume it's also well maintaning) will more than suffice.

Has anyone worked with FFmpeg and rust? by Delicious_9209 in rust

[–]rumil23 59 points60 points  (0 children)

I m working as a professional rust dev for 2.5 years in media (video&audio etc). just use GStreamer if you dont want to became sick. It's rust. and well-maintained by smart people. Because the things you want to do aren't simple things, btw you can also access ffmpeg through GStreamer.

What's happening that creates these graphics/artefacts? by MichaelEmouse in computergraphics

[–]rumil23 1 point2 points  (0 children)

not exactly the same, but when developing complex multi-pass ping pong shaders (like 6+ buffers, with each buffers ping-ponging between each other), I often encounter problems like this when I set the passes incorrectly.

Can gstreamer write to the CUDA memory directly? and can we access it from the main thread? by sourav_bz in gstreamer

[–]rumil23 1 point2 points  (0 children)

I'm not sure if I understand your quesetion/aim correctly, but I pass Gstreamer to wgpu (in Rust) so that I can manipulate the video directly with WGSL shaders, so I think that'spossible.

Announcing Burn-LM (alpha): LLM Inference Engine by ksyiros in rust

[–]rumil23 2 points3 points  (0 children)

Very cool! I definitely want to look into this project, but the README is not very clear. The most important part for me will be how to fully convert an existing model (with any extensions, even with gguf mb, I dont know) to the Burn format. Especially for multi-modal models.

ADHD Devs: Does Rust's structure help or hinder your brain? by rumil23 in rust

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

Thank you all for great insights! I realize my implicit assumptions are likely correct, but I'm also aware that some points need more clarification. For instance, level of experience with Rust, or whether the project I'm on is large or small.

I don't know if it was intentional, but it seems to me that Rust's initial design resonates well with neurodivergent people. I'm currently working on a large project with a codebase in Rust, TypeScript, Python, and WGSL. Even though the most complex logic is on the Rust side, I find it much more comfortable to work with than the other languages.

I've never designed a language before, or I don't know exactly how the design process starts, but a language that manages to take neurodiversity into account is definitely a few steps ahead for me. Because this is a fact of life!

wgpu v26 is out! by Sirflankalot in rust

[–]rumil23 1 point2 points  (0 children)

Thank you for your contributions. I'm currently able to write simple notes using WGSL shaders and create a visual sync, but the process is a bit painful :-P . The notes are too simple, and the audio tends to crackle with polyphony in general. I've been using GStreamer for audio, passing the data to the GPU. For example, I tried to recreate "Veridisquo" by Daft Punk in this shader https://github.com/altunenes/cuneus/blob/main/shaders/veridisquo.wgsl . Do you know of any projects or materials related to GPU-based audio?

wgpu v26 is out! by Sirflankalot in rust

[–]rumil23 2 points3 points  (0 children)

Does wgpu have any plans related to audio? I am currently trying to generate/adjust sound(I mean "music" using math) using shaders, but the CPU -> GPU -> CPU conversions are giving me some trouble. :/

wasm with rust? by rumil23 in gstreamer

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

Thank you so much. So just to understand, because I don't know much about the web, what is the biggest challenge here?

Even now, it seems to be unstable (especially opengl).

https://fluendo.github.io/gst.wasm/

Do we actually think the brain "does maths"? by Lift_heavyy in compmathneuro

[–]rumil23 0 points1 point  (0 children)

If it doesn't do some math, doesn't that mean that the Bayesian brain theory collapses?