introduction to game boy music and lsdj

40
introduction to Game Boy music and LSDJ Alive Dead Media, spring 2020 Aalto Media Lab miranda kastemaa https://pulusound.fi May 20, 2020

Upload: others

Post on 24-Apr-2022

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: introduction to Game Boy music and LSDJ

introduction to Game Boy music and LSDJAlive Dead Media, spring 2020

Aalto Media Lab

miranda kastemaahttps://pulusound.fi

May 20, 2020

Page 2: introduction to Game Boy music and LSDJ

Nintendo Game Boy

• 8-bit handheld game console• launched in 1989 (JP, NA), 1990 (EU)• custom Sharp LR35902 CPU running at

4.19 MHz• 8 KB internal RAM (can be extended

up to 32 KB by cartridges)• 8 KB video RAM• 256-byte bootstrap ROM• up to 8 MB ROM on cartridges• 160×144 pixel LCD display with 2-bit

color (four shades of grey)• 4-channel sound chip with stereo output

Page 3: introduction to Game Boy music and LSDJ

music in Game Boy games

• Aquatic Ambienceby David WiseDonkey Kong Land (1995)https://youtu.be/Ny7QFgBvQnY

• Coo the Owlby Hirokazu Ando and Tadashi IkegamiKirby’s Dream Land (1995)https://youtu.be/BE5lSQ0SRFs

• Dragon’s Denby Junichi MasudaPokémon Gold/Silver (1999)https://youtu.be/tlWPp0ayjsc

Page 4: introduction to Game Boy music and LSDJ

GBT Player

• converts .mod files to a format the Game Boy can play• compose with your favorite tracker• can be embedded in games• https://github.com/AntonioND/gbt-player• https://www.gbstudio.dev/docs/music/

Page 5: introduction to Game Boy music and LSDJ

nanoloop

• visual step sequencer with lots of livetweaking possibilities

• created by Oliver Wittchow in 1998• originally a study project at the

University of Fine Arts of Hamburg• sold as a custom cartridge since 1999• later adapted to Game Boy Advance,

smartphones, mini analog synth in aGame Boy cart...

• https://nanoloop.com

Page 6: introduction to Game Boy music and LSDJ

Little Sound DJ (LSDJ)

• tracker with advanced sequencingfeatures

• created by Johan Kotlinski in 2000• used to be sold on custom cartridges,

now ROM only• https://www.littlesounddj.com

Page 7: introduction to Game Boy music and LSDJ

mGB

• turns the Game Boy into aMIDI-controlled sound module

• created by Timothy “trash80” Lamb in2008

• requires additional hardware such as theArduinoboy or nanoloop USB-MIDIadapter

• https://github.com/trash80/mGB

Page 8: introduction to Game Boy music and LSDJ

and more...

• many other sequencers and synthesizers have been developed for the Game Boy:https://chipmusic.org/forums/topic/5574/complete-gameboy-trackers-sequencers-synths-list/

Page 9: introduction to Game Boy music and LSDJ

Game Boy sound

• the sound system has 4 channels:• pulse (2×): square wave with adjustable pulse width• wave: programmable wave table• noise: pseudo-random noise generator

• simple stereo panning: left/center/right• Game Boy models sound quite different from each other• original DMG-01 is popular for its clean and bassy sound• many modifications have been developed to improve sound quality• more information:

• https://gbdev.gg8.se/wiki/articles/Gameboy_sound_hardware• https://aquellex.ws/goodies/tutorial/game-boy-comparison/

Page 10: introduction to Game Boy music and LSDJ

LSDJ: foreword

• LSDJ has a ton of features crammed into a system with a small display and limitedcontrols

• most numbers are displayed in hexadecimal to save space• navigating the interface effectively requires memorizing button combinations• it can take a while to get used to... :)• the manual is very detailed!

https://www.littlesounddj.com/lsd/latest/documentation/

Page 11: introduction to Game Boy music and LSDJ

LSDJ: screens

• the LSDJ interface is divided into ninescreens, arranged in two dimensions:

project groove

song chain phrase instr table

synth wave

• the map in the lower right corner of thescreen shows where you are:

SELECT + ←/↓/↑/→ switch between screens

Page 12: introduction to Game Boy music and LSDJ

LSDJ: song screen

• a song is a collection of chains• each column (channel) has a list of

chains to play

←/↓/↑/→ move cursor

A add chain

A + ←/↓/↑/→ edit chain number

SELECT + → open selected chain in chainscreen

B + A remove chain

START play song

Page 13: introduction to Game Boy music and LSDJ

LSDJ: editing numbers

• most numbers in LSDJ are displayed inhexadecimal format (base 16)

• A = 10, B = 11, C = 12,D = 13, E = 14, F = 15

• e.g. 2C = 2 · 16 + 12 = 44• but in some cases the two digits are

separate numbers

A + ←/→ decrement/increment by 1

A + ↓/↑ decrement/increment by 16

Page 14: introduction to Game Boy music and LSDJ

LSDJ: song structure

songs are made of chains are made of phrases are made of notes,commands

Page 15: introduction to Game Boy music and LSDJ

LSDJ: chain screen

• a chain contains up to 16 phrases• phrases can be transposed up or down

←/↓/↑/→ move cursor

A add phrase

A + ←/↓/↑/→ edit phrase number/transpose

SELECT + → open selected phrase inphrase screen

B + A remove phrase

START play chain

Page 16: introduction to Game Boy music and LSDJ

LSDJ: phrase screen

• a phrase is a 16-step sequence• steps can have a note and/or command• each note is assigned to an instrument• commands add various effects

←/↓/↑/→ move cursor

A add note/instr/cmd

A + ←/↓/↑/→ edit parameter

B + A remove note/instr/cmd

START play phrase

A, A (on a command) show help

Page 17: introduction to Game Boy music and LSDJ

LSDJ: instrument screen

• there are five instrument types:• pulse (PU1, PU2 channels)• noise (NOI channel)• kit (WAV channel)• wave (WAV channel)• speech (WAV channel, instrument 40)

←/↓/↑/→ move cursor

A + ←/↓/↑/→ edit parameter

B + ←/↓/↑/→ switch between instruments

Page 18: introduction to Game Boy music and LSDJ

LSDJ: common instrument parameters

• some parameters are supported bymultiple instrument types:

• instrument name• output (left/right/both/off)• sound length• transpose on/off• pitch detuning• pitch command behavior• chord and retrig command rate• table to run when playing notes

Page 19: introduction to Game Boy music and LSDJ

LSDJ: pulse instrument

• the iconic 8-bit bleep• four different waveforms: 12.5%, 25%,

50% or 75% pulse width• ADSR envelope for amplitude• frequency sweep — good for drum

sounds

Page 20: introduction to Game Boy music and LSDJ

LSDJ: ADSR envelope

(from the LSDJ manual)

Page 21: introduction to Game Boy music and LSDJ

LSDJ: noise instrument

• noise generator• shape parameter changes timbre• ADSR envelope for amplitude

Page 22: introduction to Game Boy music and LSDJ

LSDJ: kit instrument

• two-channel sample player• several different sample kits• playback offset, speed and looping• volume• distortion mode• samples can be replaced with custom

ones: https://github.com/jkotlinski/lsdpatch

Page 23: introduction to Game Boy music and LSDJ

LSDJ: wave instrument

• plays back waves generated in the synthscreen (or hand-drawn in the wavescreen)

• synth number• volume• playback speed and looping

Page 24: introduction to Game Boy music and LSDJ

LSDJ: synth screen

• generates waves based on parameters• each synth sound uses 16 waves• fixed settings:

• waveform• filter type• distortion mode• phasing mode

←/↓/↑/→ move cursor

A + ←/↓/↑/→ edit parameter

B + ←/↓/↑/→ switch between synths

Page 25: introduction to Game Boy music and LSDJ

LSDJ: synth screen (2)

• time-varying settings:• volume• filter resonance• filter cutoff frequency• signal vertical shift• limiting• phase

Page 26: introduction to Game Boy music and LSDJ

LSDJ: wave screen

• wave display and editor• each wave consists of 32 samples• samples can be edited individually to

create custom waveforms

←/→ select sample

↓/↑ edit sample

B + ←/↓/↑/→ switch between waves

Page 27: introduction to Game Boy music and LSDJ

LSDJ: speech instrument

• speech synthesizer• only available on instrument 40• i just found out about this one, haven’t

explored it much yet...• can combine short speech sounds

(allophones) to form words

Page 28: introduction to Game Boy music and LSDJ

LSDJ: commands

“Commands can be used to do all sorts of things in phrases and tables.”

- LSDJ manual

A: Table Start/Stop H: Hop S: Sweep/ShapeB: MayBe K: Kill Note T: TempoC: Chord L: Slide V: VibratoD: Delay M: Master Volume W: WaveE: Amplitude Envelope O: Set Output Z: RandomiZeF: Wave Frame/Finetune P: Pitch BendG: Groove Select R: Retrig/Resync

Page 29: introduction to Game Boy music and LSDJ

LSDJ: commands — C: Chord

• plays arpeggiated chords• adds up to 2 specified semitones, for example:

• C47: 0, 4, 7, 0, 4, 7, . . . (major chord)• C37: 0, 3, 7, 0, 3, 7, . . . (minor chord)• C10: 0, 1, 0, 1, . . .

• arpeggiation speed is controlled by the cmd/rate instrument setting

Page 30: introduction to Game Boy music and LSDJ

LSDJ: commands — V: Vibrato

• modulates the instrument’s pitch• first digit: speed• second digit: depth• modulation speed and shape are

controlled by the pitch instrumentsetting

depth semitones0 0.1251 0.252 0.3753 0.54 0.755 16 1.57 28 2.59 3A 3.5B 4C 5D 6E 7F 8

Page 31: introduction to Game Boy music and LSDJ

LSDJ: commands — B: MayBe

• plays a note some of the time• first digit: probability for left kit• second digit: probability for right kit• 0 = never play, F = always play• for non-kit instruments, the higher digit applies

Page 32: introduction to Game Boy music and LSDJ

LSDJ: learning commands

• remember that you can press A, A ona command to view a short help textfor it

• experiment!

Page 33: introduction to Game Boy music and LSDJ

LSDJ: table screen• a table is a sequence of volume

changes, transposes and commands• can run on every note of an instrument

or be started with the A command• instruments have two table modes:

• play: advance through the table at aconstant rate (can be changed withthe G command)

• step: advance one step for every noteplayed

←/↓/↑/→ move cursor

A + ←/↓/↑/→ edit parameter

B + ←/↓/↑/→ switch between tables

Page 34: introduction to Game Boy music and LSDJ

LSDJ: project screen

• global settings and song management• tempo• global transpose• synchronize to other devices

↓/↑ move cursor

A + ←/→ edit parameter

A perform action

Page 35: introduction to Game Boy music and LSDJ

LSDJ: project screen (2)

• chain cloning mode• interface look• key repeat• note prelisten• help screen• duplicate song and instrument cleanup• song loading and saving

Page 36: introduction to Game Boy music and LSDJ

LSDJ: file screen

• load, save and erase songs• start a new song by loading (empty)• “blocks used” shows how much of the

available space is in use

←/↓/↑/→ move cursor

A perform action

B return to project screen

Page 37: introduction to Game Boy music and LSDJ

LSDJ: groove screen

• allows creating different rhythms• a groove defines how long each step is• can be applied to phrases and tables (G

command)• phrases use groove 0 by default

←/↓/↑/→ move cursor

A + ←/↓/↑/→ edit parameter

A + ↓/↑ edit swing %

B + ←/↓/↑/→ switch between grooves

Page 38: introduction to Game Boy music and LSDJ

LSDJ: copy and paste

• most screens support copying and pasting:

B + A cut value at cursor

SELECT + B, ←/↓/↑/→ highlight block

SELECT + (B, B) highlight column or row

SELECT + (B, B, B) highlight entire screen

B (when highlighted) copy

SELECT + A (when highlighted) cut

SELECT + A paste

Page 39: introduction to Game Boy music and LSDJ

LSDJ: cloning

• chains, phrases, instruments and phrases can be cloned• useful for making variations• two clone modes (set in project screen):

• deep: cloning a chain clones the phrases in it• slim: cloning a chain reuses the same phrases

SELECT + (B, A) clone item at cursor

Page 40: introduction to Game Boy music and LSDJ

LSDJ: going further

• manual:https://www.littlesounddj.com/lsd/latest/documentation/

• fandom wiki:https://littlesounddj.fandom.com/wiki/Little_Sound_Dj

• extra tools:https://www.littlesounddj.com/lsd/latest/