summaryrefslogtreecommitdiff
path: root/examples/strcmp.csd
diff options
context:
space:
mode:
Diffstat (limited to 'examples/strcmp.csd')
-rw-r--r--examples/strcmp.csd48
1 files changed, 48 insertions, 0 deletions
diff --git a/examples/strcmp.csd b/examples/strcmp.csd
new file mode 100644
index 0000000..c6d4af1
--- /dev/null
+++ b/examples/strcmp.csd
@@ -0,0 +1,48 @@
+<CsoundSynthesizer>
+<CsOptions>
+; Select audio/midi flags here according to platform
+-odac ;;;realtime audio out
+;-iadc ;;;uncomment -iadc if realtime audio input is needed too
+; For Non-realtime ouput leave only the line below:
+; -o strcmp.wav -W ;;; for file output any platform
+</CsOptions>
+<CsInstruments>
+;modified example from Joachim Heintz
+sr = 44100
+ksmps = 32
+nchnls = 2
+0dbfs = 1
+
+ opcode Triad, iii, S ;define UDO
+Sname xin
+iMaj strcmp "maj", Sname
+iMin strcmp "min", Sname
+iPrim = 8.00 ;notes in pitch notattion
+iQuint = 8.05
+ if iMaj == 0 then
+iTer = 8.03
+ elseif iMin == 0 then
+iTer = 8.02
+ endif
+ xout iPrim, iTer, iQuint
+ endop
+
+instr 1
+
+Sname strget p4
+ia, ib, ic Triad Sname ;apply UDO
+ print ia, ib, ic
+asig1 pluck 0.7, cpspch(ia), 220, 0, 1
+asig2 pluck 0.7, cpspch(ib), 220, 0, 1
+asig3 pluck 0.7, cpspch(ic), 220, 0, 1
+asig = (asig1+asig2+asig3)*.5
+ outs asig, asig
+
+endin
+</CsInstruments>
+<CsScore>
+i1 0 3 "maj"
+i1 4 3 "min"
+</CsScore>
+</CsoundSynthesizer>
+