| Author |
Message |
trav

Joined: Sep 11, 2012 Posts: 108 Location: Auckland
Audio files: 16
|
Posted: Mon Jan 11, 2016 1:50 am Post subject:
4-octave polyphony, one chip per note |
 |
|
For my next lunetta I have been thinking about a polyphonic tone generator which strikes an acceptable balance between having a low chip count and not sounding too awful. Here is what I up with:
I started with the frequency ratios for just intonation...
| Code: |
C D E F G A B
1/1 9/8 5/4 4/3 3/2 5/3 15/8
|
then divided through by 15...
| Code: |
C D E F G A B
1/15 9/120 1/12 4/45 1/10 1/9 1/8
|
I decided I could cope with a slightly flat D and F, so simplified to...
| Code: |
C D E F G A B
1/15 1/13 1/12 1/11 1/10 1/9 1/8
|
...familiar Melody Generator stuff. I'm after polyphony, though, so instead of using a mux to select the divisions, I devote a counter to each note. Each counter is hardwired to reset at the appropriate step using diodes:
| Code: |
note count diodes
C 14 1110
D 12 1100
E 11 1011
F 10 1010
G 9 1001
A 8 1000
B 7 0111
|
Then I need to turn the pulses into a squarewave. The 4520 has two 4-bit counters, so I can do the division and then get 4 octaves from the result all on the one chip. A fairly high frequency osc to clock them all, and bingo, plenty of notes to play with.
The concept seemed promising on the breadboard, but I didn't have enough room to fit everything on and get a scale going, so I'll record something once it's soldered.
| Description: |
|
| Filesize: |
33.69 KB |
| Viewed: |
565 Time(s) |
| This image has been reduced to fit the page. Click on it to enlarge. |

|
|
|
|
Back to top
|
|
 |
trav

Joined: Sep 11, 2012 Posts: 108 Location: Auckland
Audio files: 16
|
Posted: Mon Jan 11, 2016 1:55 am Post subject:
|
 |
|
| err, CLOCK A on ICs 2 and 3 should obviously be connect with the others. |
|
|
Back to top
|
|
 |
synaesthesia

Joined: May 27, 2014 Posts: 291 Location: Germany
Audio files: 85
|
Posted: Mon Jan 11, 2016 11:40 am Post subject:
|
 |
|
| That's a promising design, trav. I tried the same with shift register dividers and ended up with a sharp E, F and B (around 2%). But it was alright for the intended purpose. Looking forward to hear how your solution sounds. |
|
|
Back to top
|
|
 |
trav

Joined: Sep 11, 2012 Posts: 108 Location: Auckland
Audio files: 16
|
Posted: Thu Jan 14, 2016 10:36 pm Post subject:
|
 |
|
Okay, it took a bit of troubleshooting. I don't know what made me think I had to count to one less than the desired division. Also the division by 8 can of course be taken straight from Q2 without having to reset the counter. I decided to take the UnB clock from one of the Q outputs on UnA too, instead of the reset line. My neater-than-usual soldering job was ruined by having to make these changes on the board (lesson: get a bigger breadboard!), but in the end it works. Recording and updated schematic below.
| Code: |
note division diodes tap
C 15 1111 Q3
D 13 1101 Q3
E 12 1100 Q3
F 11 1011 Q2
G 10 1010 Q2
A 9 1001 Q2
B 8 n/a Q2
|
| Description: |
|
| Filesize: |
34.8 KB |
| Viewed: |
563 Time(s) |
| This image has been reduced to fit the page. Click on it to enlarge. |

|
| Description: |
|
 Download (listen) |
| Filename: |
polyphony.mp3 |
| Filesize: |
446.94 KB |
| Downloaded: |
930 Time(s) |
|
|
|
Back to top
|
|
 |
trav

Joined: Sep 11, 2012 Posts: 108 Location: Auckland
Audio files: 16
|
Posted: Thu Jan 14, 2016 10:47 pm Post subject:
|
 |
|
I don't know whether I expected it to be in better tune or not. Maybe I got the divisions wrong or maybe it's just the compromises I mentioned above. The different "modes" (scales starting on different notes) are interesting, though, and there are plenty of harmonic intervals in there, so I am quite pleased with the result. The principle of selecting seven divisions between 1/8 and 1/16 has yielded a good selection of frequencies to play around with; I am sure I'll be happily patching melodies (and chord progressions???) in no time.
First, though, I have to put together a sequencer: patching up a 32-channel mux for the recording was a job in itself! |
|
|
Back to top
|
|
 |
trav

Joined: Sep 11, 2012 Posts: 108 Location: Auckland
Audio files: 16
|
|
|
Back to top
|
|
 |
PHOBoS

Joined: Jan 14, 2010 Posts: 5888 Location: Moon Base
Audio files: 709
|
|
|
Back to top
|
|
 |
synaesthesia

Joined: May 27, 2014 Posts: 291 Location: Germany
Audio files: 85
|
Posted: Fri Jan 15, 2016 12:09 pm Post subject:
|
 |
|
| Quote: | | I decided to take the UnB clock from one of the Q outputs on UnA too, instead of the reset line. |
Using the highest Qn output from QnA will give a wider clock pulse than the short reset pulse. This only means that the clock for the octave divider (UnB) will arrive a bit earlier, but still with the same frequency.
However, check F, G and A. I believe you need to use Q3 there, not Q2. Otherwise there will be two clock signals for UnB per division cycle instead of one. |
|
|
Back to top
|
|
 |
PHOBoS

Joined: Jan 14, 2010 Posts: 5888 Location: Moon Base
Audio files: 709
|
Posted: Fri Jan 15, 2016 12:38 pm Post subject:
|
 |
|
yeah, that's what I was thinking. I first thought that using the Q3 outputs might give some phasing problems
when mixing the notes, but that shouldn't matter since they are already at a different frequency anyway.
However I do also wonder about those F, G, A notes. I haven't given it much thought yet though, it's just my
first impression from looking at it, maybe it does work correct. _________________ "My perf, it's full of holes!"
http://phobos.000space.com/
SoundCloud BandCamp MixCloud Stickney Synthyards Captain Collider Twitch YouTube |
|
|
Back to top
|
|
 |
trav

Joined: Sep 11, 2012 Posts: 108 Location: Auckland
Audio files: 16
|
Posted: Fri Jan 15, 2016 1:48 pm Post subject:
|
 |
|
I think it's fine...
| Code: |
count 0123456789ABCDEF
Q2 ____----____----
Q3 ________--------
note
C(Q3) ________-------
D(Q3) ________-----
E(Q3) ________----
F(Q2) ____----___
G(Q2) ____----__
A(Q2) ____----_
B(Q2) ____----
|
I don't know why I decided to do it this way. While troubleshooting I thought the short clock pulses might be a problem, so took the clock from the Q output which gave the longest on time per cycle. Of course that wasn't the problem at all, and using the reset line should work. |
|
|
Back to top
|
|
 |
synaesthesia

Joined: May 27, 2014 Posts: 291 Location: Germany
Audio files: 85
|
Posted: Fri Jan 15, 2016 3:02 pm Post subject:
|
 |
|
| Correct, Q2 would go HIGH for the second time at 12 (0b1100), but the counter already resets before that. Cool! |
|
|
Back to top
|
|
 |
|