csound / manual

Csound Reference Manual (English)
Other
46 stars 29 forks source link

mandel example does not contain use of mandel #525

Closed genell closed 2 years ago

genell commented 3 years ago

I just picked an opcode at random to try the web assembly playable manual, and happened to choose 'mandel'. I realized that the example does not seem to use the mandel opcode at all.

/Anders

tgrey1 commented 3 years ago

Nice catch, thanks for letting us know!

The link for more info near the bottom of the page is also a dead link that we should remove.

AsterixMusic commented 3 years ago

Also the link "See Also" doesn't work

AsterixMusic commented 3 years ago

First attempt. We should hear a "fractal" behavior?


<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 mandel.wav -W ;;; for file output any platform

; By Stefano Cucchi 2021

</CsOptions>
<CsInstruments>

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

instr 1

ksig oscil 1, 4

ktrig trigger ksig, 0, 2

kx linseg p9, p3, p10 ; in the range -1 1
ky linseg p7, p3, p8 ;; in the range -1 1
kmaxIter linseg p5, p3*0.5, p6, p3*0.5, p5

kiter, koutrig mandel  ktrig, kx, ky, kmaxIter
printks2 "maximum iterations =  %d\n", kiter  ; show them

asig foscili 0.3, 1, p4, kiter, 10, 1
outs asig, asig

endin

</CsInstruments>
<CsScore>

f 1 0 4096 10 1 1 0 1

i 1 0 10 440 110 2000 -1 1 -1 1

e
</CsScore>
</CsoundSynthesizer>
csounder commented 3 years ago

Interesting and exciting

It would be good to have several notes showing several ranges of the curve (essentially, several ZOOM levels)

Any way to plot the behavior into a ftable too?

- dB

On Thu, Jan 28, 2021 at 11:44 AM Stefano Cucchi notifications@github.com wrote:

First attempt. We should hear a "fractal" behavior?

; 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 mandel.wav -W ;;; for file output any platform ; By Stefano Cucchi 2021 sr = 44100ksmps = 10nchnls = 20dbfs = 1instr 1ksig oscil 1, 4ktrig trigger ksig, 0, 2kx linseg p9, p3, p10 ; in the range -1 1ky linseg p7, p3, p8 ;; in the range -1 1kmaxIter linseg p5, p3*0.5, p6, p3*0.5, p5kiter, koutrig mandel ktrig, kx, ky, kmaxIterasig foscili 0.3, 1, p4, kiter, 10, 1outs asig, asigendin f 1 0 4096 10 1 1 0 1i 1 0 10 440 110 2000 -1 1 -1 1e

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://us-west-2.protection.sophos.com?d=github.com&u=aHR0cHM6Ly9naXRodWIuY29tL2Nzb3VuZC9tYW51YWwvaXNzdWVzLzUyNSNpc3N1ZWNvbW1lbnQtNzY5MjE2MTAy&i=NWYxNzBkMDNiNTVmZGEwZmIyNjczYmRm&t=b2FrVjh2cVdoK08rRkRlNGNuVEd4dUE2dGNERkJoMTkrRkZFUlpBWStncz0=&h=968ccd99e96f4f0e8c5d996d6c32a595, or unsubscribe https://us-west-2.protection.sophos.com?d=github.com&u=aHR0cHM6Ly9naXRodWIuY29tL25vdGlmaWNhdGlvbnMvdW5zdWJzY3JpYmUtYXV0aC9BQUxXWUZYTTczN0xZWkcyS09VQlM2RFM0R0g2SEFOQ05GU000V003S0JJUQ==&i=NWYxNzBkMDNiNTVmZGEwZmIyNjczYmRm&t=MDhBSzBrK2x6WXZOQTZna1Y0SStwODZVTWh0aWtqYUt6aG14SHlrYWJybz0=&h=968ccd99e96f4f0e8c5d996d6c32a595 .

AsterixMusic commented 3 years ago

Trying to find a useful example for "mandel" and to see/hear fractal behaviour. Here a simple "octave" program plotting kiter (in blue) and koutrig (in red). The values are generated and written in 2 files with the "dumpk" opcode.

OCTAVE (MATLAB) CODE:

%by Daniele Cucchi 2021

clear

close all

figure (1)

%load textfile data1 = load('kiter');

%plot data plot(data1(:,1));

hold on

%load textfile data2 = load('koutrig');

%plot data plot(data2(:,1));


<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 mandel.wav -W ;;; for file output any platform

; By Stefano Cucchi 2021

</CsOptions>
<CsInstruments>

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

instr 1

ksig oscil 1, p10

ktrig trigger ksig, 0, 2

kx linseg p8, p3, p9 ; in the range -1 1
ky linseg p6, p3, p7 ;; in the range -1 1
kmaxIter linseg p4, p3*0.5, p5, p3*0.5, p4

kiter, koutrig mandel  ktrig, kx, ky, kmaxIter
printks2 "maximum iterations =  %d\n", kiter  ; show them
dumpk kiter, "kiter", 8, 0
dumpk koutrig, "koutrig", 8, 0

insnd   = 10 
ibasfrq = 44100 / ftlen(insnd) ; Use original sample rate of insnd file 

kamp   expseg 0.001, p3*0.2, 0.2, p3*0.6, 0.2, p3*0.2, 0.001 ;a swell in amplitude
kpitch = 1
kdens  = kiter
kaoff  line 0, p3, .1
kpoff  = 0
kgdur  line .002, p3, .002
imaxgdur =  .5 

asig  grain kamp, kpitch, kdens, kaoff, kpoff, kgdur, insnd, 5, imaxgdur, 0.0 

outs asig, asig

endin

</CsInstruments>
<CsScore>

f5  0 512  20 2 ; Hanning window 

f 10 0 4096 10 1 

;            Iter  Iter      X     X    Y   Y   Trigger
i1   0   10   120   1        0     1   -1   0     100

e
</CsScore>
</CsoundSynthesizer>

01

csounder commented 3 years ago

nice!

- dB

Dr. Richard Boulanger

Professor

Electronic Production and Design

Berklee College of Music

Professional Writing & Technology Division

On Wed, Feb 3, 2021 at 11:43 AM Stefano Cucchi notifications@github.com wrote:

Trying to find a useful example for "mandel" and to see/hear fractal behaviour. Here a simple "octave" program plotting kiter (in blue) and koutrig (in red). The values are generated and written in 2 files with the "dumpk" opcode. OCTAVE (MATLAB) CODE:

%by Daniele Cucchi 2021

clear

close all

figure (1)

%load textfile data1 = load('kiter');

%plot data plot(data1(:,1));

hold on

%load textfile data2 = load('koutrig');

%plot data plot(data2(:,1));

; 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 mandel.wav -W ;;; for file output any platform ; By Stefano Cucchi 2021 sr = 44100ksmps = 10nchnls = 20dbfs = 1instr 1ksig oscil 1, p10ktrig trigger ksig, 0, 2kx linseg p8, p3, p9 ; in the range -1 1ky linseg p6, p3, p7 ;; in the range -1 1kmaxIter linseg p4, p3*0.5, p5, p3*0.5, p4kiter, koutrig mandel ktrig, kx, ky, kmaxIterprintks2 "maximum iterations = %d\n", kiter ; show themdumpk kiter, "kiter", 8, 0dumpk koutrig, "koutrig", 8, 0insnd = 10 ibasfrq = 44100 / ftlen(insnd) ; Use original sample rate of insnd file kamp expseg 0.001, p3*0.2, 0.2, p3*0.6, 0.2, p3*0.2, 0.001 ;a swell in amplitudekpitch = 1kdens = kiterkaoff line 0, p3, .1kpoff = 0kgdur line .002, p3, .002imaxgdur = .5 asig grain kamp, kpitch, kdens, kaoff, kpoff, kgdur, insnd, 5, imaxgdur, 0.0 outs asig, asigendin f5 0 512 20 2 ; Hanning window f 10 0 4096 10 1 ; Iter Iter X X Y Y Triggeri1 0 10 120 1 0 1 -1 0 100e

[image: 01] https://us-west-2.protection.sophos.com?d=user-images.githubusercontent.com&u=aHR0cHM6Ly91c2VyLWltYWdlcy5naXRodWJ1c2VyY29udGVudC5jb20vNjg2NTEyNjYvMTA2Nzc5MTk3LTBiYjQyYTgwLTY2NDctMTFlYi04ZDQ1LTEyNmZkNjcxOGNlNi5naWY=&i=NWYxNzBkMDNiNTVmZGEwZmIyNjczYmRm&t=SGxPMmVOM3ZQWFV6bm5pTFMrLzZZWmdsWjRPc05JREc3MndMUTBtSzdTVT0=&h=8f16a543814246339bf0087cf3482adc

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://us-west-2.protection.sophos.com?d=github.com&u=aHR0cHM6Ly9naXRodWIuY29tL2Nzb3VuZC9tYW51YWwvaXNzdWVzLzUyNSNpc3N1ZWNvbW1lbnQtNzcyNjUwNzkx&i=NWYxNzBkMDNiNTVmZGEwZmIyNjczYmRm&t=UXovY0VZQkR2QlhmanBjR0tZY2V5djRWNkFqV0JFK05pWHN3UkFkTUZIYz0=&h=8f16a543814246339bf0087cf3482adc, or unsubscribe https://us-west-2.protection.sophos.com?d=github.com&u=aHR0cHM6Ly9naXRodWIuY29tL25vdGlmaWNhdGlvbnMvdW5zdWJzY3JpYmUtYXV0aC9BQUxXWUZRNVJBNzZMTlhMSFhWWklaVFM1RjRMWkFOQ05GU000V003S0JJUQ==&i=NWYxNzBkMDNiNTVmZGEwZmIyNjczYmRm&t=NENvRDVreEJrZjFSS0oyVW9hWXF4OWxvV2RlYi9zUGtWZ1RrZ2Vtbi8xbz0=&h=8f16a543814246339bf0087cf3482adc .

MyrtleV commented 3 years ago

I am working on a musicalisation of the Mandelbrot set using csound within MaxMSP, and came across your conversation.

I do get a musical phrase when running the original mandel.csd, despite it not containing the mandel opcode. I also get a small musical phrase from running your code. Could you please assist me with deciphering:

Thank you very much! Charlotte

ST-Music commented 2 years ago

FWIW I did make an attempt to create something using the mandel opcode. I don't know if it qualifies as "Mandelbrot music", whatever that may be. I've tried posting here with no luck so here's a link: https://forum.csound.com/t/mandel-csd-new-version/

Any comments or advice to a noob is always welcome.

tjingboem commented 2 years ago

with permission from the author (https://forum.csound.com/t/mandel-csd-new-version/235/6) a proposal for a mandel example by Scott Daughtrey [ST Music]. Or this might be a musical example, so a second example for mandel

<CsoundSynthesizer>
; formatted for easier viewing on
; mobile devices
<CsOptions>
 -odac
; -o/sdcard/mandel.wav ; for Android devices
</CsOptions>
<CsInstruments>

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

        seed 0
gaRvbL  init
gaRvbR  init
; table is 5th mode of Hungarian Minor Scale
giNotes ftgen 0, 0, 0, 2, 6.07, 6.08, 6.11, 7.00, 7.02, 7.03, 7.06, \   ; f1 is a pitch table defining a four octave C major scale starting 
        7.07, 7.08, 7.11, 8.00, 8.02, 8.03, 9.06, \ ; on C two octaves below middle C
        8.07, 8.08, 8.11, 9.00, 9.02, 9.03, 9.06, \
        9.07

    instr Trigger
kTrig = gausstrig(1, 2.35, 1)
kX    = trandom(kTrig, -1.6, 0)
kY    = randomh(0, 1.2, 10)
kIter, kOutrig mandel  kTrig, kX, kY, 21
  schedkwhen kOutrig, 0, 0, "Mandel", 0, .7, p4, kIter
    endin

    instr Mandel
kEnv  = transegr(0, .003, 2, .4, .2, -2, 0)
iNote = table(p5, giNotes, 0, 0, 0)
iFreq = cpspch(iNote+p4)
 if iFreq == 10.07 then
  iFreq = 7.07
 endif
iRand = random(.5, .99)
aSig  = wgpluck2(iRand, .3*iRand, iFreq, .2, .3)
iPan  = random(.2, .8)
aL, aR  pan2 aSig, iPan
  outs aL, aR
gaRvbL  +=  aL*.3
gaRvbR  +=  aR*.3
    endin

    instr Reverb
aL, aR reverbsc gaRvbL, gaRvbR, .93, 2^14
  outs aL, aR
   clear gaRvbL, gaRvbR
    endin

</CsInstruments>
<CsScore>
i"Trigger" 0 360 0
i .       .1 360 1
i"Reverb"  0 365
e
</CsScore>
</CsoundSynthesizer>
; example by Scott Daughtrey [ST Music]
; https://soundcloud.com/stoons-1
; https://youtube.com/channel/UCGhwmkS1uWmX6mhTIQ0IDsg
csounder commented 2 years ago

a very nice example, but I don't think we need links to his SoundCloud or Youtube channel in the manual as that is not standard.

- Dr.B

Dr. Richard Boulanger

Professor

Electronic Production and Design

Berklee College of Music

Professional Writing & Technology Division

On Thu, Oct 13, 2022 at 3:29 PM Menno Knevel @.***> wrote:

with permission from the author ( https://forum.csound.com/t/mandel-csd-new-version/235/6 https://us-west-2.protection.sophos.com?d=csound.com&u=aHR0cHM6Ly9mb3J1bS5jc291bmQuY29tL3QvbWFuZGVsLWNzZC1uZXctdmVyc2lvbi8yMzUvNg==&i=NWYxNzBkMDNiNTVmZGEwZmIyNjczYmRm&t=YkVJOE5RWkxnRThheDQ0c3ZhQnhSYnhRM09WVS9rcXI3Q2FVSURDZExXaz0=&h=668ec50f885d4cb8b1784ea9d39e4aa4&s=AVNPUEhUT0NFTkNSWVBUSVZ+CzEl059Ym1RlqwKl3ZhNfC+dR2N5IDL9CUAdMA/6tA==) a proposal for a mandel example by Scott Daughtrey [ST Music]. Or this might be a musical example, so a second example for mandel

; formatted for easier viewing on ; mobile devices -odac ; -o/sdcard/mandel.wav ; for Android devices sr = 44100 ksmps = 10 nchnls = 2 0dbfs = 1 seed 0 gaRvbL init gaRvbR init ; table is 5th mode of Hungarian Minor Scale giNotes ftgen 0, 0, 0, 2, 6.07, 6.08, 6.11, 7.00, 7.02, 7.03, 7.06, \ ; f1 is a pitch table defining a four octave C major scale starting 7.07, 7.08, 7.11, 8.00, 8.02, 8.03, 9.06, \ ; on C two octaves below middle C 8.07, 8.08, 8.11, 9.00, 9.02, 9.03, 9.06, \ 9.07 instr Trigger kTrig = gausstrig(1, 2.35, 1) kX = trandom(kTrig, -1.6, 0) kY = randomh(0, 1.2, 10) kIter, kOutrig mandel kTrig, kX, kY, 21 schedkwhen kOutrig, 0, 0, "Mandel", 0, .7, p4, kIter endin instr Mandel kEnv = transegr(0, .003, 2, .4, .2, -2, 0) iNote = table(p5, giNotes, 0, 0, 0) iFreq = cpspch(iNote+p4) if iFreq == 10.07 then iFreq = 7.07 endif iRand = random(.5, .99) aSig = wgpluck2(iRand, .3*iRand, iFreq, .2, .3) iPan = random(.2, .8) aL, aR pan2 aSig, iPan outs aL, aR gaRvbL += aL*.3 gaRvbR += aR*.3 endin instr Reverb aL, aR reverbsc gaRvbL, gaRvbR, .93, 2^14 outs aL, aR clear gaRvbL, gaRvbR endin i"Trigger" 0 360 0 i . .1 360 1 i"Reverb" 0 365 e

; example by Scott Daughtrey [ST Music] ; https://soundcloud.com/stoons-1 ; https://youtube.com/channel/UCGhwmkS1uWmX6mhTIQ0IDsg

— Reply to this email directly, view it on GitHub https://us-west-2.protection.sophos.com?d=github.com&u=aHR0cHM6Ly9naXRodWIuY29tL2Nzb3VuZC9tYW51YWwvaXNzdWVzLzUyNSNpc3N1ZWNvbW1lbnQtMTI3ODA4NzkyMQ==&i=NWYxNzBkMDNiNTVmZGEwZmIyNjczYmRm&t=RitOdTJIYXMzTkEvV1k4U3Byb1R4ZmdTVE44bXVRTW5xOFRUTjdNV2ZIUT0=&h=668ec50f885d4cb8b1784ea9d39e4aa4&s=AVNPUEhUT0NFTkNSWVBUSVZ+CzEl059Ym1RlqwKl3ZhNfC+dR2N5IDL9CUAdMA/6tA==, or unsubscribe https://us-west-2.protection.sophos.com?d=github.com&u=aHR0cHM6Ly9naXRodWIuY29tL25vdGlmaWNhdGlvbnMvdW5zdWJzY3JpYmUtYXV0aC9BQUxXWUZYWVRWSDVWWlE1V1pINTQzTFdEQlBKVkFOQ05GU000V003S0JJUQ==&i=NWYxNzBkMDNiNTVmZGEwZmIyNjczYmRm&t=bW92cU1XV1RJYjJtcllodHMxN0dFb200UHlyT05PVEVsSnZwYXpydmhZbz0=&h=668ec50f885d4cb8b1784ea9d39e4aa4&s=AVNPUEhUT0NFTkNSWVBUSVZ+CzEl059Ym1RlqwKl3ZhNfC+dR2N5IDL9CUAdMA/6tA== . You are receiving this because you commented.Message ID: @.***>

ST-Music commented 2 years ago

I agree, the links were simply intended for viewers in the forum. I have no opposition to edits being made to present the example in keeping with tradition, I would simply ask to be involved with any. Thank you all for your interest.

Scott Daughtrey

On Thu, Oct 13, 2022, 4:11 PM Dr. Richard Boulanger, < @.***> wrote:

a very nice example, but I don't think we need links to his SoundCloud or Youtube channel in the manual as that is not standard.

- Dr.B

Dr. Richard Boulanger

Professor

Electronic Production and Design

Berklee College of Music

Professional Writing & Technology Division

On Thu, Oct 13, 2022 at 3:29 PM Menno Knevel @.***> wrote:

with permission from the author ( https://forum.csound.com/t/mandel-csd-new-version/235/6 < https://us-west-2.protection.sophos.com?d=csound.com&u=aHR0cHM6Ly9mb3J1bS5jc291bmQuY29tL3QvbWFuZGVsLWNzZC1uZXctdmVyc2lvbi8yMzUvNg==&i=NWYxNzBkMDNiNTVmZGEwZmIyNjczYmRm&t=YkVJOE5RWkxnRThheDQ0c3ZhQnhSYnhRM09WVS9rcXI3Q2FVSURDZExXaz0=&h=668ec50f885d4cb8b1784ea9d39e4aa4&s=AVNPUEhUT0NFTkNSWVBUSVZ+CzEl059Ym1RlqwKl3ZhNfC+dR2N5IDL9CUAdMA/6tA== ) a proposal for a mandel example by Scott Daughtrey [ST Music]. Or this might be a musical example, so a second example for mandel

; formatted for easier viewing on ; mobile devices -odac ; -o/sdcard/mandel.wav ; for Android devices sr = 44100 ksmps = 10 nchnls = 2 0dbfs = 1 seed 0 gaRvbL init gaRvbR init ; table is 5th mode of Hungarian Minor Scale giNotes ftgen 0, 0, 0, 2, 6.07, 6.08, 6.11, 7.00, 7.02, 7.03, 7.06, \ ; f1 is a pitch table defining a four octave C major scale starting 7.07, 7.08, 7.11, 8.00, 8.02, 8.03, 9.06, \ ; on C two octaves below middle C 8.07, 8.08, 8.11, 9.00, 9.02, 9.03, 9.06, \ 9.07 instr Trigger kTrig = gausstrig(1, 2.35, 1) kX = trandom(kTrig, -1.6, 0) kY = randomh(0, 1.2, 10) kIter, kOutrig mandel kTrig, kX, kY, 21 schedkwhen kOutrig, 0, 0, "Mandel", 0, .7, p4, kIter endin instr Mandel kEnv = transegr(0, .003, 2, .4, .2, -2, 0) iNote = table(p5, giNotes, 0, 0, 0) iFreq = cpspch(iNote+p4) if iFreq == 10.07 then iFreq = 7.07 endif iRand = random(.5, .99) aSig = wgpluck2(iRand, .3*iRand, iFreq, .2, .3) iPan = random(.2, .8) aL, aR pan2 aSig, iPan outs aL, aR gaRvbL += aL*.3 gaRvbR += aR*.3 endin instr Reverb aL, aR reverbsc gaRvbL, gaRvbR, .93, 2^14 outs aL, aR clear gaRvbL, gaRvbR endin i"Trigger" 0 360 0 i . .1 360 1 i"Reverb" 0 365 e

; example by Scott Daughtrey [ST Music] ; https://soundcloud.com/stoons-1 ; https://youtube.com/channel/UCGhwmkS1uWmX6mhTIQ0IDsg

— Reply to this email directly, view it on GitHub < https://us-west-2.protection.sophos.com?d=github.com&u=aHR0cHM6Ly9naXRodWIuY29tL2Nzb3VuZC9tYW51YWwvaXNzdWVzLzUyNSNpc3N1ZWNvbW1lbnQtMTI3ODA4NzkyMQ==&i=NWYxNzBkMDNiNTVmZGEwZmIyNjczYmRm&t=RitOdTJIYXMzTkEvV1k4U3Byb1R4ZmdTVE44bXVRTW5xOFRUTjdNV2ZIUT0=&h=668ec50f885d4cb8b1784ea9d39e4aa4&s=AVNPUEhUT0NFTkNSWVBUSVZ+CzEl059Ym1RlqwKl3ZhNfC+dR2N5IDL9CUAdMA/6tA== , or unsubscribe < https://us-west-2.protection.sophos.com?d=github.com&u=aHR0cHM6Ly9naXRodWIuY29tL25vdGlmaWNhdGlvbnMvdW5zdWJzY3JpYmUtYXV0aC9BQUxXWUZYWVRWSDVWWlE1V1pINTQzTFdEQlBKVkFOQ05GU000V003S0JJUQ==&i=NWYxNzBkMDNiNTVmZGEwZmIyNjczYmRm&t=bW92cU1XV1RJYjJtcllodHMxN0dFb200UHlyT05PVEVsSnZwYXpydmhZbz0=&h=668ec50f885d4cb8b1784ea9d39e4aa4&s=AVNPUEhUT0NFTkNSWVBUSVZ+CzEl059Ym1RlqwKl3ZhNfC+dR2N5IDL9CUAdMA/6tA==

. You are receiving this because you commented.Message ID: @.***>

— Reply to this email directly, view it on GitHub https://github.com/csound/manual/issues/525#issuecomment-1278126341, or unsubscribe https://github.com/notifications/unsubscribe-auth/A23TOBTCRIM67CNYOXPHHHLWDBUHNANCNFSM4WM7KBIQ . You are receiving this because you commented.Message ID: @.***>

csounder commented 2 years ago

Scott,

I hope you didn't read that the wrong way.

I was excited to see your links and am especially excited about your instrument and generative/algorithmic piece! We don't typically have personal links on manpages - that's all. And I do hope that your example will be added to the manual.

I was just showing things like this to my students yesterday - and now - for sure - I will share your work with them in next week's class. Your example is excellent for the manuals too. I have been encouraged that we should have more "musical" and "contextual" examples for each opcode, and this is excellent.

gogins commented 2 years ago

There are many ways to get the Mandelbrot set or its dual, the Julia set, to generate musical scores.

One way is shown in your example.

Another way is to iterate a point on the border of the Mandelbrot set, which has an orbit that is a strange attractor and never repeats, or near the border, which will be attracted to a fixed point inside the Mandelbrot set or to infinity. With this approach, each iteration of the complex point can be interpreted as two pitches, i.e. as two points. Here is a link to an example I just wrote: https://github.com/gogins/michael.gogins.studio/blob/master/music/mandelbrot_orbit.csd .

There are of course other ways. One can generate the Julia set corresponding to a point in the Mandelbrot set, and somehow interpret the entire Julia set as a score.

Best, Mike

Michael Gogins Irreducible Productions http://michaelgogins.tumblr.com Michael dot Gogins at gmail dot com

On Thu, Oct 13, 2022 at 4:16 AM stmusic @.***> wrote:

FWIW I did make an attempt to create something using the mandel opcode. I don't know if it qualifies as "Mandelbrot music", whatever that may be. I've tried posting here with no luck so here's a link: https://forum.csound.com/t/mandel-csd-new-version/

Any comments or advice to a noob is always welcome.

— Reply to this email directly, view it on GitHub https://github.com/csound/manual/issues/525#issuecomment-1277218341, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABQIGJLOAV2TRBQU7A56FQDWC7AOLANCNFSM4WM7KBIQ . You are receiving this because you are subscribed to this thread.Message ID: @.***>

csounder commented 2 years ago

Lovely Michael.

Thanks for sharing.

Hopefully, I will see you at the ICSC in Ireland!

I wish I could attend the monthly Zoom Meetings you host, but I am teaching this semester on Wednesdays.

Take care

- Dr.B

Dr. Richard Boulanger

Professor

Electronic Production and Design

Berklee College of Music

Professional Writing & Technology Division

On Thu, Oct 13, 2022 at 8:49 PM Michael Gogins @.***> wrote:

There are many ways to get the Mandelbrot set or its dual, the Julia set, to generate musical scores.

One way is shown in your example.

Another way is to iterate a point on the border of the Mandelbrot set, which has an orbit that is a strange attractor and never repeats, or near the border, which will be attracted to a fixed point inside the Mandelbrot set or to infinity. With this approach, each iteration of the complex point can be interpreted as two pitches, i.e. as two points. Here is a link to an example I just wrote:

https://github.com/gogins/michael.gogins.studio/blob/master/music/mandelbrot_orbit.csd .

There are of course other ways. One can generate the Julia set corresponding to a point in the Mandelbrot set, and somehow interpret the entire Julia set as a score.

Best, Mike

Michael Gogins Irreducible Productions http://michaelgogins.tumblr.com Michael dot Gogins at gmail dot com

On Thu, Oct 13, 2022 at 4:16 AM stmusic @.***> wrote:

FWIW I did make an attempt to create something using the mandel opcode. I don't know if it qualifies as "Mandelbrot music", whatever that may be. I've tried posting here with no luck so here's a link: https://forum.csound.com/t/mandel-csd-new-version/

Any comments or advice to a noob is always welcome.

— Reply to this email directly, view it on GitHub https://github.com/csound/manual/issues/525#issuecomment-1277218341, or unsubscribe < https://github.com/notifications/unsubscribe-auth/ABQIGJLOAV2TRBQU7A56FQDWC7AOLANCNFSM4WM7KBIQ

. You are receiving this because you are subscribed to this thread.Message ID: @.***>

— Reply to this email directly, view it on GitHub https://us-west-2.protection.sophos.com?d=github.com&u=aHR0cHM6Ly9naXRodWIuY29tL2Nzb3VuZC9tYW51YWwvaXNzdWVzLzUyNSNpc3N1ZWNvbW1lbnQtMTI3ODMzNDM5OQ==&i=NWYxNzBkMDNiNTVmZGEwZmIyNjczYmRm&t=bm9wbVRPczdXT2hVSVhlbWN4S1dSUXlTeWF5WkE2OFE5ck15RGlIMVhTQT0=&h=182a8f0d5c8b40c6889e03b23ee573ec&s=AVNPUEhUT0NFTkNSWVBUSVZ+CzEl059Ym1RlqwKl3ZhNfC+dR2N5IDL9CUAdMA/6tA==, or unsubscribe https://us-west-2.protection.sophos.com?d=github.com&u=aHR0cHM6Ly9naXRodWIuY29tL25vdGlmaWNhdGlvbnMvdW5zdWJzY3JpYmUtYXV0aC9BQUxXWUZSSEFSWDQ2SUNHS1k2WTY1RFdEQ1UyVkFOQ05GU000V003S0JJUQ==&i=NWYxNzBkMDNiNTVmZGEwZmIyNjczYmRm&t=bit1bWtmVko1WXVBaWFvOHgxWi94bCtvcXJtYTlvVGJWcGg3UGVzTFNXUT0=&h=182a8f0d5c8b40c6889e03b23ee573ec&s=AVNPUEhUT0NFTkNSWVBUSVZ+CzEl059Ym1RlqwKl3ZhNfC+dR2N5IDL9CUAdMA/6tA== . You are receiving this because you commented.Message ID: @.***>

tjingboem commented 2 years ago

second proposal from Scott Daughtrey a bit more to the 'standard example presentation' of the Csound manual

<CsoundSynthesizer>
<CsOptions>
; Select audio/midi flags here according to platform
-odac     ;;;RT audio out
;-iadc    ;;;uncomment -iadc for RT audio input is needed too
; For Non-realtime ouput leave only the line below:
; -o mandel.wav -W ;;; for file output any platform 
</CsOptions>
<CsInstruments>

; example by Scott Daughtrey [ST Music]

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

seed 0       ; different random result at each run

gaRvbL  init ; initialize global reverb
gaRvbR  init
; table is 5th mode of Hungarian Minor Scale
giNotes ftgen 0, 0, 0, 2, 6.07, 6.08, 6.11, 7.00, 7.02, 7.03, 7.06, \  
        7.07, 7.08, 7.11, 8.00, 8.02, 8.03, 9.06, \
        8.07, 8.08, 8.11, 9.00, 9.02, 9.03, 9.06, \
        9.07

    instr Trigger 
kTrig = gausstrig(1, 1.85, 1.5) ; randomly trigger mandel opcode and timing of note production
kX    = trandom(kTrig, -1.6, 0) ; randomly select X coordinates
kY    = randomh(0, 1.2, 10) ; randomly select Y coordinates
kIter, kOutrig mandel  kTrig, kX, kY, 21 ; set range of iterations between 0-21
  schedkwhen kOutrig, 0, 0, "Mandel", 0, .7, p4, kIter ; trigger Mandel instr and send relevant parameters
    endin

    instr Mandel
iNote = table(p5, giNotes, 0, 0, 0) ; table uses mandel iterations to select indexed notes from giNotes ftable
iFreq = cpspch(iNote+p4) ; convert notes to cps
 if iFreq == 10.07 then
  iFreq = 7.07
 endif
iRand = random(.5, .99) ; randomize amplitude and pluck position (iPlk)
aSig  = wgpluck2(iRand, .3*iRand, iFreq, .2, .3)
iPan  = random(.2, .8) ; randomize pan position
aL, aR  pan2 aSig, iPan ; pan each note
  outs aL, aR ; output stereo signal
gaRvbL  +=  aL*.3 ; send a little to global reverb channels
gaRvbR  +=  aR*.3
    endin

    instr Reverb ; reverb instrument
aL, aR reverbsc gaRvbL, gaRvbR, .93, 2^14
  outs aL, aR
   clear gaRvbL, gaRvbR
    endin

</CsInstruments>
<CsScore>
i"Trigger" 0 3600 0
i .       .1 3600 1
i"Reverb"  0 3606
e
</CsScore>
</CsoundSynthesizer>
tjingboem commented 2 years ago

Scott,

I hope you didn't read that the wrong way.

Yes it was just a dirty copy and paste action from my side, to the issue on examples for every opcode (mandel in this case). So that it didn't get lost in all the email traffic that is going on, i parked it there...

I was excited to see your links and am especially excited about your instrument and generative/algorithmic piece! We don't typically have personal links on manpages - that's all. And I do hope that your example will be added to the manual.

I was just showing things like this to my students yesterday - and now - for sure - I will share your work with them in next week's class. Your example is excellent for the manuals too. I have been encouraged that we should have more "musical" and "contextual" examples for each opcode, and this is excellent.

Why not have a few links for musical examples on a manual page, pointing to the musical collection of csds in https://github.com/csound/manual/tree/master/examples/musical? csds are lightweight as long as there are no big samples are used, and they are fun and inspiring.

A nice picture of the Mandelbrot set would be nice to have on the manual page as well, but then it should not conflict with the copyrights nightmare.

tjingboem commented 2 years ago

I'm trying to get some structure on the manual page of the mandel opcode, looking for the balance of explaining (manual!) and inspiring (fun!)...

6f437431ab06ab94cc7c8c6d39f4842048a21572

This is the combined instrument examples from Stefano. This could function as the basic example on the manual page: mandelStafano.csd.zip

What do you/we think?

csounder commented 2 years ago

A great plan - and a nice combined instrument too.

- Dr.B

Dr. Richard Boulanger

Professor

Electronic Production and Design

Berklee College of Music

Professional Writing & Technology Division

On Sat, Oct 15, 2022 at 6:40 AM Menno Knevel @.***> wrote:

I'm trying to get some structure on the manual page of the mandel opcode, looking for the balance of explaining (manual!) and inspiring (fun!)...

This is the combined instrument example from Stefano. This could function as the basic example on the manual page: mandelStafano.csd.zip https://us-west-2.protection.sophos.com?d=github.com&u=aHR0cHM6Ly9naXRodWIuY29tL2Nzb3VuZC9tYW51YWwvZmlsZXMvOTc5MTgwNS9tYW5kZWxTdGFmYW5vLmNzZC56aXA=&i=NWYxNzBkMDNiNTVmZGEwZmIyNjczYmRm&t=b2M4cndiYld6d2U2UUhGVU5tQllNRjFNWmw0WmU4YS9mWkxTVnVnUDVJRT0=&h=46aab7162d5f4d38be553a33d69cbb03&s=AVNPUEhUT0NFTkNSWVBUSVZ+CzEl059Ym1RlqwKl3ZhNfC+dR2N5IDL9CUAdMA/6tA==

What do you/we think?

— Reply to this email directly, view it on GitHub https://us-west-2.protection.sophos.com?d=github.com&u=aHR0cHM6Ly9naXRodWIuY29tL2Nzb3VuZC9tYW51YWwvaXNzdWVzLzUyNSNpc3N1ZWNvbW1lbnQtMTI3OTcxNzQ5OA==&i=NWYxNzBkMDNiNTVmZGEwZmIyNjczYmRm&t=MDJ4OEFkU1JBeVYyQkF4YWJOZGh4dnpZY0Y4aUx2MW9vcEdXR1dBc1ZvOD0=&h=46aab7162d5f4d38be553a33d69cbb03&s=AVNPUEhUT0NFTkNSWVBUSVZ+CzEl059Ym1RlqwKl3ZhNfC+dR2N5IDL9CUAdMA/6tA==, or unsubscribe https://us-west-2.protection.sophos.com?d=github.com&u=aHR0cHM6Ly9naXRodWIuY29tL25vdGlmaWNhdGlvbnMvdW5zdWJzY3JpYmUtYXV0aC9BQUxXWUZYSEJMVDJZTkFBUEFMWEVOVFdES0NaWEFOQ05GU000V003S0JJUQ==&i=NWYxNzBkMDNiNTVmZGEwZmIyNjczYmRm&t=OUdpcFQ4aTd0SnFPZGxmQWZIL1dvUEtaZEF0c3U0WnVyYU5jNFdpTFJacz0=&h=46aab7162d5f4d38be553a33d69cbb03&s=AVNPUEhUT0NFTkNSWVBUSVZ+CzEl059Ym1RlqwKl3ZhNfC+dR2N5IDL9CUAdMA/6tA== . You are receiving this because you commented.Message ID: @.***>

tjingboem commented 2 years ago

done. This new manual page can be admired at https://csound.com/manual/mandel.html

csounder commented 2 years ago

NiceDr. Richard BoulangerProfessorElectronic Production and DesignBerklee College of MusicOn Oct 26, 2022, at 11:53 AM, Menno Knevel @.***> wrote: done. This new manual page can be admired at https://csound.com/manual/mandel.html

—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you commented.Message ID: @.***>

ST-Music commented 2 years ago

Very cool, thank you for including my example.

Scott Daughtrey

On Wed, Oct 26, 2022, 11:53 AM Menno Knevel, @.***> wrote:

done. This new manual page can be admired at https://csound.com/manual/mandel.html

— Reply to this email directly, view it on GitHub https://github.com/csound/manual/issues/525#issuecomment-1292258961, or unsubscribe https://github.com/notifications/unsubscribe-auth/A23TOBS3LFTSCAGESEJNY33WFFHYJANCNFSM4WM7KBIQ . You are receiving this because you commented.Message ID: @.***>