Csound Csound-dev Csound-tekno Search About

Re: Csound inda Hip Hop

Date2015-06-21 19:33
FromMarcelo Carneiro de Lima
SubjectRe: Csound inda Hip Hop
AttachmentsNone  None  
I wonder how to start thinking / planning to synthesize a kind of "drum kit" in terms of which opcodes to use, which line of thought/programming should I have. Is it possible to loop a percussion line without repeating and writing loads of code lines on score part of the code? I mean a recursive lookup over juat a few lines during the time I define.
Thanks
Marcelo Carneiro

Enviado pelo meu Windows Phone

De: Dr. Richard Boulanger
Enviada em: 21/06/2015 11:10
Para: csound users' discussions
Assunto: Re: [Csnd] Csound inda Hip Hop


Date2015-06-21 19:45
FromRory Walsh
SubjectRe: Csound inda Hip Hop
AttachmentsNone  None  
I definitely would not do any drum programming in the score. It gets awful messy. I much prefer to sequence hits from the orchestra. If you wish to synthesise your own drums you may want to look at Iain McCurdy's 808 clone. 
The code he uses for drums is relatively easy to follow. Scroll down past all the control stuff to see how he creates each drum sound. It's impressive stuff. 

On 21 June 2015 at 19:33, Marcelo Carneiro de Lima <marcelo.arcos2@gmail.com> wrote:
I wonder how to start thinking / planning to synthesize a kind of "drum kit" in terms of which opcodes to use, which line of thought/programming should I have. Is it possible to loop a percussion line without repeating and writing loads of code lines on score part of the code? I mean a recursive lookup over juat a few lines during the time I define.
Thanks
Marcelo Carneiro

Enviado pelo meu Windows Phone

De: Dr. Richard Boulanger
Enviada em: 21/06/2015 11:10
Para: csound users' discussions
Assunto: Re: [Csnd] Csound inda Hip Hop


On Sun, Jun 21, 2015 at 6:35 AM, Victor Lazzarini <Victor.Lazzarini@nuim.ie> wrote:
<CsoundSynthesizer>
<CsOptions>
</CsOptions>
<CsInstruments>
nchnls = 2

opcode MaxAmp,kkk,Sk
setksmps 1
Sname,ktrig xin
iend = filelen(Sname)*sr
kcnt init 0
kmax1 init 1
kmax2 init 1
if ktrig == 1 then
until kcnt > iend do
 a1,a2 diskin2 Sname, 1
 k1 downsamp a1
 k2 downsamp a2
 kmax1 = k1 > kmax1 ? k1 : kmax1
 kmax2 = k2 > kmax2 ? k2 : kmax2
 kcnt += 1
od
ktrig = 0
endif
  xout kmax1, kmax2, ktrig
endop

instr 1
 ktrig init 1
 k1 init 1
 k2 init 1
 Sname = "$INPUT"
 k1,k2,ktrig MaxAmp Sname,ktrig
 p3 = filelen(Sname)
 printk2 k1
 printk2 k2
 a1,a2 diskin2 Sname, 1
 k1 = 0dbfs*0.75/k1
 k2 = 0dbfs*0.75/k2
 outs a1*k1, a2*k2
endin

</CsInstruments>
<CsScore>
i 1 0 1
</CsScore>
</CsoundSynthesizer>

Thanks for this Victor.  It should be in the "useful" examples in CsoundQt - if not already.

Dr.B.

_____________________________________________

Dr. Richard Boulanger

Professor of Electronic Production and Design
Professional Writing and Music Technology Division
Berklee College of Music
1140 Boylston Street, FB-75
Boston, MA 02215-3693

Office @ 161 Mass Ave - 4th Floor
617-747-2384 (office)  774-488-9166 (cell)
______________________________________________

______________________________________________

President of Boulanger Labs - http://boulangerlabs.com
Director of Csounds.com - http://csounds.com
Author & Editor: The Csound Book - http://mitpress.mit.edu/books/csound-book
Author & Editor: The Audio Programming Book - http://mitpress.mit.edu/books/audio-programming-book
______________________________________________


______________________________________________


------------------------------------------------------------------------------

_______________________________________________
Csound-users mailing list
Csound-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/csound-users
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here