Closed genell closed 2 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.
Also the link "See Also" doesn't work
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>
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 .
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.
%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>
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 — 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 .
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
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.
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
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: @.***>
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: @.***>
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.
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.
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: @.***>
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: @.***>
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>
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.
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!)...
[x] I have combined the 2 csds above from Stefano to one csd. The 2 instruments are variations on the same theme, and together in one csd they remain a simple and transparent csd. I think this would be great to have on the manual page- not too long or complicated but still explains (a bit) what mandel is about
[x] then copy the musical examples from Michael and Scott to the musical collection folder https://github.com/csound/manual/tree/master/examples/musical and create a link to these 2 examples on the mandel manual page.
[x] to add an image to the manual page of this Mandelbrot set, where the X and Y lines are seen. This would help explaining the "coordinates of a given point belonging to the complex plane" kx and ky
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?
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!)...
- I have combined the 2 csds above from Stefano to one csd. The 2 instruments are variations on the same theme, and together in one csd they remain a simple and transparent instrument . I think this would be great to have on the manual page- not too long or complicated but still explains (a bit) what mandel is about
- then copy the musical examples from Michael and Scott to the musical collection folder https://github.com/csound/manual/tree/master/examples/musical https://us-west-2.protection.sophos.com?d=github.com&u=aHR0cHM6Ly9naXRodWIuY29tL2Nzb3VuZC9tYW51YWwvdHJlZS9tYXN0ZXIvZXhhbXBsZXMvbXVzaWNhbA==&i=NWYxNzBkMDNiNTVmZGEwZmIyNjczYmRm&t=d0kzM09UemI4SVpqdlpwbWdZYkhSSFBuaTNBUkQreWUwb0htVUQvQi84RT0=&h=46aab7162d5f4d38be553a33d69cbb03&s=AVNPUEhUT0NFTkNSWVBUSVZ+CzEl059Ym1RlqwKl3ZhNfC+dR2N5IDL9CUAdMA/6tA== and create a link to these 2 examples on the mandel manual page.
- to add an image to the manual page of this Mandelbrot set, where the X and Y lines are seen. This would help explaining the "coordinates of a given point belonging to the complex plane" kx and ky [image: 6f437431ab06ab94cc7c8c6d39f4842048a21572] https://us-west-2.protection.sophos.com?d=user-images.githubusercontent.com&u=aHR0cHM6Ly91c2VyLWltYWdlcy5naXRodWJ1c2VyY29udGVudC5jb20vNjY3MDkxMS8xOTU5ODE5MjMtOTVhY2IzMDQtODA3Ni00MjE2LWIyNDktZDg2NTg5M2YyYWY5LnBuZw==&i=NWYxNzBkMDNiNTVmZGEwZmIyNjczYmRm&t=aVJsRXZBSjhPNVBEYkoxUFNHc3RLUVY4SU5TYlI1WVRFNVlPR1RuQzZaOD0=&h=46aab7162d5f4d38be553a33d69cbb03&s=AVNPUEhUT0NFTkNSWVBUSVZ+CzEl059Ym1RlqwKl3ZhNfC+dR2N5IDL9CUAdMA/6tA==
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: @.***>
done. This new manual page can be admired at https://csound.com/manual/mandel.html
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: @.***>
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: @.***>
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