Skip to content

vecnode/dotnet-audio-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dotnet-audio-app

This repository contains a template for a .NET desktop audio application built with Avalonia UI, NAudio, and ONNX Runtime (for AI capabilities, future). Focus on developing with open libraries and models. Tested on Windows 11.

.NET Audio Controller Interface

Setup Instructions:

Prerequisites

Windows Setup:

# Install .NET 8 SDK winget install --id Microsoft.DotNet.SDK.8 -e dotnet -v # Clone and navigate to project git clone https://github.com/vecnode/dotnet-audio-app.git cd dotnet-audio-app # Build and run dotnet clean src/App/App.csproj dotnet build src/App/App.csproj dotnet run --project src/App/App.csproj # Or use the PowerShell script .\start.ps1 # Windows (self-contained, single-file, natives auto-extracted) dotnet publish src/App/App.csproj -c Release -r win-x64 --self-contained true # Linux dotnet publish src/App/App.csproj -c Release -r linux-x64 --self-contained true # macOS (Intel & Apple Silicon) dotnet publish src/App/App.csproj -c Release -r osx-x64 --self-contained true dotnet publish src/App/App.csproj -c Release -r osx-arm64 --self-contained true 

Features

  • Compiles Avalonia, NAudio and ONNX
  • Microphone Input Selection
  • Real-time Audio Level Monitor
  • WAV File Recording
  • WAV File Export
  • Accesses System Info (OS, Hardware)

Packages

 [net8.0]: Top-level Package Requested Resolved > Avalonia 11.3.5 11.3.5 > Avalonia.Desktop 11.3.5 11.3.5 > Avalonia.Diagnostics 11.3.5 11.3.5 > Avalonia.Fonts.Inter 11.3.5 11.3.5 > Avalonia.ReactiveUI 11.3.5 11.3.5 > Avalonia.Themes.Fluent 11.3.5 11.3.5 > Microsoft.ML.OnnxRuntime 1.16.3 1.16.3 > Microsoft.NET.ILLink.Tasks (A) [8.0.20, ) 8.0.20 > NAudio 2.2.1 2.2.1

Design Guidelines

  • This repository should be developed as cross-platform as possible.
  • (future) For best cross-platform behavior, the script should start with CPU ONNX Runtime.
  • On Windows, we will enable GPU via DirectML in the future (no CUDA install needed):
  • start.ps1 should be enough for Windows development.
  • update.ps1 updates the repository folder on Windows.

Next steps

  • Loader of waveforms with amplitude visualiser
  • Time clock might that keeps track of requests and logs (e.g. XML)
  • Develop a modular build to include ONNX (or not)
  • Develop a Docker image and test on WSL2

About

Template for a .NET desktop audio application built with Avalonia UI, NAudio, and ONNX

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published