A MPEG 1 Layer III aka MP3 decoder programmed in F# language. The primary motivation for this project is to understand how the MP3 algorithm works and get hands on experience on F#. Plus I'm curious about how .NET framework performs on this particular resource intensive workload.
| Task | Status |
|---|---|
| Parse Frame header | DONE |
| Parse Frame Side Information | DONE |
| Parse Main Data | DONE |
| Generate Samples from Main Data | DONE |
| Suppress Noise | IN PROGRESS |
| Metadata handling | IN PROGRESS |
| Handling proper mp3 files | IN PROGRESS |
| Code Optimization | IN PROGRESS |
Method 1: You need Visual F# SDK 4.0
and GNU Make (either from cygwin or MinGW) for building this project. A Makefile has been provided in the MSharP3 directory. To build just cd to the directory and type make all or make debug to build.
Method 2: You can also use Visual Studio 2017.
Method 1: Get Mono and xbuild from your distributions package repository. Then cd to the project directory and type xbuild MsharP3.sln to build.
Method 2: Get .NET core tools for linux and GNU Make. cd to the MSharP3 directory and type make msbuild to build.
This project is licensed under the MIT License - see the LICENSE file for details