A freesound v2 client that works in node and the browser
npm install freesound-client
yarn add freesound-client
import FreeSound from "freesound-client";
const freeSound = new FreeSound();
// Set token
freeSound.setToken("your-api-key");
// 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",
});
// 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(),
]);
// 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(),
]);
// 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");
See the API Docs
- See the runnable example here
git clone https://github.com/amilajack/freesound-client
cd freesound-client
yarn
cp .env.example .env
yarn test