Skip to content

igorskyflyer/npm-mp3size

Repository files navigation

mp3size


🧮 Calculates an estimated file size of Mp3 files. 🎶



💖 Support further development

I work hard for every project, including this one and your support means a lot to me!
Consider buying me a coffee. ☕
Thank you for supporting my efforts! 🙏😊


Donate to igorskyflyer

@igorskyflyer


🕵🏼 Usage

Install it by executing:

npm i "@igor.dvlpr/mp3size"

🤹🏼 API

getFileSize(time: string, rate: number = 160): number

Gets the estimated size of the MP3 file based on the audio time and bitrate.

  • time: string, the duration of the MP3 file, expects either HH:MM:ss or MM:ss format

  • rate: number, the bitrate of the file, defaults to 160

returns a number, the estimated MP3 file size or -1 in case of an error


getAudioDuration(size: number, rate: number): string

Gets the estimated audio duration for the provided file size and bitrate.

  • size: number, file size (in KiB)

  • rate: number, the bitrate of the file

returns a string, the estimated audio duration formatted as HH:MM:ss or '-1' in case of an error.


getAudioBitrate(time: string, size: number): number

Gets the estimated bitrate for the provided audio duration and file size.

  • time: string, the duration of the MP3 file, expects either HH:MM:ss or MM:ss format

  • size: number, the size of the audio file (in KiB)

returns a number, the estimated bitrate of the MP3 file or -1 in case of an error



If you are looking for a pure JavaScript implementation of this, have a look at mp3size.js.


🪪 License

Licensed under the MIT license which is available here, MIT license.


🧬 Related

@igor.dvlpr/valid-path

🧰 Provides ways of testing whether a given value can be a valid file/directory name. 🏜

@igor.dvlpr/adblock-filter-counter

🐲 A dead simple npm module that counts Adblock filter rules.🦘

@igor.dvlpr/my-file-path

🌟 An npm module that strongly types file paths! 🥊

@igor.dvlpr/astro-post-excerpt

⭐ An Astro component that renders post excerpts for your Astro blog - directly from your Markdown files. Astro v2 collections are supported as well! 💎

@igor.dvlpr/node-clone-js

🧬 A lightweight JavaScript utility allowing deep copy-by-value of nested objects, arrays and arrays of objects. 🪁



Provided by Igor Dimitrijević (@igorskyflyer).