Neo-Riemannian Music Theory

Neo-Riemannian Music Theory

Are you a math nerd trying to get a grip on music theory? Are you already familiar with mathematical proofs? Then consider adding Neo-Riemannian to your toolbox

Heres a short video explanation,
https://www.youtube.com/watch?v=-L3-qtK4WkY

a longer version,
https://www.youtube.com/watch?v=TY4awNdZ1y8

and a visual example
https://www.youtube.com/watch?v=nidHgLA2UB0

Neo-Riemannian Music Theory Notes
A young musical theory set used to explain functions of narrow changes in existing songs 
Developed as a tool for musical analysis

"Major is a reflection of minor"
"Tonez Map"

music that uses triads without reference to key though "triadic atonality"
Triads are related only to one another through established voice-leading operations

operations (invertable)
Parallel: retained P5
Relative: retained M3
Leading: retained m3

secondary (combined operational steps)
N: preserves root
Slide: preserved median
Hexatonic...

Uniform Triadic Transformations (UTT)
+/-: +keeps or -inverse the mode of the input chord
x: n semitones to transition up if input is major
y: n semitones to move up if input is minor
x+y=n of semitones in scale (12)
u/Normal_Can8016 — 11 days ago

How To Make Any Sound From Scratch

_padfromscratchdesign: 
s("supersaw").set.mix("<[4 0 4 0] [~ 0] [4 2 1 0] [0 _ -1 _]>".sub(3).sub("<4 2 0>/32").as("n")).scale("Bb3:minor")
  // .wavetablePosition(slider(0,0,1,0.1)).wtenv(slider(0,0,1,0.1)) 
  .unison(slider(1,1,10,1)).detune(slider(0,0,1)).spread(slider(0,0,1,0.1)) //works with supported oscilators: supersaw
  .lpf(slider(10000,200,10000,100)).lpq(slider(1,1,10,1)).lpe(slider(0,"-5",5,0.5)).lpdepthfreq(slider(0,0,5000,100))
  .attack(slider(0.2,0,0.33,0.01)).decay(slider(0.27,0,0.5,0.01)).sustain(slider(0.6,0,1,0.1)).release(slider(0.3,0,0.75,0.1))
._scope()

_bassfromscratchdesign:
s("supersaw").set.mix("<0 4 2 1>/4".sub(0).sub("<4 2 0>/32").as("n")).scale("Bb2:minor")
  .pan(slider(0.5,0,1,0.1)).gain(slider(1,0,1,0.1))
  .unison(slider(4,1,10,1)).detune(slider(0.421,0,1)).spread(slider(0.2,0,1,0.1)) //works with supported oscilators: supersaw
  .lpf(slider(10,10,1000,10)).lpq(slider(1,1,10,1)).lpe(slider(0,"-5",5,0.5)).lpdepthfreq(slider(0,0,5000,100))
  .attack(slider(0.02,0,0.33,0.01)).decay(slider(0.15,0,0.5,0.01)).sustain(slider(0.6,0,1,0.1)).release(slider(0.1,0,0.75,0.1))

  // .lfo({c:"gain",s:1,dep:3,sk:slider(0.5,0,1,0.1)})
  // .env({c:"lpf",s:10,dr:slider(120,10,500,10),att:0.05,dec:0.2,sus:0.1,rel:0.15})
._scope()

_subsinebass:
s("sine").set.mix("<0 4 2 1>/4".sub(0).sub("<4 2 0>/32").as("n")).scale("Bb1:minor")
  .distort(slider(2.915,0,5)).distorttype("sinefold").distortvol(slider(0.7,0.4,1,0.1))
  .lpf(slider(800,200,1000,100)).lpq(slider(1,1,10,1)).lpe(slider(0,"-5",5,0.5)).lpdepthfreq(slider(0,0,5000,100))
  .attack(slider(0,0,0.33,0.01)).decay(slider(0.5,0,0.5,0.01)).sustain(slider(0.5,0,1,0.1)).release(slider(0.3,0,0.75,0.1))
._scope()
youtu.be
u/Normal_Can8016 — 29 days ago

~ Music Theory Time ~

Video set covering some fundamentals and vocabulary and related strudel references

https://www.youtube.com/watch?v=JE3QM_9sljI&t=120s
setCpm() : cycles per minute : order this at the top of your scripct. / and * functions can apply... setCpm(30*4) = 120cpm
.beat("0,7,10", 16) : the second input divides the cycle by that many divisions and plays the 0-indexed sections indicated by the first inputs.
.struct("x ~ x ~ ~ x ~ x ~ ~ ~ x ~ x ~ ~") : the plays and rests are spelled out in one input. use brackets and / * for further specification... .struct("<x ~ [x x] x>/4")
.swingBy(1/3, 4) : the second input divides the CYCLE into n slices, then delays the second half of each slice for x% amount of a play duration... .swingBy(0.5, 4)
.velocity("0.1 0.2 0.4 0.8 1.3") : defines degree of accent

https://www.youtube.com/watch?v=MsT_yjp5kpI
lpf, lpq, bpf, bpq, hpf, hpq: pf/pq combinable into one with : .lpf("500:4")
._spectrum() : displays relative spectrum analyzer

https://www.youtube.com/watch?v=7mLqpA-PMwM&t=10s

https://www.youtube.com/watch?v=vuWl9EMDMIU
synthesis...
subtractive : gain, postgain, envelope, att, dec, sus, dec, lfo
fm : fm, fmh, fmwave... each may be indexed 1-8... .fm(4) .fm2(rand.mul(4)) .fm3(saw.mul(8).slow(8)) .fmh(1.06) .fmh2(10) .fmh3(0.1)
wavetable : s("squelch").bank("wt_digital").seg(8).note("F1").wt("0 0.25 0.5 0.75 1")
granular : coarse crush detune speed

https://www.youtube.com/watch?v=dMkTdYmOgiQ

u/Normal_Can8016 — 1 month ago

I 30M and coworker 26M

Have you ever looked back and regretted being as respectful/kind as you were with them? I 30M don’t feel like I have to give too many details for this to reach the right audience, but the tldr is I did my best to respect this 26M coworker as a person but they constantly saw fit to oppose me at every turn. Even when I completely let go of ego for a moment and tried to understand them they refuse to collaborate. Looking for kind souls and military vets for advice.

26M is an ex marine and I don’t have any perspective about that life path.

reddit.com
u/Normal_Can8016 — 2 months ago

LF sub that finds memes

it's been weeks and I can't find the video, and I need to reference it for my project. Sorry if the (details) are slightly off, but I think it was posted in the late stages of the app.

a dancing vid, music is drum n bass (or just drums?) with a crashy cymbal,
the move was like a heal-toe shuffle with like a "serving" motion, then the move was head down arm against the forehead while the other hand "knocked" to the beat of the snare drum. then the music cut with a close up of the dancer frozen in the last dance pose and a (drake??) song played

reddit.com
u/Normal_Can8016 — 2 months ago