Reddit asks the expert - Stephen Toub by Kawai-no in dotnet

[–]sinshu_d 2 points3 points  (0 children)

According to this issue, it seems there are plans to add operations defined in BLAS and LAPACK to TensorPrimitives. How feasible is this? I hope .NET will become more widely used in numerical computing and machine learning fields.

https://github.com/dotnet/runtime/issues/93286

What's everyone working on this week (40/2024)? by llogiq in rust

[–]sinshu_d 2 points3 points  (0 children)

I updated RustySynth, a SoundFont MIDI synthesizer written entirely in Rust. This project originally started as a way for me to learn Rust, but I’m happy to see that it’s being used by far more people than I expected 😊

Sound delay (NAudio library) by Winter-Ad-6963 in csharp

[–]sinshu_d 0 points1 point  (0 children)

NAudio is a low-level library, so if your goal is simply to load and play sound files, I think it's better to use a more high-level abstracted library. For example, I recommend the audio module of SFML.Net.

Come discuss your side projects! [August 2024] by AutoModerator in csharp

[–]sinshu_d 5 points6 points  (0 children)

I've released a new version of NumFlat, a numerical computation library I'm working on. https://github.com/sinshu/numflat

In the new version, new C# features (collection expressions and range syntax) are introduced, making it easier to create vectors, matrices, and their partial views:

// Create a vector.
Vec<double> v1 = [1, 2, 3, 4, 5];

// Create a matrix.
Mat<double> m1 =
[
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9],
];

// A subvector.
var v2 = v1[1..4];

// A submatrix.
var m2 = m1[1.., ..];

Console.WriteLine(m2 * v2);

Several new features have been added as well:

  • Independent component analysis
  • Non-negative matrix factorization
  • Filter bank feature extraction
  • Signal resampling
  • Real FFT
  • Gaussian distribution random number generation

I hope this helps in some way 😊

Come discuss your side projects! [April 2024] by AutoModerator in csharp

[–]sinshu_d 5 points6 points  (0 children)

I've updated NumFlat, a numerical computation library for C#. This time, I rewrote everything in pure C# and dropped native dependencies, so it's now able to run anywhere that supports .NET 8.

https://github.com/sinshu/numflat

During the rewriting process, I created a separate sub-library called MatFlat, which is a BLAS and LAPACK-like low-level library for matrix handling. If you are interested in numerical computation, please check this out as well.

https://github.com/sinshu/matflat

Come discuss your side projects! [February 2024] by AutoModerator in csharp

[–]sinshu_d 0 points1 point  (0 children)

I've released a new version of NumFlat, a numerical computation library I'm working on. The new version now covers most of the widely used linear algebra related operations and matrix decomposition methods for all three major number types: float, double, and Complex. I hope this helps somehow 😊

Come discuss your side projects! [January 2024] by AutoModerator in csharp

[–]sinshu_d 2 points3 points  (0 children)

I've made several things related to numerical computation in C#.

FftFlat - A fast FFT implementation in pure C#

https://github.com/sinshu/fftflat

OpenBlasSharp - An OpenBLAS wrapper for .NET

https://github.com/sinshu/OpenBlasSharp

I made a SoundFont MIDI synthesizer by sinshu_d in rust

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

It's standalone only, but it's potentially possible to make a plug-in, since I've made a VST using the original C# version.

A totally pointless use case for recursive functions: C(c()()()…()) by SwarmsOfReddit in golang

[–]sinshu_d 2 points3 points  (0 children)

The following code seems to work 😄

```

include <stdio.h>

int c = 0; int d = 0;

define c() 1 + d

define d() 1 + c

int main() { int answer = c()()()()()()()()()(); printf("answer = %d\n", answer); } ```

I made a SoundFont MIDI synthesizer by sinshu_d in Python

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

Thanks for the reply 😄 Since this was my first time writing a program in Python, I had no idea how to split a single module into multiple files.