Esiste una libreria .NET per la decodifica di file audio universale?
Domanda
Conoscete qualche libreria .NET in grado di decodificare diversi tipi di file audio? Idealmente, dovrebbe essere indipendente dalla piattaforma, quindi può essere utilizzato con .NET e Mono - su Windows e * NIX.
Ho già torturato Google alla ricerca di una biblioteca che soddisfi le mie esigenze, ma sfortunatamente non sono riuscito a trovare nulla. Quindi, prima di scrivere molte classi wrapper per GStreamer e amici, ho pensato di poter chiedere qui. :)
I file audio supportati dovrebbero essere (almeno)
- MP3,
- OGG Vorbis e
- FLAC (opzionale).
Poiché l'applicazione di cui avrei bisogno è solo per divertimento, la libreria dovrebbe essere open source - o almeno gratuita. Inoltre, una schermata di nag mostrata a un utente sarebbe probabilmente cattiva o poco pratica, perché sto pensando di metterlo in un processo di servizio.
Dovrei usare questa libreria / queste librerie per decodificare i file audio e passare un byte [] al mio wrapper libOFA, in modo da poter produrre un'impronta digitale MusicDNS. La mia applicazione sperimentale molto probabilmente verrebbe eseguita su un server basato su Linux.
Soluzione
Esiste la libreria ffmpeg che converte i formati audio e video. Quindi, accoppiando con la FFmpeg.NET , puoi eseguire la codifica / decodifica in .NET. Sono supportati tutti i formati che hai citato.
Altri suggerimenti
Il sistema audio FMOD Ex è un nuovo motore audio rivoluzionario per sviluppatori di giochi, sviluppatori multimediali, sound designer , musicisti e ingegneri del suono. Sulla base della pluriennale esperienza dei precedenti prodotti Firelight Technologies, FMOD Ex mira a potenziare le capacità dell'audio per i giochi, sfruttando al contempo risorse minime e rimanendo pienamente scalabile.
Licenza non commerciale FMOD
Se il prodotto non è destinato a fini commerciali e non include la libreria FMOD per la rivendita, la licenza o altre distribuzioni commerciali, l'utilizzo di FMOD è gratuito. Sì, esatto, senza costi di licenza !.
Se stai parlando di decodificare i file per riprodurli (ad esempio per l'ascolto), suggerirei di saltare all'SDK di Windows Media Player.
Riprodurrà tutto ciò che ha un codec installato e non costa nulla.
http://msdn.microsoft.com/en-us/library /aa969732.aspx
Se desideri qualcosa di più vicino al metal (ad esempio per l'apprendimento), puoi anche consultare l'SDK per il formato di Windows Media.
Alvas.Audio è l'unico prodotto che abbia mai visto fare questo (e ho imparato solo da questo post). Penso che la situazione delle licenze con MP3 abbia ostacolato lo sviluppo di prodotti .NET che lo fanno.