Author |
Message |
synaesthesia

Joined: May 27, 2014 Posts: 280 Location: Germany
Audio files: 85
|
Posted: Sat Sep 27, 2014 11:26 am Post subject:
|
 |
|
Half way through your last posts I started thinking about a smaller version of your circuit that could be used to generate arpeggios.
Now you post the complete circuit - plus all the tables. That's great work again. Thanks a lot for posting this! |
|
Back to top
|
|
 |
PHOBoS

Joined: Jan 14, 2010 Posts: 5038 Location: Moon Base
Audio files: 671
|
|
Back to top
|
|
 |
PHOBoS

Joined: Jan 14, 2010 Posts: 5038 Location: Moon Base
Audio files: 671
|
Posted: Wed Oct 01, 2014 11:07 am Post subject:
|
 |
|
I'm putting the Chromatic Melody Generator in an enclosure. everything is mounted and some things wired up,
but I can't finished it before I have figured something else out first: Can I rearrange the noteorder to get more musical combinations ?
Of course I can already make all the combinations/chords but I want to group them to correspond with the binary inputs combinations.
note:I'll be ignoring the higher C for now and just work with 1 octave
By changing only 2 inputs at a time you end up with the following 24 permutations:
Code: | DCBA DCBA DCBA DCBA
00xx 01xx 10xx 11xx
-------------------
0000 0100 1000 1100
0001 0101 1001 1101
0010 0110 1010 1110
0011 0111 1011 1111
DCBA DCBA DCBA DCBA
0x0x 0x1x 1x0x 1x1x
-------------------
0000 0010 1000 1010
0001 0011 1001 1011
0100 0110 1100 1110
0101 0111 1101 1111
DCBA DCBA DCBA DCBA
x00x x01x x10x x11x
-------------------
0000 0010 0100 0110
0001 0011 0101 0111
1000 1010 1100 1110
1001 1011 1101 1111
DCBA DCBA DCBA DCBA
x0x0 x0x1 x1x0 x1x1
-------------------
0000 0001 0100 0101
0010 0011 0110 0111
1000 1001 1100 1101
1010 1011 1110 1111
DCBA DCBA DCBA DCBA
xx00 xx01 xx10 xx11
-------------------
0000 0001 0010 0011
0100 0101 0110 0111
1000 1001 1010 1011
1100 1101 1110 1111
DCBA DCBA DCBA DCBA
0xx0 0xx1 1xx0 1xx1
-------------------
0000 0001 1000 1001
0010 0011 1010 1011
0100 0101 1100 1101
0110 0111 1110 1111 |
Having the notes in the current order (C,C#,D,#,....B) results in the following tables:
Code: | DCBA DCBA DCBA DCBA
00xx 01xx 10xx 11xx
-------------------
C E G# _
C# F A _
D F# A# _
D# G B _
DCBA DCBA DCBA DCBA
0x0x 0x1x 1x0x 1x1x
-------------------
C D G# A#
C# D# A B
E F# _ _
F G _ _
DCBA DCBA DCBA DCBA
x00x x01x x10x x11x
-------------------
C D E F#
C# D# F G
G# A# _ _
A B _ _
DCBA DCBA DCBA DCBA
x0x0 x0x1 x1x0 x1x1
-------------------
C C# E F
D D# F# G
G# A _ _
A# B _ _
DCBA DCBA DCBA DCBA
xx00 xx01 xx10 xx11
-------------------
C C# D D#
E F F# G
G# A A# B
_ _ _ _
DCBA DCBA DCBA DCBA
0xx0 0xx1 1xx0 1xx1
-------------------
C C# G# A
D D# A# B
E F _ _
F# G _ _ |
which produces some augmented triads:
xx00: augmented C triad = C E G#
xx01: augmented C# triad = C# F A
xx01: augmented D triad = D F# A#
xx11: augmented D# triad = D# G B
I was trying out some different combinations, reshuffling some notes and typing out all the tables, but after
having done a couple combinations I decided that I might aswell let the computer do it for me
It would probably be possibe to do it in excel but I hardly know anything about it, and I don't even have it installed.
The only thing that I do know a bit about and that's usefull to do it is a combination of html & javascript.
So I started programming, first letting it draw the tables, then automating the chord detection, starting with
just the C chords and after that worked I added the rest. I've uploaded that version here in case anybody wants to play with it
or geek out at the source code
edit: uploaded an updated version that can calculate some permutations
Of course I still have to shuffle the notes around manually to find usefull combinations so I was thinking of automating that process too.
However,. 12 note + 4 empty spaces means there are 16! permutations,. that's: 209.722.789.888.000
Of course the 4 empty spaces in there will produces a multitude of equal results so taking those out results in
16!/4! = 871.782.912.000 and there are also a lot of combinations that will produce the same groups of notes.
Actually once I know the first 4 notes it would be most logical to spread the other 8 in an equal manner,
which would reduce the number of possibilities dramatically.
 _________________ "My perf, it's full of holes!"
http://phobos.000space.com/
SoundCloud BandCamp MixCloud Stickney Synthyards Captain Collider Twitch YouTube Last edited by PHOBoS on Wed Oct 15, 2014 5:40 am; edited 2 times in total |
|
Back to top
|
|
 |
RingMad

Joined: Jan 15, 2011 Posts: 408 Location: Montreal, Canada
Audio files: 4
|
Posted: Thu Oct 02, 2014 10:27 am Post subject:
|
 |
|
I'm totally lost, but I think all you need to do is find that 216 digit number from which all patterns stem.
James. |
|
Back to top
|
|
 |
PHOBoS

Joined: Jan 14, 2010 Posts: 5038 Location: Moon Base
Audio files: 671
|
Posted: Thu Oct 02, 2014 11:48 am Post subject:
When I was a little kid my mom told me Subject description: not to stare into the sun. So, once when I was six I did |
 |
|
RingMad wrote: | I'm totally lost, but I think all you need to do is find that 216 digit number from which all patterns stem.  |
I know, I have to get that number!
this was useful.
I was already testing with the circle of fifths, and drawing other circles with groups of notes.
by skipping a certain number of notes I get these strings:
Code: | 1] C C# D D# E F F# G G# A A# B
2] C D E F# G# A# C# D# F G A B
3] C D# F# A C# E G A# D F G# B
4] C E G# C# F A D F# A# D# G B
5] C F A# D# G# C# F# B E A D G
6] C F# C# G D G# D# A E A# F B
7] C G D A E B F# C# G# D# A# F
8] C G# E C# A F D A# F# D# B G
9] C A F# D# C# A# G E D B G# F
10] C A# G# F# E D C# B A G F D#
11] C B A# A G# G F# F E D# D C# |
So now I'm thinking to divide those strings up either in 3x4 (and add 1x4 empty spaces)
so for the first string that would be:
C C# D D# | E F F# G | G# A A# B | _ _ _ _
or divide in 4x3 and add an empty space for each group so for the first string that would result in:
C C# D _ | D# E F _ | F# G G# _ | A A# B _
Then shuffle the notes of each group around in the same way.
so if you take: C C# D _ | D# E F _ | F# G G# _ | A A# B _
and you switch C# & D then you also need to switch E & F, G & G#, A# & B.
which leaves only 24 permutations for each string. Actually since I want the first note to be a C it's only 6 permutations
hmm let's see 11 strings, can be divided in 2 ways, 6 permutations, that's 132 different options,. and a couple of the strings
actually result in the same groups of notes when divided so it's even less then that.
I did already find this nice combination:
Code: | inputstring = C,G,E,B,A,D,C#,F#,G#,D#,_,_,F,A#,_,_,
-------------------------------------------------------------
detected chords:
Major seventh, rootnote: C, notes: C G E B
Major seventh, rootnote: D, notes: A D C# F#
Major seventh, rootnote: G#, notes: C G G# D#
Major seventh, rootnote: A#, notes: A D F A#
Augmented triad, rootnote: C, notes: C E G# _
Augmented triad, rootnote: E, notes: C E G# _
Augmented triad, rootnote: G#, notes: C E G# _
Augmented triad, rootnote: D#, notes: G B D# _
Augmented triad, rootnote: G, notes: G B D# _
Augmented triad, rootnote: B, notes: G B D# _
Augmented triad, rootnote: C#, notes: A C# F _
Augmented triad, rootnote: F, notes: A C# F _
Augmented triad, rootnote: A, notes: A C# F _
Augmented triad, rootnote: D, notes: D F# A# _
Augmented triad, rootnote: F#, notes: D F# A# _
Augmented triad, rootnote: A#, notes: D F# A# _
Major seventh, rootnote: D#, notes: G D D# A#
Major seventh, rootnote: G, notes: G B D F#
------------------------------------------------------------- |
_________________ "My perf, it's full of holes!"
http://phobos.000space.com/
SoundCloud BandCamp MixCloud Stickney Synthyards Captain Collider Twitch YouTube |
|
Back to top
|
|
 |
PHOBoS

Joined: Jan 14, 2010 Posts: 5038 Location: Moon Base
Audio files: 671
|
Posted: Thu Oct 02, 2014 3:31 pm Post subject:
|
 |
|
I think this should work
Code: | C,E,G#,_,A,C#,F,_,G,B,D#,_,D,F#,A#,_,
detected chords:
Augmented triad, rootnote: C, notes: C E G# _
Augmented triad, rootnote: C#, notes: A C# F _
Augmented triad, rootnote: D, notes: D F# A# _
Augmented triad, rootnote: D#, notes: G B D# _
Augmented triad, rootnote: E, notes: C E G# _
Augmented triad, rootnote: F, notes: A C# F _
Augmented triad, rootnote: F#, notes: D F# A# _
Augmented triad, rootnote: G, notes: G B D# _
Augmented triad, rootnote: G#, notes: C E G# _
Augmented triad, rootnote: A, notes: A C# F _
Augmented triad, rootnote: A#, notes: D F# A# _
Augmented triad, rootnote: B, notes: G B D# _
Major seventh, rootnote: C, notes: C E G B
Major seventh, rootnote: D, notes: A C# D F#
Major seventh, rootnote: D#, notes: G D# D A#
Major seventh, rootnote: G, notes: G B D F#
Major seventh, rootnote: G#, notes: C G# G D#
Major seventh, rootnote: A#, notes: A F D A# |
great, a string of notes and some chords but what the hell does it mean ?!
The string of notes is the order in which I will wire the outputs from the diode matrix to the mux. (of the chromatic melody generator)
Which will have the effect that when cycling the bits of 2 of the note CTRL inputs it will produce notes that form a chord.
So it's like the ARP circuits and it can cycle through multiple chords.
Code: |
note inputs DCBA = [0000,0001,0010,0011] = C E G# _ = Augmented triad: C,E,G#*
note inputs DCBA = [0100,0101,0110,0111] = A C# F _ = Augmented triad: C#,A,F*
note inputs DCBA = [1000,1001,1010,1011] = G B D# _ = Augmented triad: D#,G,B*
note inputs DCBA = [1100,1101,1110,1111] = D F# A# _ = Augmented triad: D,F#,A#*
note inputs DCBA = [0000,0001,1000,1001] = C E G B = Major seventh: C
note inputs DCBA = [0100,0101,1100,1101] = A C# D F# = Major seventh: D
note inputs DCBA = [1000,1010,1100,1110] = G D# D A# = Major seventh: D#
note inputs DCBA = [1000,1001,1100,1101] = G B D F# = Major seventh: G
note inputs DCBA = [0000,0010,1000,1010] = C G# G D# = Major seventh: G#
note inputs DCBA = [0100,0110,1100,1110] = A F D A# = Major seventh: A# |
*the only difference between these is the order of the notes.
Also all the notes it produces will be within one octave (unless the octave CTRL inputs are controlled too),
so notes that should be spread apart to form a chord will now be closer together. _________________ "My perf, it's full of holes!"
http://phobos.000space.com/
SoundCloud BandCamp MixCloud Stickney Synthyards Captain Collider Twitch YouTube |
|
Back to top
|
|
 |
PHOBoS

Joined: Jan 14, 2010 Posts: 5038 Location: Moon Base
Audio files: 671
|
Posted: Sat Oct 04, 2014 4:42 pm Post subject:
|
 |
|
I finished wiring it up and it works great
I connected some resistors to the octave divider for a stepped saw output,
(fixed octave) and added a CV input aswell.
Maybe I'll add an attenuator to that later using the spare opamp.
Here are some photos and an updated schematic.
edit: I noticed some mistakes in the schematic, so uploaded a fixed version.
Description: |
Chromatic Melody Generator |
|
Filesize: |
80.27 KB |
Viewed: |
377 Time(s) |
This image has been reduced to fit the page. Click on it to enlarge. |

|
Description: |
Chromatic Melody Generator |
|
Filesize: |
61.37 KB |
Viewed: |
362 Time(s) |
This image has been reduced to fit the page. Click on it to enlarge. |

|
Description: |
Chromatic Melody Generator |
|
Filesize: |
108.11 KB |
Viewed: |
355 Time(s) |
This image has been reduced to fit the page. Click on it to enlarge. |

|
Description: |
|
Filesize: |
137.17 KB |
Viewed: |
591 Time(s) |
This image has been reduced to fit the page. Click on it to enlarge. |

|
_________________ "My perf, it's full of holes!"
http://phobos.000space.com/
SoundCloud BandCamp MixCloud Stickney Synthyards Captain Collider Twitch YouTube Last edited by PHOBoS on Wed Oct 15, 2014 5:45 am; edited 2 times in total |
|
Back to top
|
|
 |
droffset

Joined: Feb 02, 2009 Posts: 508 Location: London area
Audio files: 2
|
|
Back to top
|
|
 |
PHOBoS

Joined: Jan 14, 2010 Posts: 5038 Location: Moon Base
Audio files: 671
|
|
Back to top
|
|
 |
PHOBoS

Joined: Jan 14, 2010 Posts: 5038 Location: Moon Base
Audio files: 671
|
|
Back to top
|
|
 |
trav

Joined: Sep 11, 2012 Posts: 108 Location: Auckland
Audio files: 16
|
Posted: Wed Oct 22, 2014 10:56 pm Post subject:
|
 |
|
How did I miss this thread?! (with references to my muddling experiments and everything)
This is very nice. Something like it will have to find its way into my new project (will start a new thread soon). Already have a bunch of spare 16bit stuff due to an overthought sequencer idea. |
|
Back to top
|
|
 |
trav

Joined: Sep 11, 2012 Posts: 108 Location: Auckland
Audio files: 16
|
Posted: Sat Oct 25, 2014 1:19 am Post subject:
|
 |
|
PHOBoS, did you look at the possibility of using a 4059 divide-by-n counter to do the same? Use a mux to programme the jam inputs, or even use 12 (or 13) 4059s for polyphony. I am still getting my head around the datasheet for this chip, but should work. |
|
Back to top
|
|
 |
PHOBoS

Joined: Jan 14, 2010 Posts: 5038 Location: Moon Base
Audio files: 671
|
Posted: Sat Oct 25, 2014 4:07 am Post subject:
|
 |
|
Thought about it but haven't really looked into it. Though it looks like it's not just a matter of making some pins high/low
to set the division, but there is some feedback involved aswell. So switching between the notes might not be very easy
and require a networks of logic gates. It should work pretty well for polyphonic use, although I'm not sure if it
would be much easier then using a bunch of 4040's. hmm it would be nice if there's a chip with several /2 counters.  _________________ "My perf, it's full of holes!"
http://phobos.000space.com/
SoundCloud BandCamp MixCloud Stickney Synthyards Captain Collider Twitch YouTube |
|
Back to top
|
|
 |
synaesthesia

Joined: May 27, 2014 Posts: 280 Location: Germany
Audio files: 85
|
Posted: Sat Oct 25, 2014 4:37 am Post subject:
|
 |
|
PHOBoS said: Quote: | it would be nice if there's a chip with several /2 counters. |
Looked for this as well. The quad FF chips I know all have a common clock. But you could use a dual FF chip like the 4013 and connect NOTQ to D, which gives you two toggle-FF per chip. |
|
Back to top
|
|
 |
PHOBoS

Joined: Jan 14, 2010 Posts: 5038 Location: Moon Base
Audio files: 671
|
|
Back to top
|
|
 |
Cynosure
Site Admin

Joined: Dec 11, 2010 Posts: 961 Location: Toronto, Ontario - Canada
Audio files: 82
|
Posted: Sun Oct 26, 2014 8:47 am Post subject:
|
 |
|
What about using a 4007 to build several latching transistor pairs? They have 3 N/P pairs, so you should be able to make 3 divide by 2 circuits on one chip. |
|
Back to top
|
|
 |
PHOBoS

Joined: Jan 14, 2010 Posts: 5038 Location: Moon Base
Audio files: 671
|
|
Back to top
|
|
 |
mike page

Joined: Sep 26, 2016 Posts: 129 Location: norwich, uk
|
Posted: Mon Apr 02, 2018 7:04 am Post subject:
|
 |
|
PHOBoS wrote: | Back to what I started with, a 4 bit Melody Generator. I had ordered some CMOS comparator chips (CD4063), but not tested yet.
Just did that so here's a working version using 2 chips.  |
Was this ever tested?
Also are the pulses that clock the 2nd half of the 4520 really tiny? |
|
Back to top
|
|
 |
PHOBoS

Joined: Jan 14, 2010 Posts: 5038 Location: Moon Base
Audio files: 671
|
|
Back to top
|
|
 |
mike page

Joined: Sep 26, 2016 Posts: 129 Location: norwich, uk
|
Posted: Mon Apr 02, 2018 1:19 pm Post subject:
|
 |
|
ah thanks, maybe i'll try a crude little transistor pulse extender type thing, but im not too hopeful about that in this application... hmmm more thinking... |
|
Back to top
|
|
 |
mike page

Joined: Sep 26, 2016 Posts: 129 Location: norwich, uk
|
Posted: Tue Apr 03, 2018 6:03 am Post subject:
|
 |
|
...Or maybe to make the output pulse bigger some sort of latching thing in conjunction with the original input osc? Like it latches on when the output and the osc are high, then stays high till they are both off?
Dont know how to do this though! And would probably be too many components to make it worthwhile... |
|
Back to top
|
|
 |
|