Description Usage Arguments Value References Examples
Generate a 12-tone matrix using Arnold Schoenberg's serialism technique.
1 | schoenberg(prime0 = NULL, tone0 = NULL, accidentals = NULL, seed = NULL)
|
prime0 |
Optional: Vector of notes or numeric note indices to use in forming the matrix.
If the vector is numeric, the values must span from 0 - 11, where 0 is the lead tone (unless |
tone0 |
Optional: Name of the note to use as the lead tone of the matrix. |
accidentals |
Optional: Character scalar that determines whether accidentals should be represented as sharps ( |
seed |
Optional: Seed value to use in generating random matrices. Set this to a numeric value when matrices need to be reproducible. |
A 12-tone matrix of the "schoenberg" class with prime series on the rows and inverted series on the columns.
Schoenberg, A. (1923). Fünf klavierstücke [Five piano pieces], Op. 23, Movement 5: Walzer. Copenhagen, Denmark: Wilhelm Hansen.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | #### Generating Random 12-Tone Matrices ####
# The schoenberg() function can generate completely random 12-tone matrices:
schoenberg()
# Or you can specify a seed value so that your matrices are reproducible:
schoenberg(seed = 42)
#### Generating 12-Tone Matrices From a Specified Vector of Notes ####
# For illustration, let's create two equivalent vectors of note information
# for Schoenberg's first 12-tone serialist work: Walzer from Opus 23.
# First, let's create one vector with note labels:
prime01 <- c("C#", "A", "B", "G", "Ab", "F#", "A#", "D", "E", "Eb", "C", "F")
# Next, let's create an equivalent vector using numeric indices instead of notes:
prime02 <- c(1, 9, 11, 7, 8, 6, 10, 2, 4, 3, 0, 5)
# Now, let's generate a 12-tone matrix from our note-based vector:
schoenberg(prime0 = prime01)
# And let's generate a matrix from our number-based vector:
schoenberg(prime0 = prime02)
# Schoenberg used a mix of sharps and flats in his notation, wich lost in translation with the
# numeric-index approach. Let's re-create our note-based matrix using only sharps:
schoenberg(prime0 = prime01, accidentals = "sharps")
# These two approaches produce identical outputs:
all(schoenberg(prime0 = prime01, accidentals = "sharps") == schoenberg(prime0 = prime02))
# Matrices can also be generated with flat notation by setting accidentals to "flats":
schoenberg(prime0 = prime01, accidentals = "flats")
schoenberg(prime0 = prime02, accidentals = "flats")
# As before, these two approaches produce identical outputs:
all(schoenberg(prime0 = prime01, accidentals = "flats") ==
schoenberg(prime0 = prime02, accidentals = "flats"))
# We can also manipulate the output of the schoenberg() function
# so that the lead tone of the matrix is a particular note.
# This works with either note-based or number-based input vectors:
schoenberg(prime0 = prime01, tone0 = "C", accidentals = "sharps")
schoenberg(prime0 = prime02, tone0 = "C")
# And, as before, these two approaches produce identical outputs:
all(schoenberg(prime0 = prime01, tone0 = "C", accidentals = "sharps") ==
schoenberg(prime0 = prime02, tone0 = "C"))
|
----------------------------------------------------- schoenberg version 2.0.2 --
Please report any bugs or feature requests to github.com/jadahlke/schoenberg/issues
I0 I10 I7 I2 I4 I9 I5 I6 I8 I3 I1 I11
P0 G F D A B E C C# D# A# G# F# R0
P2 A G E B C# F# D D# F C A# G# R2
P5 C A# G D E A F F# G# D# C# B R5
P10 F D# C G A D A# B C# G# F# E R10
P8 D# C# A# F G C G# A B F# E D R8
P3 A# G# F C D G D# E F# C# B A R3
P7 D C A E F# B G G# A# F D# C# R7
P6 C# B G# D# F A# F# G A E D C R6
P4 B A F# C# D# G# E F G D C A# R4
P9 E D B F# G# C# A A# C G F D# R9
P11 F# E C# G# A# D# B C D A G F R11
P1 G# F# D# A# C F C# D E B A G R1
RI0 RI10 RI7 RI2 RI4 RI9 RI5 RI6 RI8 RI3 RI1 RI11
I0 I4 I11 I8 I1 I3 I7 I5 I9 I2 I10 I6
P0 C E B G# C# D# G F A D A# F# R0
P8 G# C G E A B D# C# F A# F# D R8
P1 C# F C A D E G# F# A# D# B G R1
P4 E G# D# C F G B A C# F# D A# R4
P11 B D# A# G C D F# E G# C# A F R11
P9 A C# G# F A# C E D F# B G D# R9
P5 F A E C# F# G# C A# D G D# B R5
P7 G B F# D# G# A# D C E A F C# R7
P3 D# G D B E F# A# G# C F C# A R3
P10 A# D A F# B C# F D# G C G# E R10
P2 D F# C# A# D# F A G B E C G# R2
P6 F# A# F D G A C# B D# G# E C R6
RI0 RI4 RI11 RI8 RI1 RI3 RI7 RI5 RI9 RI2 RI10 RI6
I0 I8 I10 I6 I7 I5 I9 I1 I3 I2 I11 I4
P0 C# A B G Ab F# A# D E Eb C F R0
P4 F C# Eb B C A# D F# Ab G E A R4
P2 Eb B C# A A# Ab C E F# F D G R2
P6 G Eb F C# D C E Ab A# A F# B R6
P5 F# D E C C# B Eb G A Ab F A# R5
P7 Ab E F# D Eb C# F A B A# G C R7
P3 E C D A# B A C# F G F# Eb Ab R3
P11 C Ab A# F# G F A C# Eb D B E R11
P9 A# F# Ab E F Eb G B C# C A D R9
P10 B G A F F# E Ab C D C# A# Eb R10
P1 D A# C Ab A G B Eb F E C# F# R1
P8 A F G Eb E D F# A# C B Ab C# R8
RI0 RI8 RI10 RI6 RI7 RI5 RI9 RI1 RI3 RI2 RI11 RI4
I0 I8 I10 I6 I7 I5 I9 I1 I3 I2 I11 I4
P0 C# A B G G# F# A# D E D# C F R0
P4 F C# D# B C A# D F# G# G E A R4
P2 D# B C# A A# G# C E F# F D G R2
P6 G D# F C# D C E G# A# A F# B R6
P5 F# D E C C# B D# G A G# F A# R5
P7 G# E F# D D# C# F A B A# G C R7
P3 E C D A# B A C# F G F# D# G# R3
P11 C G# A# F# G F A C# D# D B E R11
P9 A# F# G# E F D# G B C# C A D R9
P10 B G A F F# E G# C D C# A# D# R10
P1 D A# C G# A G B D# F E C# F# R1
P8 A F G D# E D F# A# C B G# C# R8
RI0 RI8 RI10 RI6 RI7 RI5 RI9 RI1 RI3 RI2 RI11 RI4
I0 I8 I10 I6 I7 I5 I9 I1 I3 I2 I11 I4
P0 C# A B G G# F# A# D E D# C F R0
P4 F C# D# B C A# D F# G# G E A R4
P2 D# B C# A A# G# C E F# F D G R2
P6 G D# F C# D C E G# A# A F# B R6
P5 F# D E C C# B D# G A G# F A# R5
P7 G# E F# D D# C# F A B A# G C R7
P3 E C D A# B A C# F G F# D# G# R3
P11 C G# A# F# G F A C# D# D B E R11
P9 A# F# G# E F D# G B C# C A D R9
P10 B G A F F# E G# C D C# A# D# R10
P1 D A# C G# A G B D# F E C# F# R1
P8 A F G D# E D F# A# C B G# C# R8
RI0 RI8 RI10 RI6 RI7 RI5 RI9 RI1 RI3 RI2 RI11 RI4
[1] TRUE
I0 I8 I10 I6 I7 I5 I9 I1 I3 I2 I11 I4
P0 Db A B G Ab Gb Bb D E Eb C F R0
P4 F Db Eb B C Bb D Gb Ab G E A R4
P2 Eb B Db A Bb Ab C E Gb F D G R2
P6 G Eb F Db D C E Ab Bb A Gb B R6
P5 Gb D E C Db B Eb G A Ab F Bb R5
P7 Ab E Gb D Eb Db F A B Bb G C R7
P3 E C D Bb B A Db F G Gb Eb Ab R3
P11 C Ab Bb Gb G F A Db Eb D B E R11
P9 Bb Gb Ab E F Eb G B Db C A D R9
P10 B G A F Gb E Ab C D Db Bb Eb R10
P1 D Bb C Ab A G B Eb F E Db Gb R1
P8 A F G Eb E D Gb Bb C B Ab Db R8
RI0 RI8 RI10 RI6 RI7 RI5 RI9 RI1 RI3 RI2 RI11 RI4
I0 I8 I10 I6 I7 I5 I9 I1 I3 I2 I11 I4
P0 Db A B G Ab Gb Bb D E Eb C F R0
P4 F Db Eb B C Bb D Gb Ab G E A R4
P2 Eb B Db A Bb Ab C E Gb F D G R2
P6 G Eb F Db D C E Ab Bb A Gb B R6
P5 Gb D E C Db B Eb G A Ab F Bb R5
P7 Ab E Gb D Eb Db F A B Bb G C R7
P3 E C D Bb B A Db F G Gb Eb Ab R3
P11 C Ab Bb Gb G F A Db Eb D B E R11
P9 Bb Gb Ab E F Eb G B Db C A D R9
P10 B G A F Gb E Ab C D Db Bb Eb R10
P1 D Bb C Ab A G B Eb F E Db Gb R1
P8 A F G Eb E D Gb Bb C B Ab Db R8
RI0 RI8 RI10 RI6 RI7 RI5 RI9 RI1 RI3 RI2 RI11 RI4
[1] TRUE
I0 I8 I10 I6 I7 I5 I9 I1 I3 I2 I11 I4
P0 C G# A# F# G F A C# D# D B E R0
P4 E C D A# B A C# F G F# D# G# R4
P2 D A# C G# A G B D# F E C# F# R2
P6 F# D E C C# B D# G A G# F A# R6
P5 F C# D# B C A# D F# G# G E A R5
P7 G D# F C# D C E G# A# A F# B R7
P3 D# B C# A A# G# C E F# F D G R3
P11 B G A F F# E G# C D C# A# D# R11
P9 A F G D# E D F# A# C B G# C# R9
P10 A# F# G# E F D# G B C# C A D R10
P1 C# A B G G# F# A# D E D# C F R1
P8 G# E F# D D# C# F A B A# G C R8
RI0 RI8 RI10 RI6 RI7 RI5 RI9 RI1 RI3 RI2 RI11 RI4
I0 I8 I10 I6 I7 I5 I9 I1 I3 I2 I11 I4
P0 C G# A# F# G F A C# D# D B E R0
P4 E C D A# B A C# F G F# D# G# R4
P2 D A# C G# A G B D# F E C# F# R2
P6 F# D E C C# B D# G A G# F A# R6
P5 F C# D# B C A# D F# G# G E A R5
P7 G D# F C# D C E G# A# A F# B R7
P3 D# B C# A A# G# C E F# F D G R3
P11 B G A F F# E G# C D C# A# D# R11
P9 A F G D# E D F# A# C B G# C# R9
P10 A# F# G# E F D# G B C# C A D R10
P1 C# A B G G# F# A# D E D# C F R1
P8 G# E F# D D# C# F A B A# G C R8
RI0 RI8 RI10 RI6 RI7 RI5 RI9 RI1 RI3 RI2 RI11 RI4
[1] TRUE
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.