File: midinoteonoct.csd

package info (click to toggle)
csound-manual 1%3A6.02~dfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 28,052 kB
  • ctags: 234
  • sloc: xml: 179,174; python: 1,198; makefile: 570
file content (39 lines) | stat: -rw-r--r-- 1,053 bytes parent folder | download | duplicates (6)
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
<CsoundSynthesizer>
<CsOptions>
; Select audio/midi flags here according to platform
-odac    -M1  ;;;realtime audio out and midi in 
;-iadc    ;;;uncomment -iadc if realtime audio input is needed too
; For Non-realtime ouput leave only the line below:
; -o midinoteonoct.wav -W ;;; for file output any platform
</CsOptions>
<CsInstruments>

sr = 44100
ksmps = 32
nchnls = 2
0dbfs  = 1

instr 1

midinoteonoct p4, p5			;gets a MIDI note number value as octave-point-decimal value into p4, and MIDI velocity into p5

print 	p4				;display the key value when it changes and when key is pressed 
kvel = p5/127				;scale midi velocity to 0-1
ioct =	p4
icps =	cpsoct(ioct)			;convert octave-point-decimal value into Hz
kenv madsr 0.5, 0.8, 0.8, 0.5		;amplitude envelope multiplied by
asig pluck kenv*kvel, icps, icps, 2, 1	;velocity value				
     outs  asig, asig				

endin
</CsInstruments>
<CsScore>
f 0 30	;runs for 30 seconds
f 2 0 4096 10 1	

i 1 0 2 8.000 100	; play these notes from score as well
i 1 + 2 8.917 100
e

</CsScore>
</CsoundSynthesizer>