This project is currently in a state of heavy development and is not yet intended for deployment
-
Listen uses Jekyll to generate a (mobile-friendly) static website that can be served locally or online using GitHub pages
-
The theme includes different interfaces for conducting listening tests, via the Web-Audio API. At present, interfaces are limited to a soundboard and a MUSHRA-inspired slider interface. Expected additions include:
- MUSHRA with vertical sliders
- N-Alternative Forced Choice
- Method-of-Adjustment
- AB Test
- Likert Scale
-
For online tests, Staticman is used to process results (submitted by participants) as data files and uploaded to your GitHub repository
-
Listen includes a Python package for parsing, compiling and analysing these data
Listen has been used in the following projects:
- Perceptual evaluation of source separation algorithms
- Perceptual Evaluation of Source Separation for Remixing Music
-
Install
rbenvto manage Ruby. You may need dependencies forrbenv, see heregit clone https://github.com/rbenv/rbenv.git ~/.rbenv echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc echo 'eval "$(rbenv init -)"' >> ~/.bashrc source ~/.bashrc -
Install
ruby-buildgit clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build -
Install Ruby and set the default global version
rbenv install 2.4.1 rbenv global 2.4.1 -
Install the bundler gem
gem install bundler -
Install Jekyll
gem install jekyll
Note: You can install the pre-built Node.js (with npm bundled) installer
here
You can install Node.js and npm locally as follows (based on this
example):
mkdir ~/local
echo 'export PATH=$HOME/local/bin:$PATH' >> ~/.bashrc
. ~/.bashrc
git clone https://github.com/nodejs/node
cd node
git checkout v9.8.0
./configure --prefix=~/local
make install
cd ../
git clone https://github.com/npm/npm
cd npm
make install
The following assumes that your static site will live on the gh-pages branch
of your website
-
Clone this repository
git clone https://github.com/deeuu/listen -
Change the remote URL, e.g.
git remote set-url https://github.com/USERNAME/REPOSITORY.git -
Edit the following files:
./site/_config.yml: set thetitleof your site../site/_config.yml: replace theurlitem, i.e.https://USERNAME.github.io/REPOSITORY
-
Add Staticman to your repository:
- Go to your GitHub repository and hit the Settings page
- Go to the Collaborators tab and add the username
staticmanapp - Accept the invitation at
https://api.staticman.net/v2/connect/{your GitHub username}/{your repository name}
-
Update the homepage
./site/index.md, e.g.--- layout: page title: Welcome next_url: /mynewpage/ --- # Welcome to Listen -
Create a new page under a new subdirectory in the
./site/_pagesfolder:mkdir ./site/_pages/mynewpage touch ./site/_pages/mynewpage/index.md -
Add the following frontmatter and text to
./site/_pages/mynewpage/index.md:--- layout: page permalink: /mynewpage/ title: Greetings --- Welcome to my new page! -
Replace the contents of
./site/_data/menu.yml(or delete this file if you don't want a navigation menu) with:- title: Welcome url: / - title: My new page url: /mynewpage/ -
Install the needed Gems from inside
./site:bundle install -
Install npm dependencies under
node_modules(you make run into installation/build errors if python 2.7.x is not in your PATH (e.g. switch the local environment if using pyenv)):cd ./site npm install -
Still inside the
./sitedirectory, build your site and push it togh-pages:npx gulp deploy -
Visit
https://USERNAME.github.io/REPOSITORY
- Build and serve locally with
npx gulp(inside./site). This will generate the static site inside./site/_sitewhich will be served atlocalhost:4000.