ffont / freesound-explorer

Visual interface for exploring Freesound content and creating music in a 2-dimensional space
http://labs.freesound.org/fse/
MIT License
19 stars 3 forks source link

Freesound Explorer

https://labs.freesound.org/fse/ (use Chrome for better experience)

About

Freesound Explorer is a visual interface for exploring Freesound in a 2-dimensional space and create music at the same time :) Using Freesound Explorer you can perform text-based queries in Freesound, and see the results arranged in a 2-dimensional space. We use a well known dimensionality reduction technique (tSNEJS) and learn the space from spectral audio features provided by Freesound. In this way, sounds are self-organised according to some sort of timbre similarity.

Freesound Explorer is implemented as a web application which takes advantage of modern web technologies including the Web Audio API and the Web MIDI API. Freesound Explorer also uses a Python Flask backend for handling user accounts, but it can also be run statically without the backend (with reduced functionality and no user handling).

More information can be found in the demo paper that we presented at the Web Audio Conference 2017 held at Queen Mary University of London.

Freesound Explorer has been (so far) developed by Frederic Font and Giuseppe Bandiera, researchers at the Music Technology Group of Universitat Pompeu Fabra, Barcelona and Eric Lehmann, masters student of Film University Babelsberg KONRAD WOLF.

Tutorial/How to use

1) Search sounds

2) Explore the map of sounds

The batch download button appears at the navigation bar when selecting multiple sounds

A click on this button will download a zip archive, including all original audio files and a CSV file with all relevant freesound metadata. You will have to wait a certain amount of time for the backend collecting the sounds. Your browser will automatically store the archive to the download folder as soon as this process is finished

To save some time listening through the whole map, you can have a look at the Cluster Tags. These add some information about frequently used tags in a sub cluster. Just press "T"on your keyboard if you want to free the view.

cluster-tags

3) Inspect the results in the Sound-List tab

To have some more details about the sounds of a space, you can hit the next icon below. Here you can sort the table by clicking on the column header. Hovering over and selection of sounds are synchronized with the map view for better orientation. Available columns include name, duration, license, tags and username.

sound-list

4) Search for more sounds

spaces

5) Create sound paths

paths

6) Play sound Paths

Freesound Explorer Sync Settings

7) Use MIDI input (Chrome only)

Freesound Explorer MIDI Learn

8) Save your session

Development

Dependencies

Want to get involved in the development? We welcome contributions :) Here are some instructions to set up the development environment:

Front-end

First use

npm install

to install all the dependencies.

Then run

npm run dev

to start an express server that simulates the client-only environment with hot reloading.

If you want to generate the production build, run:

npm run build

To run the tests, run:

npm test

Back-end

To run the Flask server (for enabling Freesound user auth), you will need to create a new virtualenv and install all the dependencies:

pip install -r requirements.txt

Then create a new settings.py file in the main project directory by editing the original settings.example.py according to your development environment. Finally run:

python manage.py syncdb
python manage.py runserver

Note that python manage.py syncdb will probably be required only the first time. If you want to use the flask server while dinamically serving the JS bundle with webpack, run:

npm run with-flask

(instead of npm run dev) and ensure you have USE_JS_DEV_SERVER=True in your settings.py. This will make the flask server correctly load the bundle served at port 8080 (and with hot reloading) by webpack.

Citations

To cite Freesound explorer please use the following refernece:

Font, F., & Bandiera G. (2017). Freesound Explorer: Make Music While Discovering Freesound!. Web Audio Conference (WAC 2017).

License

MIT

The MIDI controller icon we use has been created by Daouna Jeong and is released under Creative Commons By 3.0 license.

Our logos were designed by Mirza Zulfan.