[QSTN] Streaming recorded audio with modifiers through Udp
Nobody has claimed this yet.
- Dominant language
- C#
- Stars
- 512
- Forks
- 56
- PR merge metrics
- No merged PRs in 30d
Description
### Requirements
- [x] I have searched the documentation and existing issues for an answer.
- [x] My question is specific and clearly formulated.
- [x] This is not a bug report or a feature request.
### 1. What are you trying to achieve?
I'm using the WebRtcApmModifier class to prevent acoustic echo from the microphone and I can receive the sound on my local computer. However, I want to send the clean sound from the microphone to a remote computer using the UDP protocol and play the sound on the remote computer. How can I do this?
### 2. What have you tried so far?
WebRtcApmModifier sınıfı ile mikrofondan gelen sesin akustik yankısını engelliyorum ve local bilgisayarımda sesi alabiliyorum.
### 3. What are you unsure about / What is your specific question?
mikrofondan gelen temiz sesi uzak bir bilgisayara udp protolkolu ile göndermek ve uzak bilgisayarda sesi çalmak isiyorum bunu nasıl yapabilirim
### 4. Relevant Code Snippet (if applicable)
``` var captureDeviceInfo = SelectDevice(DeviceType.Capture);
if (!captureDeviceInfo.HasValue) return;
var playbackDeviceInfo = SelectDevice(DeviceType.Playback);
if (!playbackDeviceInfo.HasValue) return;
using var captureDevice = Engine.InitializeCaptureDevice(captureDeviceInfo.Value, Format);
using var playbackDevice = Engine.InitializePlaybackDevice(playbackDeviceInfo.Value, Format);
captureDevice.Start();
playbackDevice.Start();
using var engine = new MiniAudioEngine();
var audioFormat = new AudioFormat { Format = SampleFormat.F32, SampleRate = 48000, Channels = 2 };
using var microphoneProvider = new MicrophoneDataProvider(captureDevice);
// Add noise suppression modifier and keep a reference to it for interactive controls.
var apmModifier = new WebRtcApmModifier(captureDevice,
nsEnabled: true,
aecEnabled: true,
aecMobileMode: false,
nsLevel: NoiseSuppressionLevel.High);
// Create a SoundPlayer and load an audio file
using var soundPlayer = new SoundPlayer(Engine, Format, microphoneProvider);
var gainComponent = new CustomGainComponent(engine, audioFormat) { Gain = 0.5f };
gainComponent.ConnectInput(soundPlayer);
//soundPlayer.AddModifier(apmModifier);
playbackDevice.MasterMixer.AddComponent(gainComponent);
microphoneProvider.StartCapture();
soundPlayer.Play();
```
### SoundFlow Version
_No response_
### .NET Version
_No response_
### Operating System
_No response_
### 6. Additional Context
_No response_
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the shown capture pipeline and the WebRtcApmModifier, MicrophoneDataProvider, and SoundPlayer entry points; determine how processed audio is exposed before evaluating UDP transport and remote playback. Confirm the SoundFlow, .NET, and operating-system versions and define the expected remote playback path. Done means a documented, reproducible answer or a clearly stated limitation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- audio-video-rtc
- Issue type
- Documentation
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100