Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Lavorare con l'audio real time
Forum - C# / VB.NET - Lavorare con l'audio real time

Avatar
megadeth (Normal User)
Newbie


Messaggi: 19
Iscritto: 29/12/2010

Segnala al moderatore
Postato alle 21:21
Domenica, 22/10/2017
Salve a tutti gli amici del forum...vorrei sviluppare un applicativo per windows, utilizzando la piattaforma .net, che mi permetta di elaborare dell'audio (in tempo reale) proveniente da uno dei dispositivi di input della scheda audio (microfono o eventuale ingresso line in). L'audio quindi deve essere immediatamente processato e "decodificato" sotto forma di stringa.

Vi faccio un esempio, così  magari mi spiego meglio: avete presente il codice morse? Benissimo, facciamo finta che all'ingresso line in (o tramite un microfono esterno) sia presente un segnale audio in codice morse. In tempo reale questo segnale dovrebbe essere elaborato restituendo a schermo la "traduzione" in caratteri del segnale morse (dove ogni carattere è composto da 3 simboli alternati tra punto e linea). Il segnale audio da "lavorare" è contenuto all'interno di un ristretto range di frequenze, che dovrebbero poter essere scelte dall'utente. Sarebbe moltoutile avere anche una visione in stile waterfall dello stream audio, una cosa del genere: http://www.aerodynes.fr/wp-content/uploads/2014/04/Waterfa ...

Successivamente vorrei estendere i tipi di decodifica (esistono altri codici oltre al morse, molto più complessi) ma intanto vorrei partire dall'inizio, ovvero l'acquisizione del segnale audio e l'elaborazione di quest'ultimo in .NET.

Da dove mi consigliate di partire? Programmo (o meglio programmavo) gia in visual basic .net e conosco il C e altri linguaggi, ma non ho mai lavorato con il processing di uno stream audio real time e con l'audio in generale.

Grazie anticipatamente.

Ultima modifica effettuata da megadeth il 22/10/2017 alle 21:49
PM Quote
Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2305
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 8:37
Lunedì, 23/10/2017
Usa le direct Audio.
Per lo spettro potresti provare NAUDIO.
Una libreria opensource per gestire diversi formato audio ed avere una sorta di grafica mediante picchi di alti e bassi.

Per il realtime cmq consiglio le direct audio che appartiene alla famiglia DirectX.

Potrsti usare SlimDX.
E seguire qualche tutorial per la registrazione e decodifica dell'audio.


https://mire.forumfree.it/ - Mire Engine
C# UI Designer
PM Quote
Avatar
megadeth (Normal User)
Newbie


Messaggi: 19
Iscritto: 29/12/2010

Segnala al moderatore
Postato alle 11:15
Lunedì, 23/10/2017
Grazie mille, adesso inizio a documentarmi un po...non sarebbe meglio fare tutto con naudio? Per usare direct audio ovviamente, suppongo di dover installare l'sdk delle directx?

PM Quote
Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2305
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 14:26
Lunedì, 23/10/2017
Si per le direct audio servono le DirectX sdk.

Dovresti riuscirci anche con naudio.
Ma non ne sono sicuro.

Alcune o operazioni come lunghezze d'onda, buffer, frequenza etc le si ottengono solo con strumenti nativi o wrapper non so se naudio ha qualche implementazione del genere, fai qualche prova

Edit:
Maledetto t9

Ultima modifica effettuata da Thejuster il 23/10/2017 alle 14:39


https://mire.forumfree.it/ - Mire Engine
C# UI Designer
PM Quote
Avatar
megadeth (Normal User)
Newbie


Messaggi: 19
Iscritto: 29/12/2010

Segnala al moderatore
Postato alle 17:18
Lunedì, 23/10/2017
Cercando un po in rete ho trovato anche cscore come libreria audio che dovrebbe essere abbastanza completa, tu la conosci?Dalla documentazione non sono riuscito a capire granché al momento.
Vedrò di applicarmi meglio domani sull'intero flow del software che devo scrivere.
Grazie ancora

PM Quote