Download presentation
Presentation is loading. Please wait.
1
- Everybody can jam music in canteen
wiJam - Everybody can jam music in canteen
2
OUTLINE OVERVIEW DESIGN PRINCIPLES AND SOME DETAILS
PROGRESS AND OUTCOME FUTURE WORKS
3
Scenario – Canteen JAM Master D5 E5 A4 C5 E4 G4 C4 D4 D5 E5 A4 C5 E4
4
Scenario – Canteen JAM Master D5 E5 A4 C5 E4 G4 C4 D4 D5 E5 A4 C5 E4
5
WHY WIJAM? Setting: One music master who knows music, several players who know little about music Existing approach: Traditional jam, Chrome Music Jam, GarageBand Jam. Top
6
Design Principles Overview
KISS: The player’s interface is simple because the master abstracts away many musical difficulties. Hierarchy/Divide and conquer Every layer depends on the layer(s) downstairs, and the layers together make the whole system. Robustness Sound manager Others: Use a good idea again; When in doubt, use brute force; leave it to the client…
7
Layering Master Slave Hierarchy, divide and conquer User Interface
Music Assigner MIDI router Sample Sound Manager Core MIDI /GKSession AUGraph Bonjour + network AudioSession User Interface Music Performer Core MIDI /GKSession AUGraph AudioSession Bonjour + network TCP/IP Hierarchy, divide and conquer
8
Master Slave User Interface User Interface Music Performer
The Performer The Conductor Master Slave User Interface Music Assigner MIDI router Sample Sound Manager CoreMIDI/ GKSession AUGraph Bonjour + network AudioSession User Interface Music Performer Core MIDI /GKSession AUGraph AudioSession Bonjour + network
9
DISTRIBUTE a Key, a SCALE and instruments
Philip Grand Piano Acoustic Guitar Electric Guitar Acoustic Bass Violin Key and scale … Sample Sound Crack Clap C D E G A Blu Maj Aeo Pen Lyd Groove-1 …
10
MASTER Philip Bony CX CY Rev flg filt … Volume Bighead tangkk Panning
Eco Rev flg filt … Volume Bighead tangkk Panning Groove-1 Groove-2 Groove-3 Groove-4 C D E G A Bls Maj Aeo Pen Lyd
11
Players only see the notes
D5 E5 A4 C5 KISS Abstraction Robustness E4 G4 C4 D4
12
End-to-end ? Music Assigner Music Performer
Assign performance prototypes Assign Perform performance feedback
13
Music Assigner Table in C (just an example)
Scale/Note 1 2 3 4 5 6 7 8 Ionian C4 E4 F4 G4 A4 B4 C5 D5 C3 E3 G3 … Dorian bE4 bB4 Phrygian Lydian Mixolydian Aeolian Locrian
14
Master Slave User Interface User Interface Music Performer
The Performance User Interface Music Assigner MIDI router Sample Sound Manager CoreMIDI/ GKSession AUGraph Bonjour + network AudioSession User Interface Music Performer Core MIDI /GKSession AUGraph AudioSession Bonjour + network
15
Use a good idea again Performance MIDI Router AUGraph Performer1
Input VI 1 VI 2 VI 3 VI 4 VI 5 Output
16
Master Slave Use a good idea again Leave it to the client
User Interface Music Assigner MIDI router Sample Sound Manager CoreMIDI/ GKSession AUGraph Bonjour + network AudioSession User Interface Music Performer Core MIDI /GKSession AUGraph AudioSession Bonjour + network Virtual Instruments Virtual Instruments
17
AUPreset File is basically a mapping file that maps sound samples to notes, so that they together form virtual musical instruments. Note 1 Note 2 Note 3 ... Sound Sample 1 Sound Sample 2 Sound Sample 3 ...
18
Sound Library Sound Sample Manager
Robustness Leave it to the client Application Sound Library Audio files mapped to the AUPresets AUPresetFile Sound Sample Manager download
19
Master Slave User Interface User Interface Music Performer
Music Assigner MIDI router Sample Sound Manager CoreMIDI/ GKSession AUGraph Bonjour + network AudioSession User Interface Music Performer Core MIDI /GKSession AUGraph AudioSession Bonjour + network Communicator
20
Reuse open source code Master coreMIDI NetworkSession Slave
Music Assignment in the form of sysEx MIDI Packets Packets Send Handler Packets Receive Handler Packets Send Handler Packets Receive Handler Music Performance in the form of normal MIDI Packets
21
DIVIDE and CONQUER Master Slave Top User Interface User Interface
Cayden, Philip Master Slave User Interface Music Assigner MIDI router Sample Sound Manager CoreMIDI/ GKSession AUGraph Bonjour + network AudioSession User Interface Music Performer Core MIDI /GKSession AUGraph AudioSession Bonjour + network tangkk Bony, Philip CX, SzeHang tangkk Top
22
Progress and outcome https://github.com/tangkk/Tuner.git
A continuous thread on Gmail
23
Future Works Sound FX control Location of every player
Shake support(accelerometer ) Performance Adaptive Algorithm
24
Easy Adaptive Scoreboard Level assignment Performance feedback
25
Music Assigner Music Performer Assign performance prototypes
Adaptive Algorithm Perform performance feedback Smart enough to adapt to different constitution of players Could be anyone who is totally out of musical feeling
26
Thank you! Group members in alphabetical order: Chi Man Liu
Chong Yee Wong Ho Cheung Ng Hung Kwan Chen Junqi Deng Sze Hang Chan
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.