Use Non-Frames Version Previous Page Next Page
Signal Modifiers: Special Effects

bbcutm, bbcuts

  ar          bbcutm   asig, ibps, isubdiv, ibarlength, iphrasebars, inumrepeats[, istutterspeed, istutterchance, ienvchoice]
  ar1, ar2    bbcuts   asig1, asig2, ibps, isubdiv, ibarlength, iphrasebars, inumrepeats[, istutterspeed, istutterchance, ienvchoice]

Description

The "Breakbeat Cutter" generates cutups of the source audio stream(s) for breakbeat manipulations. Output is rendered as phrases, a sequence of cuts starting at a new bar.

Initialization

ibps – tempo of the cuts, in beats per second

isubdiv – number of subdivisions in one bar. For example, 8 would represent eight notes in a 4/4 bar.

ibarlength – number of beats in one bar. For example, 4 would represent a 4/4 bar.

iphrasebars – the output cuts are generated in phrases, each phrase is up to iphrasebars long.

inumrepeats – number of repetitions of a cut. Maximum is 1.

istutterspeed (optional) – sets the speed of stuttering. Must be an integer multiple of isubdiv. For example, if isubdiv = 8 and istutterspeed = 2, then the stutter is in sixteenth notes. The default is 1.

istutterchance (optional) – sets the probablity that the end of a phrase will be repeated as a single, one unit stutter. Must be in the range 0 - 1. The default is 0.

ienvchoice (optional) – a value of 1 causes the cut unit to be passed through an exponential gain envelope. A value of 0 turns enveloping off. Turning enveloping off will cause clicking, but may give good results, especially for percussive sources. The default is 1.

Performance

asig, asi1, asig2 - source signal to undergo breakbeat manipulation

A typical cut sequence derived from one bar with eighth note subdivisions would be:

   3+ 3R + 2

A block of three eight notes is taken from the source's start, then repeated. The cutup ends with a block consisting of the eighth notes seven and eight from the source.

Examples

Simple mono and stereo versions:

<CsoundSynthesizer>
<CsInstruments>
  sr     = 44100
  kr     = 4410
  ksmps  = 10
  nchnls = 2

          instr 1
  asource diskin     "break7.wav", 1, 0, 1    ; a source breakbeat sample
                                              ; wraparound lest it stop!
; cuts in eighth notes per 4/4 bar, up to 4 bar phrases, up to 1
; repeat in total (standard use) rare stuttering at 16 note speed,
; no enveloping  

  asig    bbcutm     asource, 2.6937, 8, 4, 4, 1, 2,0.1, 0
          outs       asig,asig
          endin

          instr 2   ;stereo version
   a1,a2  diskin    "break7stereo.wav", 1, 0, 1    ; a source breakbeat sample
                                                   ; wraparound lest it stop!
; cuts in eighth notes per 4/4 bar, up to 4 bar phrases, up to 1
; repeat in total (standard use) rare stuttering at 16 note speed,
; no enveloping  

   a3,a4  bbcuts     a1, a2, 2.6937, 8, 4, 4, 1, 2, 0.1, 0
          outs       a3, a4
          endin
</CsInstruments>

<CsScore> 
  i1 0 10 
  i2 11 10
  e
</CsScore>
</CsoundSynthesizer>

Multiple simultaneous synchronised breaks:

<CsoundSynthesizer>
<CsInstruments>
  sr     = 44100
  kr     = 4410
  ksmps  = 10
  nchnls = 1

          instr 1
   ibps  = 2.6937
   iplaybackspeed = ibps/p5

   a1     diskin    p4, iplaybackspeed, 0, 1	
   asig   bbcutm    a1, 2.6937, p6, 4, 4, p7, 2, 0.1, 1
          out       asig
          endin

</CsInstruments>

<CsScore> 
;         source       bps cut repeats
   i1 0 10 "break1.wav" 2.3 8   2	;2.3 is the source original tempo
   i1 0 10 "break2.wav" 2.4 8   3
   i1 0 10 "break3.wav" 2.5 16  4
e
</CsScore>
</CsoundSynthesizer>

Cutting up any old audio - much more interesting noises than this should be possible!

<CsoundSynthesizer>
<CsInstruments>
  sr     = 44100
  kr     = 4410
  ksmps  = 10
  nchnls = 1

          instr 1
   a1     oscil      20000, 70, 1
   asig   bbcutm     a1, 2, 32, 1, 1, 2, 4, 0.6, 1
          outs       asig
          endin
</CsInstruments>

<CsScore> 
   f1 0 256 10 1
   i1 0 10 
   e
</CsScore>
</CsoundSynthesizer>

Constant stuttering, faked. Stuttering is not possible since stuttering can occur only in the last half of the bar.

<CsoundSynthesizer>
<CsInstruments>
   sr     = 44100
   kr     = 4410
   ksmps  = 10
   nchnls = 1

          instr 1
  a1      diskin     "break7.wav", 1, 0, 1

;16th note cuts- but cut size 2 over half a beat.
;each half beat will eiather survive intact or be turned into 
;the first sixteenth played twice in succession

   asig   bbcutm     asource, 2.6937, 2, 0.5, 1, 2, 2, 1.0, 0
          outs       asig
          endin
</CsInstruments>

<CsScore> 
   i1 0 30 
   e
</CsScore>
</CsoundSynthesizer>

Author

Nick Collins
August, 2001
New in Csound 4.16


Use Non-Frames Version Previous Page Next Page
Signal Modifiers: Special Effects