Code Monkey home page Code Monkey logo

audiogame's Introduction

Audio Training Game

Interactive Frontend Project - Code Institute

The Interval Training Game

A simple game to test aural skills by guessing the intervals between two notes

Features include:

  • randomised sound files of two notes, with the option of hearing them again
  • 5 possible points for each interval. 1 point lost for each wrong answer
  • Can be played by anyone - developed for people looking to improve or maintain aural skills

Goals

This is a simple aural testing and training game. Repeated use will build aural skills over time. Constant practise is key to building strong aural skills. A game can build confidence by providing positive feedback on achieving the correct answer. This in turn can encourage people to keep trying and get better.

The target customer is anyone looking to build aural skills. The layout is simple and easy to naviagte regardless of musical knowledge or age.

UX

The game is aimed at everyone. It helps to be an English speaker as the website and interval options are in English. However, as the layout is intuitive and simple to navigate, it would be easy to figure out, especially for musically trained non-english speakers.

The Site - Features

The site/game is a single page. There are:

  • a start button
  • a repeat button (to hear the last interval again)
  • a 'next' button
  • a score counter
  • 12 buttons representing each interval options

Settings:

  • a volume button
  • a toggle to choose harmonic or melodic intervals
  • a hints sheet for how to play, and how to recognise different intervals

WIREFRAMES

Desktop

Mobile

The final game layout differs slightly from the wireframes. Volume control was not a possibility, and it became imperative during the development of the game that the user pick the interval type before game play. Therefore, there is now a 'Load Game' modal that pops up before the game, where these options can be located.

Execution

This project was created using:

  • HTML
  • CSS
  • Javascript
  • Web Sound API
  • JQuery
  • Bootstrap
    • Note: bootstrap classes are formatted with hyphens separating words, whereas my own classes are camelCase
  • Font Awesome
  • Logic Pro
  • Unsplash

Resources:


Credits:

Piano Image: Johannes Plenio from Unsplash


Testing

See Testing.md for development

Gameplay

  1. On game load, choose whether to listen to melodic or harmonic intervals.
  2. On start, press play and two notes will sound.
  3. Pick from the 12 possible answers below.
  4. If incorrect, the button goes red and you lose a point. Try again.
  5. If correct, the button goes green and you gain 5 points.
  6. The 'next' button will flash green until you have correctly guessed the final interval
  7. Score/100 pops up on screen with the prompt to play again.

Deployment

This project was developed in Gitpod, committed to git and pushed to GitHub.

To deploy this page to GitHub Pages from its GitHub repository, the following steps were taken:

  • Go to github and log into your account.

  • Select repository

  • Above green Gitpod button, select settings, and scroll down to github pages section.

  • In source: select master branch and root folder.

  • Hit save. This may then require patient waiting for the site to be deployed!

  • Scroll back down to the GitHub Pages section to retrieve the link to the deployed website. If it is not yet ready, make some tea and wait.

Cloning the repository

Cloning in Gitpod

  • Log into your Github account
  • Go to repository
  • Click on the green gitpod button (Ensure you have a gitpod account and the gitpod browser extension. Recommended to do this in chrome)
  • This will now open a new gitpod workspace using the code in github, for you to work on

Cloning in other IDEs

  • go to this repository
  • beside the green gitpod button, click the 'code' dropdown
  • select the HTTPS option and copy the link to your clipboard
  • go to your IDE and open the terminal
  • type: 'git clone' followed by pasting the copied link, and press enter
  • your clone should be created. for troubleshooting, see: Github docs

Acknowledgements

I would like to thank my Mentor, Nishant Kumar for his invaluable advice, especially regading the simplification of functions. I would also like to thank my game testers, Declan and Eileen, for their feedback and recommendations for the UX.

audiogame's People

Contributors

shinners888 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.