Qual è la migliore libreria di compressione audio per .NET?
-
03-07-2019 - |
Domanda
Sto cercando una buona libreria di compressione audio per .NET. Tutto ciò che utilizza MP3 è fuori uso (a causa del problema di licenza). Fondamentalmente ho solo bisogno di essere in grado di comprimere i normali dati audio WAV in un certo formato e decomprimere in WAV. Preferibilmente il codice sarebbe tutto .NET (C # o VB.NET), ma non credo sia probabile. Dovrebbe essere senza perdita o relativamente senza perdita (almeno 192 MP3, preferibilmente), con un rapporto di compressione almeno pari a 4: 1. Preferirei un'API basata su buffer, ma anche un'API basata su file è OK.
Qualcuno sa qualcosa del genere?
Soluzione
Hai pensato di usare WMA? Se si utilizza C ++ o C ++ / CLI gestiti è molto semplice scrivere un wrapper gestito nell'SDK di Windows Media Format. Questo assembly può quindi essere facilmente utilizzato da un assembly VB.Net o C # di livello superiore. Finché hai installato WMP, ha anche il vantaggio di non richiedere dipendenze aggiuntive.
Altri suggerimenti
Hai già pensato al formato .OGG ? Non so se sia disponibile una libreria .net, ma le librerie libogg e libvorbis C non sono scienza missilistica e ben testate. Per un semplice lavoro di compressione / decompressione è possibile cavarsela con un wrapper a due funzioni che gestisce tutti i dettagli.
Dovrebbe essere facile scrivere un wrapper .net attorno a loro.
I vantaggi:
- senza brevetto
- licenza utilizzabile anche per progetti a fonte chiusa
- molto buon rapporto di compressione
- multipiattaforma (forse non così importante dal momento che miri a .net, ma comunque bello da avere).
- ultimo ma non meno importante: una libreria molto matura senza bug noti e un buon supporto.
FLAC sembra interessante.
Monkey's Audio è un altro (potrebbe anche funzionare in .NET).
Potresti esaminare i codec OGG. Non sono sicuro che ci sia scritto in .NET, ma è open source, quindi se questo è importante per te, dovresti essere in grado di portarlo abbastanza facilmente.
Dai un'occhiata a FMod. Ha una buona compressione audio, riproduzione e funzionalità di effetti 3d. Supporta molti formati audio. È scritto in C ma ha un buon wrapper C # insieme ad esso.