@igorskyflyer/mp3size
v1.0.1
Published
🧮 Calculates an estimated file size of Mp3 files. 🎶
Downloads
5
Maintainers
Readme
📃 Table of Contents
🤖 Features
- 🎧 Estimate MP3 file size from duration and bitrate
- ⏱️ Calculate audio duration from file size and bitrate
- 📊 Derive bitrate from file size and duration
- 🧠 Accepts
HH:MM:ssorMM:ssformats for input - 🔁 Converts between bits and KiB seamlessly
- 🧮 No dependencies, pure math and logic
- 🚫 Gracefully handles invalid or missing input
- ⚡ Instant results, ideal for CLI tools or dashboards
- 🛠️ Drop‑in ready for audio editors, upload validators, or file previews
🕵🏼 Usage
Install it by executing any of the following, depending on your preferred package manager:
pnpm add @igorskyflyer/mp3sizeyarn add @igorskyflyer/mp3sizenpm i @igorskyflyer/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
📝 Changelog
📑 The changelog is available here, CHANGELOG.md.
🪪 License
Licensed under the MIT license which is available here, MIT license.
💖 Support
🧬 Related
🧰 Provides ways of testing whether a given value can be a valid file/directory name. 🏜
@igorskyflyer/adblock-filter-counter
🐲 A dead simple npm module that counts Adblock filter rules.🦘
🌟 An npm module that strongly types file paths! 🥊
@igorskyflyer/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! 💎
🧬 A lightweight JavaScript utility allowing deep copy-by-value of nested objects, arrays and arrays of objects. 🪁
👨🏻💻 Author
Created by Igor Dimitrijević (@igorskyflyer).
