Skip to content

clevertree/snesology-web

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SNESology Project Introduction

The SNESology Project allows anyone with a web browser to compose and share original music based on the Super Nintendo Entertainment System Sound chip, and other consoles too! This DAW (Digital Audio Workstation) will focus on the original chiptune sound and allow users to create, edit, and publish their own songs, as well as view the 'source' of anyone else's published song.

Web Browser Demo (Alpha)

Click the image below to launch SNESology Composer on your browser.

Browser Portrait

Project Goals

  • Restore and remix classical chip-tune music
  • Create and publish music with chip-tune instruments on any device
  • Streaming Samples: No sample libraries to manage
  • Open Source & Free forever

AudioSource Composer Features

  • Works on any modern browser on any phone, tablet or pc
  • Instruments and effects can be wrapped in each other to build complex presets
  • Note tracks can be called recursively for a highly structured song

What's Currently Working

  • Add, edit, and delete notes and note tracks
  • Edit note velocity and duration
  • Quarter tone compatibility
  • Recursively play back tracks by adding a 'Track Note'
  • Track note transposing (play back tracks at different frequencies)
  • 432hz compatibility

Under the Hood

  • Built on WebAudio technology.
  • Songs, instruments, and samples written for Audio Source will work on any device
  • Audio Source Mobile brings the WebAudio API to mobile devices by using a WebView as a proxy
    • Instruments render using React VirtualDOM on the UI thread while rendering audio in the WebView proxy

Planned Features

  • Chip support: C64, NES, SNES, Sega, PSx, and others
  • Audio recording and editing
  • Track XY Grid for easy mouse-click composition
  • Real-time editing between multiple users (like Google Docs)
  • Server-side song rendering
  • Import/Export MIDI files
  • Edit songs in real-time with your friends (like google docs)
  • Hire professional services to take a WIP to the next level

How can I help? What should I help with? Are there instructions?

Most of the work will be done on our github repo. Check out the README for installation instructions. We want help with everything from images, css, UI, testing, programming, and feedback. (And PR obviously!)

Git Repositories:

To get set up for local development, please follow the instructions below:

Website Development

The SNESology Application is developed in Javascript using ReactJS and ReactNative to work on all platforms. Please follow the instructions below to set up your local development environment for this project.

Prerequisites

  1. Download and install NodeJS
    • If developing on Windows, please use Chocolatey for a linux-like development console and package manager
  2. Download and install git source control
  3. Register an account with github.com and set up your SSH key on your ssh client
$ git clone ssh://git@github.com/clevertree/snesology-web --recursive
$ cd [snesology-web]
$ npm install

Run Development Server (ReactJS)

This is the server used to develop the application front-end. This command should also open the website in your local browser. It is not necessary to run the development server on a production deployment.

$ npm start

Browse to Local "Development" Server

http://localhost:3000

Note: For the API calls to work, also run the production server below.

Run the API Server (NodeJS)

The API server handles API calls to the backend. It also distributes the optimized production server HTML.

$ npm run start-server

Browse to Local "Production" Server

http://localhost:8080

Note: you can change the port and other config options at this location:

src/config.json

Contact

Open-Source means the SNESology project is free forever, and anyone can join in the development, so we're always looking for testers, artists, and all kinds of musician to contribute.

Currently the composer is in active development and has not yet been released. Check back often for updates as we get closer to Beta!{ If you want to join up, please contact us on the GitHub page.

Check back often for updates as we get closer to Beta!

Join our Discord channel

Talk about SNESology and other stuff. Discord.

Contribute / Report a bug

  • Go to Github.com and grab an account.
  • Check for existing bugs with the same description.
  • Create a new bug report describing the problem.
  • List your operating-system and browser versions.
  • If possible, include the developer's console in the screen-shot.
  • Try to include a screen-shot of the issue.
  • Optionally describe your issue in the #bugs channel on Discord.