Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tejashah88/alexa-mp3-validator
A node module for validating your MP3 files to be used in your Amazon Alexa skill.
https://github.com/tejashah88/alexa-mp3-validator
alexa alexa-mp3-validator alexa-skill mp3-files nodejs
Last synced: 27 days ago
JSON representation
A node module for validating your MP3 files to be used in your Amazon Alexa skill.
- Host: GitHub
- URL: https://github.com/tejashah88/alexa-mp3-validator
- Owner: tejashah88
- License: mit
- Created: 2017-04-03T05:31:49.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2019-07-09T16:50:03.000Z (over 5 years ago)
- Last Synced: 2024-09-25T09:25:36.925Z (about 2 months ago)
- Topics: alexa, alexa-mp3-validator, alexa-skill, mp3-files, nodejs
- Language: JavaScript
- Homepage:
- Size: 219 KB
- Stars: 5
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# alexa-mp3-validator
[![NPM Version](https://img.shields.io/npm/v/alexa-mp3-validator.svg)](https://www.npmjs.com/package/alexa-mp3-validator)
[![Build Status](https://travis-ci.org/tejashah88/alexa-mp3-validator.svg?branch=master)](https://travis-ci.org/tejashah88/alexa-mp3-validator)
[![Coverage Status](https://coveralls.io/repos/github/tejashah88/alexa-mp3-validator/badge.svg)](https://coveralls.io/github/tejashah88/alexa-mp3-validator)
[![dependencies Status](https://david-dm.org/tejashah88/alexa-mp3-validator/status.svg)](https://david-dm.org/tejashah88/alexa-mp3-validator)A node module for validating your MP3 files to be used in your Amazon Alexa skill. If you are looking for a CLI version, check out [ssmlol](https://github.com/okofish/ssmlol). If you want to convert your MP3 files to be usable by Alexa, check out [this website](https://www.jovo.tech/audio-converter).
## Upgrading from < 1.0
If you are upgrading from < 1.0, please see [UPGRADING](UPGRADING.md) for migration instructions.### Requirements of Alexa-ready MP3 Files
Every MP3 file you want Alexa to play must meet several basic requirements. They are as follows:
* A valid (MPEG version 2) MP3 file
* No longer than 90 seconds
* Encoded with a bit rate of exactly 48 kbps
* Encoded with a sample rate of exactly 16,000 Hz## Usage
The module will check the requirements and return a Promise that returns true or false. An error will be thrown if the module is unable to read the file.
#### Function signature
```javascript
Boolean validateMP3(String filepath, optional Boolean throwOnValidationError = false)
```#### Using with Promises
```javascript
const { validateMP3 } = require('alexa-mp3-validator');
validateMP3('path/to/file.mp3')
.then(isValid => {
// more logic goes here
})
.catch(err => {
// error handling logic goes here
})
```#### Using with async/await
```javascript
const { validateMP3 } = require('alexa-mp3-validator');
(async () => {
try {
let isValid = await validateMP3('path/to/file.mp3');
// more logic goes here
} catch (err) {
// error handling logic goes here
}
})()
```By default, if a validation error occurs, it will return false. By setting `throwOnValidationError` to true, all errors will throw.
#### Using with async/await and `throwOnValidationError = true`
```javascript
const { validateMP3, AudioValidationError } = require('alexa-mp3-validator');
(async () => {
try {
let isValid = await validateMP3('path/to/file.mp3', true);
// more logic goes here
} catch (err) {
if (err instanceof AudioValidationError) {
// validation error handling logic goes here
} else {
// other error handling logic goes here
}
}
})()
```