spiricom / stm32f7

code for the STM32f7 IC
3 stars 3 forks source link

Genera Module Concept: MantaChord #1

Open JoshuaStorm opened 7 years ago

JoshuaStorm commented 7 years ago

image Can you tell I'm procrastinating?

Just had this idea and wanted to put it down for Genera module, since pre-existing chord modules are kinda clunky and lame (shots fired 🔫 ).

I discussed this via email with @spiricom, but a few ideas changed after recognizing the actual hardware restrictions.

Effectively, the module would take an input root 1V/O CV (Jack 1), a chord CV (Jack 2), an inversion CV (Jack 11), and a voicing CV (Jack 12) to produce chords. The main distinction between what we discussed in email and the new idea is the Genera would actually be the sound source.

Depending on memory/processing restriction: we could have wavetables for the oscillation source, just layering them according to the chord corresponding to the input CV values. If possible, it'd be pretty sick to have a wavetable position CV as well (Jack 10/3?).

Why this would be interesting? MODULAR CHORDS 👍 with the benefit of Manta control, we could assign the CV ranges to the same as the individual Manta Slider LEDs so its easily selectable for up to 8 chords, all inversions, and voicings. So, effectively it would be like the Qubit Chord, but with actual capabilities to be used compositionally instead of just arpeggiating the chord flavor/voicing/inversions...

Big Possible issue? Can the STM32F7 handle 4 oscillators and then some? 8 oscillators? I imagine wavetable scanning might be a little difficult since I imagine we'd probably need fairly large amount of memory or lots of processing to interpolate.

spiricom commented 7 years ago

Cool idea! Yes, I think we could definitely get 4 oscillators running, especially if they are simple oscillators without any enveloping, etc (which could be done outside the module) -Jeff

On Mon, Jan 16, 2017 at 11:08 AM, Joshua Storm Becker < notifications@github.com> wrote:

[image: image] https://cloud.githubusercontent.com/assets/12414183/21989640/ab417122-dbd9-11e6-9387-38db0016f3ea.png Can you tell I'm procrastinating?

Just had this idea and wanted to put it down for Genera module, since pre-existing chord modules are kinda clunky and lame (shots fired 🔫 ).

I discussed this via email with @spiricom https://github.com/spiricom, but a few ideas changed after recognizing the actual hardware restrictions.

Effectively, the module would take an input root 1V/O CV (Jack 1), a chord CV (Jack 2), an inversion CV (Jack 11), and a voicing CV (Jack 12) to produce chords. The main distinction between what we discussed in email and the new idea is the Genera would actually be the sound source.

Depending on memory/processing restriction: we could have wavetables for the oscillation source, just layering them according to the chord corresponding to the input CV values. If possible, it'd be pretty sick to have a wavetable position CV as well (Jack 10/3?).

Why this would be interesting? MODULAR CHORDS 👍 with the benefit of Manta control, we could assign the CV ranges to the same as the individual Manta Slider LEDs so its easily selectable for up to 8 chords, all inversions, and voicings. So, effectively it would be like the Qubit Chord, but with actual capabilities to be used compositionally instead of just arpeggiating the chord flavor/voicing/inversions

Big Possible issue? Can the STM32F7 handle 4 oscillators and then some? 8 oscillators? I imagine wavetable scanning might be a little difficult since I imagine we'd probably need fairly large amount of memory or lots of processing to interpolate.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/spiricom/stm32f7/issues/1, or mute the thread https://github.com/notifications/unsubscribe-auth/AAwMfELrw5OV_IGx_qyJHydyonOYX985ks5rS5YTgaJpZM4LkuYt .

-- Composer, musician, instrument designer snyderphonics.com * @snyderphonics

spiricom commented 7 years ago

We also have quite a bit of external memory - at Tom Erbe's suggestion, I added some QuadSPI flash memory to the main synth board, so we can store samples and lots of wavetables, and pull them quickly from that memory chip.

-Jeff

On Mon, Jan 16, 2017 at 11:42 AM, Jeff Snyder jeff@snyderphonics.com wrote:

Cool idea! Yes, I think we could definitely get 4 oscillators running, especially if they are simple oscillators without any enveloping, etc (which could be done outside the module) -Jeff

On Mon, Jan 16, 2017 at 11:08 AM, Joshua Storm Becker < notifications@github.com> wrote:

[image: image] https://cloud.githubusercontent.com/assets/12414183/21989640/ab417122-dbd9-11e6-9387-38db0016f3ea.png Can you tell I'm procrastinating?

Just had this idea and wanted to put it down for Genera module, since pre-existing chord modules are kinda clunky and lame (shots fired 🔫 ).

I discussed this via email with @spiricom https://github.com/spiricom, but a few ideas changed after recognizing the actual hardware restrictions.

Effectively, the module would take an input root 1V/O CV (Jack 1), a chord CV (Jack 2), an inversion CV (Jack 11), and a voicing CV (Jack 12) to produce chords. The main distinction between what we discussed in email and the new idea is the Genera would actually be the sound source.

Depending on memory/processing restriction: we could have wavetables for the oscillation source, just layering them according to the chord corresponding to the input CV values. If possible, it'd be pretty sick to have a wavetable position CV as well (Jack 10/3?).

Why this would be interesting? MODULAR CHORDS 👍 with the benefit of Manta control, we could assign the CV ranges to the same as the individual Manta Slider LEDs so its easily selectable for up to 8 chords, all inversions, and voicings. So, effectively it would be like the Qubit Chord, but with actual capabilities to be used compositionally instead of just arpeggiating the chord flavor/voicing/inversions

Big Possible issue? Can the STM32F7 handle 4 oscillators and then some? 8 oscillators? I imagine wavetable scanning might be a little difficult since I imagine we'd probably need fairly large amount of memory or lots of processing to interpolate.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/spiricom/stm32f7/issues/1, or mute the thread https://github.com/notifications/unsubscribe-auth/AAwMfELrw5OV_IGx_qyJHydyonOYX985ks5rS5YTgaJpZM4LkuYt .

-- Composer, musician, instrument designer snyderphonics.com * @snyderphonics

-- Composer, musician, instrument designer snyderphonics.com * @snyderphonics

mulshine commented 7 years ago

yeah i think we can totally get 4 oscillators - probably twice that.

On Mon, Jan 16, 2017 at 11:43 AM Jeff Snyder notifications@github.com wrote:

We also have quite a bit of external memory - at Tom Erbe's suggestion, I

added some QuadSPI flash memory to the main synth board, so we can store

samples and lots of wavetables, and pull them quickly from that memory

chip.

-Jeff

On Mon, Jan 16, 2017 at 11:42 AM, Jeff Snyder jeff@snyderphonics.com

wrote:

Cool idea!

Yes, I think we could definitely get 4 oscillators running, especially if

they are simple oscillators without any enveloping, etc (which could be

done outside the module)

-Jeff

On Mon, Jan 16, 2017 at 11:08 AM, Joshua Storm Becker <

notifications@github.com> wrote:

[image: image]

< https://cloud.githubusercontent.com/assets/12414183/21989640/ab417122-dbd9-11e6-9387-38db0016f3ea.png

Can you tell I'm procrastinating?

Just had this idea and wanted to put it down for Genera module, since

pre-existing chord modules are kinda clunky and lame (shots fired 🔫 ).

I discussed this via email with @spiricom <https://github.com/spiricom ,

but a few ideas changed after recognizing the actual hardware restrictions.

Effectively, the module would take an input root 1V/O CV (Jack 1), a

chord CV (Jack 2), an inversion CV (Jack 11), and a voicing CV (Jack 12)

to produce chords. The main distinction between what we discussed in email

and the new idea is the Genera would actually be the sound source.

Depending on memory/processing restriction: we could have wavetables for

the oscillation source, just layering them according to the chord

corresponding to the input CV values. If possible, it'd be pretty sick to

have a wavetable position CV as well (Jack 10/3?).

Why this would be interesting? MODULAR CHORDS 👍 with the benefit of

Manta control, we could assign the CV ranges to the same as the individual

Manta Slider LEDs so its easily selectable for up to 8 chords, all

inversions, and voicings. So, effectively it would be like the Qubit Chord,

but with actual capabilities to be used compositionally instead of just

arpeggiating the chord flavor/voicing/inversions

Big Possible issue? Can the STM32F7 handle 4 oscillators and then some? 8

oscillators? I imagine wavetable scanning might be a little difficult since

I imagine we'd probably need fairly large amount of memory or lots of

processing to interpolate.

You are receiving this because you were mentioned.

Reply to this email directly, view it on GitHub

https://github.com/spiricom/stm32f7/issues/1, or mute the thread

< https://github.com/notifications/unsubscribe-auth/AAwMfELrw5OV_IGx_qyJHydyonOYX985ks5rS5YTgaJpZM4LkuYt

.

--

Composer, musician, instrument designer

snyderphonics.com * @snyderphonics

--

Composer, musician, instrument designer

snyderphonics.com * @snyderphonics

You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/spiricom/stm32f7/issues/1#issuecomment-272910851, or mute the thread https://github.com/notifications/unsubscribe-auth/AGlRgCCES4fpnpaTfR930kNLRRaFHpnxks5rS54pgaJpZM4LkuYt .

JoshuaStorm commented 7 years ago

Thinking a bit more on this, it'd be pretty cool to branch this concept out to be the ultimate digital multi-oscillator module:

Someone can probably point out are hardware restriction I'm overlooking in this but:

B mode (push button B, B button LED lights up): Unison oscillator, maybe with a sub-oscillator as well

C mode: Chord mode, same as above

D mode: FM mode, this one probably needs to be thought out a bit more, at least with regards to the interface, but would probably be the most unique one if done well

A button/LED for FM algo

Then using the knobs to control the 3 carriers frequency (probably makes the most sense for the frequency to just be a ratio of the root rather than free running tuning), use other knobs for wave types? Not sure how to handle feedbacking since we won't have a huge number of algo selections (5?)

Sort of makes a lot of compromises as an FM module, (probably wouldn't make a DX7 user happy) but I think it could likely achieve some of the modern FM stuff pretty well (painfully digital bass/texture stuffs). Not to mention most modular FM stuff makes compromises in a lot of places

spiricom commented 7 years ago

This sounds like a great idea :)

Hardware-wise, the only thing I can think of is that we may run into CPU performance issues with it not able to keep up with multiple oscillators, but I think it should be able to do it. We were getting 7 sine waves running on it today - and we may be able to speed things up, too.

We'd have to put this together on one with 6 knobs and 12 jacks, then. I should build up a version like that (haven't soldered one with more jacks together yet). -Jeff

On Fri, Jan 20, 2017 at 12:40 AM, Joshua Storm Becker < notifications@github.com> wrote:

Thinking a bit more on this, it'd be pretty cool to branch this concept out to be the ultimate digital multi-oscillator module:

Someone can probably point out are hardware restriction I'm overlooking in this but:

B mode (push button B, B button LED lights up): Unison oscillator, maybe with a sub-oscillator as well

  • Jack 1 CV: Root 1V/O
  • Jack 2 CV: Number of oscillators in unison
  • Jack 3 CV: Wavetable Position
  • Jack 11 CV: Detune
  • Jack 12 CV: Sub-oscillator volume (?)

C mode: Chord mode, same as above

  • Jack 1 CV: Root 1V/O
  • Jack 2 CV: Chord selection
  • Jack 3 CV: Wavetable Position
  • Jack 11 CV: Inversion
  • Jack 12 CV: Voicing

D mode: FM mode, this one probably needs to be thought out a bit more, at least with regards to the interface, but would probably be the most unique one if done well

  • Jack 1 CV: Root 1V/O
  • Jack 2 CV: Carrier amplitude (or maybe another modulator, just assuming carrier will be attenuated outside the module)
  • Jack 3 CV: Modulator 1 amplitude
  • Jack 11 CV: Modulator 2 amplitude
  • Jack 12 CV: Modulator 3 amplitude

A button/LED for FM algo

Then using the knobs to control the 3 carriers frequency (probably makes the most sense for the frequency to just be a ratio of the root rather than free running tuning), use other knobs for wave types? Not sure how to handle feedbacking since we won't have a huge number of algo selections (5?)

Sort of makes a lot of compromises as an FM module, (probably wouldn't make a DX7 user happy) but I think it could likely achieve some of the modern FM stuff pretty well (painfully digital bass/texture stuffs). Not to mention most modular FM stuff makes compromises in a lot of places

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/spiricom/stm32f7/issues/1#issuecomment-273982343, or mute the thread https://github.com/notifications/unsubscribe-auth/AAwMfGZXedi0qsioX4awAbYj6JcbLwr2ks5rUEixgaJpZM4LkuYt .

-- Composer, musician, instrument designer snyderphonics.com * @snyderphonics