Radium: A Music Editor Inspired by the Music Tracker Kjetil - - PowerPoint PPT Presentation

radium a music editor inspired by the music tracker
SMART_READER_LITE
LIVE PREVIEW

Radium: A Music Editor Inspired by the Music Tracker Kjetil - - PowerPoint PPT Presentation

Radium: A Music Editor Inspired by the Music Tracker Kjetil Matheussen Norwegian Center for Technology in Music and the Arts (NOTAM) May 3, 2014 Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 1 / 16


slide-1
SLIDE 1

Radium: A Music Editor Inspired by the Music Tracker

Kjetil Matheussen

Norwegian Center for Technology in Music and the Arts (NOTAM)

May 3, 2014

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 1 / 16

slide-2
SLIDE 2

Outline

1 Introduction to Radium 2 Introduction to music trackers 3 How Radium is different from a music tracker 4 Radium Interface

The editor The modular mixer The compressor interface

5 STK Instruments 6 Common Music Notation 7 Embedding Pure Data 8 Smooth scrolling 9 Acknowledgements

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 2 / 16

slide-3
SLIDE 3

Introduction to Radium

Introduction to Radium

◮ A music editor.

◮ Made for composing music. ◮ Interface inspired by the tracker interface.

  • 1. First stable version released in 2000, for AmigaOS.
  • 2. Pre-alpha version for Linux available in 2001
  • 3. First usable version for Linux available in 2005. Called “E-Radium”.
  • 4. First non-alpha native Linux version released in 2012.

◮ The two major dependencies for Radium are Jack and Qt.

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 3 / 16

slide-4
SLIDE 4

Introduction to Radium

Introduction to Radium

◮ A music editor.

◮ Made for composing music. ◮ Interface inspired by the tracker interface.

  • 1. First stable version released in 2000, for AmigaOS.
  • 2. Pre-alpha version for Linux available in 2001
  • 3. First usable version for Linux available in 2005. Called “E-Radium”.
  • 4. First non-alpha native Linux version released in 2012.

◮ The two major dependencies for Radium are Jack and Qt.

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 3 / 16

slide-5
SLIDE 5

Introduction to Radium

Introduction to Radium

◮ A music editor.

◮ Made for composing music. ◮ Interface inspired by the tracker interface.

  • 1. First stable version released in 2000, for AmigaOS.
  • 2. Pre-alpha version for Linux available in 2001
  • 3. First usable version for Linux available in 2005. Called “E-Radium”.
  • 4. First non-alpha native Linux version released in 2012.

◮ The two major dependencies for Radium are Jack and Qt.

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 3 / 16

slide-6
SLIDE 6

Introduction to Radium

Introduction to Radium

◮ A music editor.

◮ Made for composing music. ◮ Interface inspired by the tracker interface.

  • 1. First stable version released in 2000, for AmigaOS.
  • 2. Pre-alpha version for Linux available in 2001
  • 3. First usable version for Linux available in 2005. Called “E-Radium”.
  • 4. First non-alpha native Linux version released in 2012.

◮ The two major dependencies for Radium are Jack and Qt.

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 3 / 16

slide-7
SLIDE 7

Introduction to Radium

Introduction to Radium

◮ A music editor.

◮ Made for composing music. ◮ Interface inspired by the tracker interface.

  • 1. First stable version released in 2000, for AmigaOS.
  • 2. Pre-alpha version for Linux available in 2001
  • 3. First usable version for Linux available in 2005. Called “E-Radium”.
  • 4. First non-alpha native Linux version released in 2012.

◮ The two major dependencies for Radium are Jack and Qt.

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 3 / 16

slide-8
SLIDE 8

Introduction to Radium

Introduction to Radium

◮ A music editor.

◮ Made for composing music. ◮ Interface inspired by the tracker interface.

  • 1. First stable version released in 2000, for AmigaOS.
  • 2. Pre-alpha version for Linux available in 2001
  • 3. First usable version for Linux available in 2005. Called “E-Radium”.
  • 4. First non-alpha native Linux version released in 2012.

◮ The two major dependencies for Radium are Jack and Qt.

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 3 / 16

slide-9
SLIDE 9

Introduction to Radium

Introduction to Radium

◮ A music editor.

◮ Made for composing music. ◮ Interface inspired by the tracker interface.

  • 1. First stable version released in 2000, for AmigaOS.
  • 2. Pre-alpha version for Linux available in 2001
  • 3. First usable version for Linux available in 2005. Called “E-Radium”.
  • 4. First non-alpha native Linux version released in 2012.

◮ The two major dependencies for Radium are Jack and Qt.

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 3 / 16

slide-10
SLIDE 10

Introduction to Radium

Introduction to Radium

◮ A music editor.

◮ Made for composing music. ◮ Interface inspired by the tracker interface.

  • 1. First stable version released in 2000, for AmigaOS.
  • 2. Pre-alpha version for Linux available in 2001
  • 3. First usable version for Linux available in 2005. Called “E-Radium”.
  • 4. First non-alpha native Linux version released in 2012.

◮ The two major dependencies for Radium are Jack and Qt.

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 3 / 16

slide-11
SLIDE 11

Introduction to Radium

Introduction to Radium

◮ A music editor.

◮ Made for composing music. ◮ Interface inspired by the tracker interface.

  • 1. First stable version released in 2000, for AmigaOS.
  • 2. Pre-alpha version for Linux available in 2001
  • 3. First usable version for Linux available in 2005. Called “E-Radium”.
  • 4. First non-alpha native Linux version released in 2012.

◮ The two major dependencies for Radium are Jack and Qt.

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 3 / 16

slide-12
SLIDE 12

Introduction to Radium

Introduction to Radium

◮ A music editor.

◮ Made for composing music. ◮ Interface inspired by the tracker interface.

  • 1. First stable version released in 2000, for AmigaOS.
  • 2. Pre-alpha version for Linux available in 2001
  • 3. First usable version for Linux available in 2005. Called “E-Radium”.
  • 4. First non-alpha native Linux version released in 2012.

◮ The two major dependencies for Radium are Jack and Qt.

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 3 / 16

slide-13
SLIDE 13

Introduction to Music Trackers

Introduction to Music Trackers

◮ A type of music editor ◮ Editor is a two-dimentional table

◮ The cells in this table only contains text. ◮ tracks as columns ◮ lines as rows (time)

◮ Time goes downwards ◮ Cursor always in a fixed position in the middle of the screen ◮ 80s and 90s on the Amiga and PC. ◮ First tracker called Ultimate Soundtracker, Karsten Obarski, 1987.

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 4 / 16

slide-14
SLIDE 14

Introduction to Music Trackers

Introduction to Music Trackers

◮ A type of music editor ◮ Editor is a two-dimentional table

◮ The cells in this table only contains text. ◮ tracks as columns ◮ lines as rows (time)

◮ Time goes downwards ◮ Cursor always in a fixed position in the middle of the screen ◮ 80s and 90s on the Amiga and PC. ◮ First tracker called Ultimate Soundtracker, Karsten Obarski, 1987.

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 4 / 16

slide-15
SLIDE 15

Introduction to Music Trackers

Introduction to Music Trackers

◮ A type of music editor ◮ Editor is a two-dimentional table

◮ The cells in this table only contains text. ◮ tracks as columns ◮ lines as rows (time)

◮ Time goes downwards ◮ Cursor always in a fixed position in the middle of the screen ◮ 80s and 90s on the Amiga and PC. ◮ First tracker called Ultimate Soundtracker, Karsten Obarski, 1987.

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 4 / 16

slide-16
SLIDE 16

Introduction to Music Trackers

Introduction to Music Trackers

◮ A type of music editor ◮ Editor is a two-dimentional table

◮ The cells in this table only contains text. ◮ tracks as columns ◮ lines as rows (time)

◮ Time goes downwards ◮ Cursor always in a fixed position in the middle of the screen ◮ 80s and 90s on the Amiga and PC. ◮ First tracker called Ultimate Soundtracker, Karsten Obarski, 1987.

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 4 / 16

slide-17
SLIDE 17

Introduction to Music Trackers

Introduction to Music Trackers

◮ A type of music editor ◮ Editor is a two-dimentional table

◮ The cells in this table only contains text. ◮ tracks as columns ◮ lines as rows (time)

◮ Time goes downwards ◮ Cursor always in a fixed position in the middle of the screen ◮ 80s and 90s on the Amiga and PC. ◮ First tracker called Ultimate Soundtracker, Karsten Obarski, 1987.

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 4 / 16

slide-18
SLIDE 18

Introduction to Music Trackers

Introduction to Music Trackers

◮ A type of music editor ◮ Editor is a two-dimentional table

◮ The cells in this table only contains text. ◮ tracks as columns ◮ lines as rows (time)

◮ Time goes downwards ◮ Cursor always in a fixed position in the middle of the screen ◮ 80s and 90s on the Amiga and PC. ◮ First tracker called Ultimate Soundtracker, Karsten Obarski, 1987.

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 4 / 16

slide-19
SLIDE 19

Introduction to Music Trackers

Introduction to Music Trackers

◮ A type of music editor ◮ Editor is a two-dimentional table

◮ The cells in this table only contains text. ◮ tracks as columns ◮ lines as rows (time)

◮ Time goes downwards ◮ Cursor always in a fixed position in the middle of the screen ◮ 80s and 90s on the Amiga and PC. ◮ First tracker called Ultimate Soundtracker, Karsten Obarski, 1987.

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 4 / 16

slide-20
SLIDE 20

Introduction to Music Trackers

Introduction to Music Trackers

◮ A type of music editor ◮ Editor is a two-dimentional table

◮ The cells in this table only contains text. ◮ tracks as columns ◮ lines as rows (time)

◮ Time goes downwards ◮ Cursor always in a fixed position in the middle of the screen ◮ 80s and 90s on the Amiga and PC. ◮ First tracker called Ultimate Soundtracker, Karsten Obarski, 1987.

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 4 / 16

slide-21
SLIDE 21

Introduction to Music Trackers

Introduction to Music Trackers

◮ A type of music editor ◮ Editor is a two-dimentional table

◮ The cells in this table only contains text. ◮ tracks as columns ◮ lines as rows (time)

◮ Time goes downwards ◮ Cursor always in a fixed position in the middle of the screen ◮ 80s and 90s on the Amiga and PC. ◮ First tracker called Ultimate Soundtracker, Karsten Obarski, 1987.

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 4 / 16

slide-22
SLIDE 22

Introduction to Music Trackers

Introduction to Music Trackers

◮ A type of music editor ◮ Editor is a two-dimentional table

◮ The cells in this table only contains text. ◮ tracks as columns ◮ lines as rows (time)

◮ Time goes downwards ◮ Cursor always in a fixed position in the middle of the screen ◮ 80s and 90s on the Amiga and PC. ◮ First tracker called Ultimate Soundtracker, Karsten Obarski, 1987.

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 4 / 16

slide-23
SLIDE 23

How Radium is different from a music tracker

How Radium is different from a music tracker

◮ Using graphical elements instead of text ◮ Allowing any number of events to be placed anywhere

◮ A line in Radium is essentially just a graphical hint.

◮ Is Radium a tracker?

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 5 / 16

slide-24
SLIDE 24

How Radium is different from a music tracker

How Radium is different from a music tracker

◮ Using graphical elements instead of text ◮ Allowing any number of events to be placed anywhere

◮ A line in Radium is essentially just a graphical hint.

◮ Is Radium a tracker?

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 5 / 16

slide-25
SLIDE 25

How Radium is different from a music tracker

How Radium is different from a music tracker

◮ Using graphical elements instead of text ◮ Allowing any number of events to be placed anywhere

◮ A line in Radium is essentially just a graphical hint.

◮ Is Radium a tracker?

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 5 / 16

slide-26
SLIDE 26

How Radium is different from a music tracker

How Radium is different from a music tracker

◮ Using graphical elements instead of text ◮ Allowing any number of events to be placed anywhere

◮ A line in Radium is essentially just a graphical hint.

◮ Is Radium a tracker?

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 5 / 16

slide-27
SLIDE 27

How Radium is different from a music tracker

How Radium is different from a music tracker

◮ Using graphical elements instead of text ◮ Allowing any number of events to be placed anywhere

◮ A line in Radium is essentially just a graphical hint.

◮ Is Radium a tracker?

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 5 / 16

slide-28
SLIDE 28

Radium Interface The editor

Editor Features 1/2

◮ Time-varying volume changes ◮ Time-varying tempo changes ◮ Time-varying pitch changes ◮ Automation ◮ Micro-tonality ◮ Line splitting ◮ Zoom in out ◮ Undo/redo

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 6 / 16

slide-29
SLIDE 29

Radium Interface The editor

Editor Features 1/2

◮ Time-varying volume changes ◮ Time-varying tempo changes ◮ Time-varying pitch changes ◮ Automation ◮ Micro-tonality ◮ Line splitting ◮ Zoom in out ◮ Undo/redo

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 6 / 16

slide-30
SLIDE 30

Radium Interface The editor

Editor Features 1/2

◮ Time-varying volume changes ◮ Time-varying tempo changes ◮ Time-varying pitch changes ◮ Automation ◮ Micro-tonality ◮ Line splitting ◮ Zoom in out ◮ Undo/redo

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 6 / 16

slide-31
SLIDE 31

Radium Interface The editor

Editor Features 1/2

◮ Time-varying volume changes ◮ Time-varying tempo changes ◮ Time-varying pitch changes ◮ Automation ◮ Micro-tonality ◮ Line splitting ◮ Zoom in out ◮ Undo/redo

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 6 / 16

slide-32
SLIDE 32

Radium Interface The editor

Editor Features 1/2

◮ Time-varying volume changes ◮ Time-varying tempo changes ◮ Time-varying pitch changes ◮ Automation ◮ Micro-tonality ◮ Line splitting ◮ Zoom in out ◮ Undo/redo

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 6 / 16

slide-33
SLIDE 33

Radium Interface The editor

Editor Features 1/2

◮ Time-varying volume changes ◮ Time-varying tempo changes ◮ Time-varying pitch changes ◮ Automation ◮ Micro-tonality ◮ Line splitting ◮ Zoom in out ◮ Undo/redo

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 6 / 16

slide-34
SLIDE 34

Radium Interface The editor

Editor Features 1/2

◮ Time-varying volume changes ◮ Time-varying tempo changes ◮ Time-varying pitch changes ◮ Automation ◮ Micro-tonality ◮ Line splitting ◮ Zoom in out ◮ Undo/redo

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 6 / 16

slide-35
SLIDE 35

Radium Interface The editor

Editor Features 1/2

◮ Time-varying volume changes ◮ Time-varying tempo changes ◮ Time-varying pitch changes ◮ Automation ◮ Micro-tonality ◮ Line splitting ◮ Zoom in out ◮ Undo/redo

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 6 / 16

slide-36
SLIDE 36

Radium Interface The editor

Editor Features 1/2

◮ Time-varying volume changes ◮ Time-varying tempo changes ◮ Time-varying pitch changes ◮ Automation ◮ Micro-tonality ◮ Line splitting ◮ Zoom in out ◮ Undo/redo

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 6 / 16

slide-37
SLIDE 37

Radium Interface The editor

Editor features 2/2

◮ Glissando ◮ Invert ◮ Backwards ◮ Scripting ◮ Color configuration

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 7 / 16

slide-38
SLIDE 38

Radium Interface The editor

Editor features 2/2

◮ Glissando ◮ Invert ◮ Backwards ◮ Scripting ◮ Color configuration

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 7 / 16

slide-39
SLIDE 39

Radium Interface The editor

Editor features 2/2

◮ Glissando ◮ Invert ◮ Backwards ◮ Scripting ◮ Color configuration

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 7 / 16

slide-40
SLIDE 40

Radium Interface The editor

Editor features 2/2

◮ Glissando ◮ Invert ◮ Backwards ◮ Scripting ◮ Color configuration

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 7 / 16

slide-41
SLIDE 41

Radium Interface The editor

Editor features 2/2

◮ Glissando ◮ Invert ◮ Backwards ◮ Scripting ◮ Color configuration

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 7 / 16

slide-42
SLIDE 42

Radium Interface The editor

Editor features 2/2

◮ Glissando ◮ Invert ◮ Backwards ◮ Scripting ◮ Color configuration

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 7 / 16

slide-43
SLIDE 43

Radium Interface The modular mixer

The modular mixer

◮ Connect audio ◮ Connect events

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 8 / 16

slide-44
SLIDE 44

Radium Interface The modular mixer

The modular mixer

◮ Connect audio ◮ Connect events

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 8 / 16

slide-45
SLIDE 45

Radium Interface The modular mixer

The modular mixer

◮ Connect audio ◮ Connect events

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 8 / 16

slide-46
SLIDE 46

Radium Interface The compressor interface

The compressor interface

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 9 / 16

slide-47
SLIDE 47

STK Instruments

STK Instruments

◮ 20 STK instruments doing physical modeling (Cook/Scavone). ◮ Implementation by Romain Michon in the Faust language. ◮ Michon’s instruments have been slightly modified to be used as

instruments in Radium.

◮ Any Faust instrument that provides “gate”, “freq” and “gain” controls

can easily be used as polyphonic instruments in Radium.

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 10 / 16

slide-48
SLIDE 48

STK Instruments

STK Instruments

◮ 20 STK instruments doing physical modeling (Cook/Scavone). ◮ Implementation by Romain Michon in the Faust language. ◮ Michon’s instruments have been slightly modified to be used as

instruments in Radium.

◮ Any Faust instrument that provides “gate”, “freq” and “gain” controls

can easily be used as polyphonic instruments in Radium.

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 10 / 16

slide-49
SLIDE 49

STK Instruments

STK Instruments

◮ 20 STK instruments doing physical modeling (Cook/Scavone). ◮ Implementation by Romain Michon in the Faust language. ◮ Michon’s instruments have been slightly modified to be used as

instruments in Radium.

◮ Any Faust instrument that provides “gate”, “freq” and “gain” controls

can easily be used as polyphonic instruments in Radium.

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 10 / 16

slide-50
SLIDE 50

STK Instruments

STK Instruments

◮ 20 STK instruments doing physical modeling (Cook/Scavone). ◮ Implementation by Romain Michon in the Faust language. ◮ Michon’s instruments have been slightly modified to be used as

instruments in Radium.

◮ Any Faust instrument that provides “gate”, “freq” and “gain” controls

can easily be used as polyphonic instruments in Radium.

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 10 / 16

slide-51
SLIDE 51

STK Instruments

STK Instruments

◮ 20 STK instruments doing physical modeling (Cook/Scavone). ◮ Implementation by Romain Michon in the Faust language. ◮ Michon’s instruments have been slightly modified to be used as

instruments in Radium.

◮ Any Faust instrument that provides “gate”, “freq” and “gain” controls

can easily be used as polyphonic instruments in Radium.

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 10 / 16

slide-52
SLIDE 52

Common Music Notation

Common Music Notation

CMN: https://ccrma.stanford.edu/software/cmn/cmn/cmn.html Common lisp package for generating western style scores. CMN has support for Radium songs.

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 11 / 16

slide-53
SLIDE 53

Embedding Pure Data

Embedding Pure Data

◮ Uses the wrapper code in libpd to embed Pd. ◮ Running several Pd instances simultaneously are achieved by loading

each libpd instance with the RTLD LOCAL flag.

(Available as a separate library called libpds: https://github.com/kmatheussen/libpd) ◮ Features:

  • 1. Process audio
  • 2. Controllers: Int, Float and Bool
  • 3. Process Note events (frame accurately)
  • 4. Process Velocity events (frame accurately)
  • 5. Process Pitch events (frame accurately)

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 12 / 16

slide-54
SLIDE 54

Embedding Pure Data

Embedding Pure Data

◮ Uses the wrapper code in libpd to embed Pd. ◮ Running several Pd instances simultaneously are achieved by loading

each libpd instance with the RTLD LOCAL flag.

(Available as a separate library called libpds: https://github.com/kmatheussen/libpd) ◮ Features:

  • 1. Process audio
  • 2. Controllers: Int, Float and Bool
  • 3. Process Note events (frame accurately)
  • 4. Process Velocity events (frame accurately)
  • 5. Process Pitch events (frame accurately)

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 12 / 16

slide-55
SLIDE 55

Embedding Pure Data

Embedding Pure Data

◮ Uses the wrapper code in libpd to embed Pd. ◮ Running several Pd instances simultaneously are achieved by loading

each libpd instance with the RTLD LOCAL flag.

(Available as a separate library called libpds: https://github.com/kmatheussen/libpd) ◮ Features:

  • 1. Process audio
  • 2. Controllers: Int, Float and Bool
  • 3. Process Note events (frame accurately)
  • 4. Process Velocity events (frame accurately)
  • 5. Process Pitch events (frame accurately)

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 12 / 16

slide-56
SLIDE 56

Embedding Pure Data

Embedding Pure Data

◮ Uses the wrapper code in libpd to embed Pd. ◮ Running several Pd instances simultaneously are achieved by loading

each libpd instance with the RTLD LOCAL flag.

(Available as a separate library called libpds: https://github.com/kmatheussen/libpd) ◮ Features:

  • 1. Process audio
  • 2. Controllers: Int, Float and Bool
  • 3. Process Note events (frame accurately)
  • 4. Process Velocity events (frame accurately)
  • 5. Process Pitch events (frame accurately)

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 12 / 16

slide-57
SLIDE 57

Embedding Pure Data

Embedding Pure Data

◮ Uses the wrapper code in libpd to embed Pd. ◮ Running several Pd instances simultaneously are achieved by loading

each libpd instance with the RTLD LOCAL flag.

(Available as a separate library called libpds: https://github.com/kmatheussen/libpd) ◮ Features:

  • 1. Process audio
  • 2. Controllers: Int, Float and Bool
  • 3. Process Note events (frame accurately)
  • 4. Process Velocity events (frame accurately)
  • 5. Process Pitch events (frame accurately)

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 12 / 16

slide-58
SLIDE 58

Embedding Pure Data

Embedding Pure Data

◮ Uses the wrapper code in libpd to embed Pd. ◮ Running several Pd instances simultaneously are achieved by loading

each libpd instance with the RTLD LOCAL flag.

(Available as a separate library called libpds: https://github.com/kmatheussen/libpd) ◮ Features:

  • 1. Process audio
  • 2. Controllers: Int, Float and Bool
  • 3. Process Note events (frame accurately)
  • 4. Process Velocity events (frame accurately)
  • 5. Process Pitch events (frame accurately)

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 12 / 16

slide-59
SLIDE 59

Embedding Pure Data

Embedding Pure Data

◮ Uses the wrapper code in libpd to embed Pd. ◮ Running several Pd instances simultaneously are achieved by loading

each libpd instance with the RTLD LOCAL flag.

(Available as a separate library called libpds: https://github.com/kmatheussen/libpd) ◮ Features:

  • 1. Process audio
  • 2. Controllers: Int, Float and Bool
  • 3. Process Note events (frame accurately)
  • 4. Process Velocity events (frame accurately)
  • 5. Process Pitch events (frame accurately)

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 12 / 16

slide-60
SLIDE 60

Embedding Pure Data

Embedding Pure Data

◮ Uses the wrapper code in libpd to embed Pd. ◮ Running several Pd instances simultaneously are achieved by loading

each libpd instance with the RTLD LOCAL flag.

(Available as a separate library called libpds: https://github.com/kmatheussen/libpd) ◮ Features:

  • 1. Process audio
  • 2. Controllers: Int, Float and Bool
  • 3. Process Note events (frame accurately)
  • 4. Process Velocity events (frame accurately)
  • 5. Process Pitch events (frame accurately)

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 12 / 16

slide-61
SLIDE 61

Embedding Pure Data

Embedding Pure Data

◮ Uses the wrapper code in libpd to embed Pd. ◮ Running several Pd instances simultaneously are achieved by loading

each libpd instance with the RTLD LOCAL flag.

(Available as a separate library called libpds: https://github.com/kmatheussen/libpd) ◮ Features:

  • 1. Process audio
  • 2. Controllers: Int, Float and Bool
  • 3. Process Note events (frame accurately)
  • 4. Process Velocity events (frame accurately)
  • 5. Process Pitch events (frame accurately)

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 12 / 16

slide-62
SLIDE 62

Smooth scrolling

Smooth scrolling

  • 1. Using OpenGL
  • 2. Screen is updated each vertical blank.
  • 3. Painting a frame at the wrong time is very noticable.

3.1 Because: Scrolling slowly in one direction.

  • 4. Adaptive timing: A parallel timing is performed in the graphics

thread.

4.1 This parallel timing tries to match the timing of the audio. The difference between those two are smoothed for every redraw. 4.2 Reason: The graphical timer is not synchronized with the audio timer.

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 13 / 16

slide-63
SLIDE 63

Smooth scrolling

Smooth scrolling

  • 1. Using OpenGL
  • 2. Screen is updated each vertical blank.
  • 3. Painting a frame at the wrong time is very noticable.

3.1 Because: Scrolling slowly in one direction.

  • 4. Adaptive timing: A parallel timing is performed in the graphics

thread.

4.1 This parallel timing tries to match the timing of the audio. The difference between those two are smoothed for every redraw. 4.2 Reason: The graphical timer is not synchronized with the audio timer.

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 13 / 16

slide-64
SLIDE 64

Smooth scrolling

Smooth scrolling

  • 1. Using OpenGL
  • 2. Screen is updated each vertical blank.
  • 3. Painting a frame at the wrong time is very noticable.

3.1 Because: Scrolling slowly in one direction.

  • 4. Adaptive timing: A parallel timing is performed in the graphics

thread.

4.1 This parallel timing tries to match the timing of the audio. The difference between those two are smoothed for every redraw. 4.2 Reason: The graphical timer is not synchronized with the audio timer.

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 13 / 16

slide-65
SLIDE 65

Smooth scrolling

Smooth scrolling

  • 1. Using OpenGL
  • 2. Screen is updated each vertical blank.
  • 3. Painting a frame at the wrong time is very noticable.

3.1 Because: Scrolling slowly in one direction.

  • 4. Adaptive timing: A parallel timing is performed in the graphics

thread.

4.1 This parallel timing tries to match the timing of the audio. The difference between those two are smoothed for every redraw. 4.2 Reason: The graphical timer is not synchronized with the audio timer.

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 13 / 16

slide-66
SLIDE 66

Smooth scrolling

Smooth scrolling

  • 1. Using OpenGL
  • 2. Screen is updated each vertical blank.
  • 3. Painting a frame at the wrong time is very noticable.

3.1 Because: Scrolling slowly in one direction.

  • 4. Adaptive timing: A parallel timing is performed in the graphics

thread.

4.1 This parallel timing tries to match the timing of the audio. The difference between those two are smoothed for every redraw. 4.2 Reason: The graphical timer is not synchronized with the audio timer.

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 13 / 16

slide-67
SLIDE 67

Smooth scrolling

Smooth scrolling

  • 1. Using OpenGL
  • 2. Screen is updated each vertical blank.
  • 3. Painting a frame at the wrong time is very noticable.

3.1 Because: Scrolling slowly in one direction.

  • 4. Adaptive timing: A parallel timing is performed in the graphics

thread.

4.1 This parallel timing tries to match the timing of the audio. The difference between those two are smoothed for every redraw. 4.2 Reason: The graphical timer is not synchronized with the audio timer.

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 13 / 16

slide-68
SLIDE 68

Smooth scrolling

Smooth scrolling

  • 1. Using OpenGL
  • 2. Screen is updated each vertical blank.
  • 3. Painting a frame at the wrong time is very noticable.

3.1 Because: Scrolling slowly in one direction.

  • 4. Adaptive timing: A parallel timing is performed in the graphics

thread.

4.1 This parallel timing tries to match the timing of the audio. The difference between those two are smoothed for every redraw. 4.2 Reason: The graphical timer is not synchronized with the audio timer.

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 13 / 16

slide-69
SLIDE 69

Smooth scrolling

Smooth scrolling

  • 1. Using OpenGL
  • 2. Screen is updated each vertical blank.
  • 3. Painting a frame at the wrong time is very noticable.

3.1 Because: Scrolling slowly in one direction.

  • 4. Adaptive timing: A parallel timing is performed in the graphics

thread.

4.1 This parallel timing tries to match the timing of the audio. The difference between those two are smoothed for every redraw. 4.2 Reason: The graphical timer is not synchronized with the audio timer.

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 13 / 16

slide-70
SLIDE 70

Acknowledgements

Acknowledgements

Some of the people who have written code that’s used in Radium:

Fons Adriaensen: Zita REV1; Conrad Berh¨

  • rster/Josh Green/Peter Hanappe/David Henningsson/Pedro L´
  • pez-Cabanillas/Antoine Schmitt: Fluidsynth;

Michele Bosi: Visualisation Library; Hans Boehm/Ivan Maidanski: BDW-GC; Peter Brinkmann: libpd; Rui Nuno Capela: code from QTractor to auto-create Plugin GUI’s and show VST GUI’s; Paul Davis/Stephane Letz: Jack; Ray Donnelly/Alexey Pavlov/Roumen Petrov: MinGW Python; Dominique Fober/Albert Gr¨ af/Stephane Letz/Yann Orlarey/Julius O. Smith III: Faust; Krzysztof Foltman: The CALF multichorus LADSPA plugin; Grigor Iliev: The Soundfont parser in libgig; Giles Hall: The python-midi library; Bob Ham: Code from Jack-Rack to organize LADSPA plugins using liblrdf; Steve Harris: liblrdf; Erik de Castro Lopo: libsamplerate and libsndfile; Romain Michon: The Faust STK instruments; Paul Mineiro: Fast functions to calculate exponential and logarithmic values; Javier Serrano Polo: Vestige; Miller Puckette: Pd; Yann Orlarey: The Tapiir effect implementation and smooth delay code; Bjorn Roche: Memory barrier code; Gary P. Scavone: RtMidi; Bill Schottstaedt: CMN; Julius O. Smith III: Compressors/lookahead limiter/filters/equalizer; Hans-Christoph Steiner et al.: Pd-Extended; www.magnetophon.nl: The included Blowfish demo song; TumaGonx Zakkum: LADSPA plugins for Windows.

Specially thanks to Yann Orlarey for creating the Faust programming language and Julius O. Smith III for all the DSP code he has written for

  • Faust. Their work has saved me a lot of time and ensured professional

sound quality.

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 14 / 16

slide-71
SLIDE 71

Acknowledgements

Thanks for listening. Questions?

Radium homepage: http://users.notam02.no/~kjetism/radium/ Radium source code: https://github.com/kmatheussen/radium

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 15 / 16

slide-72
SLIDE 72

Acknowledgements

Features of the Beamer Class

◮ Normal LaTeX class. ◮ Easy overlays. ◮ No external programs needed.

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 16 / 16

slide-73
SLIDE 73

Acknowledgements

Features of the Beamer Class

◮ Normal LaTeX class. ◮ Easy overlays. ◮ No external programs needed.

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 16 / 16

slide-74
SLIDE 74

Acknowledgements

Features of the Beamer Class

◮ Normal LaTeX class. ◮ Easy overlays. ◮ No external programs needed.

Kjetil Matheussen (NOTAM) Radium: A Music Editor Inspired by the Music Tracker May 3, 2014 16 / 16