Skip to content

Latest commit

 

History

History
92 lines (71 loc) · 3.31 KB

notes.md

File metadata and controls

92 lines (71 loc) · 3.31 KB

MihirBegMusicLab

MihirBegMusicLab is an open source online digital audio workstation (DAW) based on the Web Audio API . Try MihirBegMusicLab here .

  • Read/Write .json file for adding and rearranging samples in the workspace as well as seperate projects
  • Add track functionality completed
  • Remove track functionality
  • Dynamic sample length
  • Project save/export functionality
  • Click and drag samples from directory to workspace completed
  • Track-specific controls such as mute, volume and "solo" completed
  • Record functionality completed
  • Equalization, reverb, compression and other essential effects completed
  • Animated time cursor completed
  • Animated level meter completed
  • User-uploaded samples

So far, various audio clips can be placed on multiple tracks at arbitrary start times according to a (currently preprogrammed) .json file. The look-ahead scheduler is accurate enough to seamlessly playback looping samples in perfect time (even for worst case javascript threading). Samples can be placed at sixteenth note resolution.

As much as possible from the following list of features will be implemented by the project deadline:

  • Read/Write .json file for adding and rearranging samples in the workspace as well as seperate projects
  • Add/remove track functionality
  • Dynamic sample length
  • Project save/export functionality
  • Click and drag samples from directory to workspace
  • Track-specific controls such as mute, volume and "solo"
  • Record functionality
  • Equalization, reverb, compression and other essential effects
  • Animated time cursor
  • Animated level meter
  • User-uploaded samples

The breakdown of work will be the following:

Adam:
  • Designing and implementing HTML5 front end and jQuery User Interface
  • JSON reading/writing for loading/storing projects
  • Designing reverb and chorus audio effects
  • Drag and drop from library to project
  • Project save functionality
  • Record functionality
  • Complete sample scheduling and cursor timing
  • Track-specific audio controls
  • Global playback audio controls
  • Filtering and equalization effects
  • Audio file export functionality

Projects that have helped Wavesurfer.js for generating waveform graphics and Web Audio Metronome for playback scheduling.

The technologies we have used so far or are planning to use:

  • Google's Web Audio API
  • Twitter Bootstrap (for HTML5 scaffoling and javascript components)
  • jQuery and jQuery UI for frontend programming and UI components
  • jsNode backend for writing JSON data