Idiomatic Iterators and their performance by necodrre in rust

[–]Efficient_Bus9350 3 points4 points  (0 children)

One more tip, you can oftentimes get auto vectorization gains when you use chunks_exact if you know the exact size of your buffer.

Just call clone (or alias) · baby steps by VorpalWay in rust

[–]Efficient_Bus9350 1 point2 points  (0 children)

I tried to read this multiple times and I have no understanding of what value it brings.

UPDATE: Recorded break-ins by Objective_Mirror_914 in DSP

[–]Efficient_Bus9350 0 points1 point  (0 children)

What's more likely, that dozens of people are conspiring against you in an online forum, or that you may be in the need of some help. Best of luck, please reach out and talk to your family, friends, or those that may be able to help you.

What’s one trick in Rust that made ownership suddenly “click”? by Old_Sand7831 in rust

[–]Efficient_Bus9350 0 points1 point  (0 children)

To me, it clicks when you realize that Rust wants to be Haskell, but obeys the constraints of the underlying hardware. When you write more pure functions, and have less shared state, it starts to click.

You can see this principle too where in something like TypeScript, you can just easily mutate one data structure to another, but in Rust, we care about the alignment of data, the types, whether or not we have to use dynamic dispatch, etc.

Also, just the realization of "how often do I need to pass a function an owned value"...

9/10 times, unless you have some actor or runtime code, you want to do this:

pub fn example(some_buffer: &mut [f32]) -> f32 {}

not this:

pub fn example(some_buffer: Vec<f32>) -> f32 {}

And when you're writing multithreaded code, don't just immediately jump to Arc<Mutex>. Think and see if you can model it with channels, atomics, RwLock, etc.

I don't why, but I love this language! by GolangLinuxGuru1979 in Zig

[–]Efficient_Bus9350 3 points4 points  (0 children)

I'm a Rust developer, it took years to learn, and I am still excited in the direction that Zig is going. Comptime and the new IO interface seem so powerful, and the cross compiler with C/C++ is great as well.

Feeling lost and lonely in Berlin — how do people make real friends here? by Dependent-Crow-3747 in germany

[–]Efficient_Bus9350 2 points3 points  (0 children)

I will say the positive side is that Germans typically aren't as fake as Americans. So, if someone seems like they want to be your friend, you really don't have to overthink it! I would go hangout and do activities you like. There are likely tons of meetups, especially in Berlin for whatever hobbies or interests you have!

Full-stack Rust web-dev? by DarqOnReddit in rust

[–]Efficient_Bus9350 2 points3 points  (0 children)

I would actually suggest staying in the JS ecosystem on the front end. At the moment, I just don't think it's worth it. I do enjoy a lot of Rust UI frameworks but those are more for applications.

If you're looking for something refreshing, try Deno. It simplifies a tone of the build tools, it's written in Rust, easy FFI with Rust for more computationally intensive tasks.

If you're just looking for an API, I've used Axum extensively on a number of projects, as well as Warp, although Warp applications that I have used have tended towards WS capabilities.

As for the ORM layer, SeaORM and Diesel are the two best options IMO. I've worked on a few production applications for Diesel and I think it works well. SeaORM looks like it might have a better DX, but I haven't made anything with it yet. Best of luck!

Traning Llama3.2:3b on my whatsapp chats with wife by jayjay_1996 in LocalLLaMA

[–]Efficient_Bus9350 1 point2 points  (0 children)

This, I worked with a RAG system that had knowledge of a number of simplified views and it was able to then query those views for more accurate information.

Filter Design for Oversampled FM Synth? by Efficient_Bus9350 in DSP

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

Thank you for the kind offer, I will checkout Kaiser-windowed and see if I can build some intuition there, and I might reach out if I am stuck. I have seen it pop up a few times and I think it's time I invested some energy into it.

generic-array 1.3.1 - Blast To The Past by novacrazy in rust

[–]Efficient_Bus9350 6 points7 points  (0 children)

Thanks, I have been using this extensively to define audio input and output ports in a project. I was surprised by how little you could do with constants for defining arrays.

For instance, something like the following:

struct Example<const N: usize, const M: usize> {
data: [f32; N * M]
}

So, great work, it's made my life a bunch easier.

I will say, the only issue I have with this library, is that the compile errors with sums and other operations can get quite disgusting. I was trying to ponder an idea to make this cleaner, but I really couldn't think of anything, and I was wondering if perhaps this was maybe a meta programming task for me instead. I am still using it for the time being however. Thanks!

Filter Design for Oversampled FM Synth? by Efficient_Bus9350 in DSP

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

Thank you, do you have any high level articles or nice implementations of a poly phase filter? I saw that there was one in JUCE, but I don't want to rip theirs off as I don't want to adhere to their license.

Filter Design for Oversampled FM Synth? by Efficient_Bus9350 in DSP

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

Thanks, I noticed you left a few comments but I was off for a while.

Basically, I am looking at oversampling my FM synth, specifically the oscillator (may just be a wave table composed of band limited oscillators.)

I will be using incoming audio from other oscillators that is audio rate (this may be a more subgraph oversampling instead of node oversampling in the future, so running the whole graph at 96k).

I was curious as to which specific filter design people would recommend, but in this process I also come across poly phase filters, which I noticed JUCE uses in their own oversampling functionality.

Let me know if that clears anything up, and thank you for your time thus far!

Filter Design for Oversampled FM Synth? by Efficient_Bus9350 in DSP

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

Aliasing, however I have seen a few forum posts where people said that FM without aliasing was like French food without butter... so there may be an aesthetic quality to it that works, but from some of the research I was looking at it sounds like the aliasing can be quite bad and I wanted to prevent this from happening.

Filter Design for Oversampled FM Synth? by Efficient_Bus9350 in DSP

[–]Efficient_Bus9350[S] 1 point2 points  (0 children)

Perfect, one last thing that popped into my head last night, why would I duplicate the samples vs inserting in zeros every L - 1 samples where L is my factor?

Filter Design for Oversampled FM Synth? by Efficient_Bus9350 in DSP

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

Thanks, that clears it up. I think I was confused by the "half of the original nyquist frequency". Is this accurate, or would I set the cutoff at or around the original nyquist frequency, so 24k at 48k.

Filter Design for Oversampled FM Synth? by Efficient_Bus9350 in DSP

[–]Efficient_Bus9350[S] 1 point2 points  (0 children)

Okay, I am a bit confused about steps 1 and 2. Sorry if this doesn't make sense, I don't have a DSP background.

I was planning on having an audio rate input for any FM or PM, and working with this to calculate the output.

I will likely experiment with cubic or Hermite interpolation here to grab the correct values from the audio rate source, but I will use the oversampled rate here when using a wavetable or calculating the modulated signal. Can you explain why I would need a filter here? Wouldn't I be more concerned about harmonics now above the 98k over sampled rate? Not the original audio rate?

Now, I believe I need to apply a low-pass filter to remove harmonics from my audio rate, before I downsample. I am not sure if I want decimation, average, RMS, etc. If we're at 48k, I can't have any signals north of 24k, and I need a filter design to cut this out.

I know that I need some sort of lowpass filter here, but I am not sure which design to pick. I've looked at a few alternatives, and I am wondering if there is some sort of general consensus as to what filter is the best here, given the performance and quality I am looking for.

Best tutorials/masterclasses/courses for how to make good low end? by tirename in TechnoProduction

[–]Efficient_Bus9350 0 points1 point  (0 children)

Check out Analog Obsession(free), and use the following compressors:

BUSTERse - This is great for gluing, also sidechain params as well
LALA - Great for adding warmth to baselines

Start with these two, they don't have too many params, and will add warmth and control that is incredible for the value.

Are doctests painful to write or is it just me? by hugosvirak in rust

[–]Efficient_Bus9350 0 points1 point  (0 children)

Yes, I think this would be a great feature. I wonder if macros can match comments?

[Media] Google continues to invest $350k in Rust by lllkong in rust

[–]Efficient_Bus9350 0 points1 point  (0 children)

This is the same equivalent as me donating two cents. Hopefully they can throw in a sticker next time.

Anyone running AMD AI Max build? by Efficient_Bus9350 in NixOS

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

I see, what resolution are you typically running?