README
freesound-client
A freesound v2 client that works in node and the browser
Installation
# npm
npm install freesound-client
# yarn
yarn add freesound-client
Usage
import FreeSound from 'freesound-client';
const freeSound = new FreeSound();
// Set token
freeSound.setToken('your-api-key');
// Getting a user
await freeSound.getUser('Jovica');
// Getting a user's related data
const [sounds, packs, bookCat, bookCatSounds] = await Promise.all([
user.sounds(),
user.packs(),
user.bookmarkCategories(),
user.bookmarkCategorySounds()
]);
// Getting a pack
const pack = await freeSound.getPack(9678);
// Getting a pack's sounds
const packSounds = await pack.sounds()
// Getting a sound
const sound = await freeSound.getSound(96541);
// Getting a sound's related data
const [analysis, similar, comments] = await Promise.all([
sound.getAnalysis(),
sound.getSimilar(),
sound.getComments()
]);
// Text search
await freeSound.textSearch('violoncello', {
page: 1,
filter: 'tag:tenuto duration:[1.0 TO 15.0]',
sort: 'rating_desc',
fields: 'id,name,url'
});
// Combined search
await freeSound.combinedSearch({
target: 'rhythm.bpm:120&filter=tag:loop'
});
// Content search
await freeSound.contentSearch({
target: 'lowlevel.pitch.mean:220'
});
// OAuth login
freeSound.setToken('your-api-key', 'oauth');
// Set your application's client_id and client_secret
freeSound.setClientSecrets('your-client-id', 'your-client-secret');
// Make the user navigate here
freeSound.getLoginURL();
// Use the authorization code from the login
freeSound.postAccessCode('your-temporary-code-from-login');
API Docs
See the API Docs
Runnable Example
- See the runnable example here
Local setup
git clone https://github.com/amilajack/freesound-client
cd freesound-client
yarn
cp .env.example .env
yarn test