A Go wrapper for the minimp3 C library that provides fast, lightweight MP3 decoding capabilities.
minimp3 is a Go package that provides MP3 decoding functionality by wrapping the lightweight minimp3 C library. It allows Go developers to decode MP3 audio files and streams efficiently within their applications, converting compressed MP3 data into raw PCM audio that can be played or processed further.
Go developers who need to add MP3 playback or audio processing capabilities to their applications, particularly those working on media players, audio tools, or applications requiring embedded audio functionality.
Developers choose minimp3 for its simplicity, performance, and minimal dependencies compared to larger audio libraries. It provides a focused solution specifically for MP3 decoding without the overhead of comprehensive audio frameworks.
Decode mp3 base on https://github.com/lieff/minimp3
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Leverages the lightweight minimp3 C library for low memory usage and fast MP3 decoding, as emphasized in the README's focus on minimal resource consumption.
Provides straightforward functions like DecodeFull for full file decoding and streaming support with minimal boilerplate, making integration quick for developers.
Can decode MP3 data directly from HTTP responses or any io.Reader, enabling efficient audio streaming in Go applications, as shown in the network audio example.
Works seamlessly with libraries like Oto for immediate audio output, demonstrated in the provided examples for quick setup and playback.
Only handles MP3 decoding, so projects needing multi-format audio support must use additional libraries or seek alternative solutions.
Wraps an external C library, which can complicate builds, cross-compilation, and increase deployment complexity compared to pure Go implementations.
Focuses solely on decoding; playback, encoding, or advanced audio processing require external dependencies, adding to the setup effort.