Mu Music-Mi Mike Husam Abdul-Kafi Harvey Wu Lakshmi Bodapati - - PowerPoint PPT Presentation

mu music mi mike
SMART_READER_LITE
LIVE PREVIEW

Mu Music-Mi Mike Husam Abdul-Kafi Harvey Wu Lakshmi Bodapati - - PowerPoint PPT Presentation

Mu Music-Mi Mike Husam Abdul-Kafi Harvey Wu Lakshmi Bodapati Kaitlin Pet System Architect Language Guru Team Manager Tester (hsa2126) (hw2473) (lmb2254) (khp2106) Motivation Write a strongly-typed language for expressing musical


slide-1
SLIDE 1

Mu Music-Mi Mike

Lakshmi Bodapati Team Manager (lmb2254) Harvey Wu Language Guru (hw2473) Husam Abdul-Kafi System Architect (hsa2126) Kaitlin Pet Tester (khp2106)

slide-2
SLIDE 2

Motivation

  • Write a strongly-typed

language for expressing musical concepts intuitively for musicians

  • Build music in terms of tunes,

modes and rhythms independently

Looks good AND sounds good

slide-3
SLIDE 3

Introduction

  • Western music notated on a staff with notes given a duration based
  • n the symbol and pitch based on location on the staff.
  • Most programming music libraries are unintuitive and complicated
  • music-mike – create music based on varied manipulations of

patterns in a modal system

slide-4
SLIDE 4

Project Planning

  • Agile Software Development using Github issues
  • Feature based rather than module based work distribution
  • Weekly deadlines
slide-5
SLIDE 5

Overview and Features

  • Context-Sensitive Scanner
  • Type Inference
  • Immutable Data Types
  • Polymorphic Functions
  • Modal-based music manipulation and expression
  • Easy-to-use musical programming language
  • Output music to multiple channels with ease
slide-6
SLIDE 6

Syntax

Basic Functionality Function Declaration & Type Inference Complex Example

slide-7
SLIDE 7

Compiler Architecture

music-mike program Scanner Parser Inference Semant Codegen CFugue Music-mike Standard Library Object Files LLVM IR Executables External Music Library Linking Midi Music File AST SAST

slide-8
SLIDE 8

Testing

  • Fail Testing
  • Assignment
  • Blocks
  • Types
  • Control Flow
  • Printing
  • Functions
slide-9
SLIDE 9

Demo