Designing an instrument for a "3D" midi controller (Linnstrument)
| Date | 2016-01-04 10:07 |
| From | Rampoina |
| Subject | Designing an instrument for a "3D" midi controller (Linnstrument) |
Hello everyone,
I own this midi controller ( Linnstrument ) It's a grid based controller, every square on the grid is a note that has 3 axis of expression: x - Moving the finger horizontally sends Pitch Bend messages. y - Moving the finger vertically along the pad sends CC 74 messages (possibly mapped to change timbre) z - Pressure sends Polyphonic aftertouch messages. This thread poses the question whether it's possible to achieve a good synthetic solo instrument that doesn't mimic pianos or organs. One answer suggests that it is given a controller that has enough expressive capabilities. I think the Linnstrument is such a controller. I would like to build that instrument using open source tools. (I don't mind if it sounds piano-like though) Given that I'm a programmer I thought Csound was a good match. (I tried SuperCollider and liked it but Csound seems to have more instrument design examples and resources.) I'm new to sound design and this is proving to be a daunting task. My question is how would you approach designing such an instrument. Reading csound book, chapter 6 (Designing Acoustically Viable Instruments in Csound) gave me a bit of insight on how to approach this. (Any resources on how to build good instruments, like that chapter or maybe a code example would be welcome.) My idea: - pressure controls loudness continously - Y changes timbre continously - FM-synthesis (it seems easier to change timbre continously), examples of good sounding FM instruments would be great - sound placed in 3d environment according to frequency and timbre possibly the notes would be placed around the listener with lower notes being on the left and higher notes being on the right, and timbre changes would change altitude. - implementing the other connections described in that chapter to make the instrument acoustically viable. Please tell me your ideas or/and any resources that could be helpful. Thank you. View this message in context: Designing an instrument for a "3D" midi controller (Linnstrument) Sent from the Csound - General mailing list archive at Nabble.com. Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here |
| Date | 2016-01-04 10:48 |
| From | Richard |
| Subject | Re: Designing an instrument for a "3D" midi controller (Linnstrument) |
|
Looks interesting. A pity that this instrument does not seem to support OSC. Midi is a bit limited if you want to change many parameters. OSC was therefore invented as a better protocol than midi. Richard On 04/01/16 11:07, Rampoina wrote:
|
| Date | 2016-01-04 11:10 |
| From | Rampoina |
| Subject | Re: Designing an instrument for a "3D" midi controller (Linnstrument) |
It doesn't, although the firmware is open source, so it's possible to
implement it if you have the necessary expertise.
(I dabbled a bit with the firmware code and I don't think it would be too
hard, only time consuming)
--
View this message in context: http://csound.1045644.n5.nabble.com/Designing-an-instrument-for-a-3D-midi-controller-Linnstrument-tp5745904p5745911.html
Sent from the Csound - General mailing list archive at Nabble.com.
Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here |
| Date | 2016-01-04 11:15 |
| From | Rory Walsh |
| Subject | Re: Designing an instrument for a "3D" midi controller (Linnstrument) |
The same could be said of almost every controller in production. OSC may have been invented to provide better control, but hardware companies seem to have no interest in supporting it. I guess they have their reasons. Anyhow, if I had linnstrument I would start off by building a very simple instrument and making sure I can easily access all the incoming MIDI data to Csound. I'd probably then write a simple UDO that outputs the X,Y and Z data. I'd then take this UDO and drop it into any number of pre-existing synths, especially some from Iain McCurdy's collection. On a related note, I've been tempted to purchase the QuNexus keyboard. I guess it works in a similar way. http://iainmccurdy.org/csound.html On 4 January 2016 at 10:48, Richard <zappfinger@gmail.com> wrote:
|
| Date | 2016-01-04 11:33 |
| From | Michael Gogins |
| Subject | Re: Designing an instrument for a "3D" midi controller (Linnstrument) |
Look at Iain mccurdy's example synthesizers, especially the ones that come with the Csound front end cabbage as examples. Regards, On Jan 4, 2016 5:17 AM, "Rampoina" <binbiniqegabenik@gmail.com> wrote:
Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here
|
| Date | 2016-01-04 17:46 |
| From | Rampoina |
| Subject | Re: Designing an instrument for a "3D" midi controller (Linnstrument) |
Reading the midi data in Csound is pretty straightforward as it sends standard messages. My problem with existing synthesizers is that they are not designed for such a controller. Specifically for continuous amplitude change (I guess a breath controller would be the closest thing), and continuous timbre change. 2016-01-04 12:35 GMT+01:00 Michael Gogins-2 [via Csound] <[hidden email]>:
View this message in context: Re: [Csnd] Designing an instrument for a "3D" midi controller (Linnstrument) Sent from the Csound - General mailing list archive at Nabble.com. Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here |
| Date | 2016-01-04 17:58 |
| From | Rory Walsh |
| Subject | Re: Designing an instrument for a "3D" midi controller (Linnstrument) |
It still sends note no/off data? Existing instruments may not have been designed for such controls, but most real-time Csound instruments I've ever seen provide users with the means to control their timbre. Why not just map some of these parameters? On 4 January 2016 at 17:46, Rampoina <binbiniqegabenik@gmail.com> wrote:
|
| Date | 2016-01-04 18:23 |
| From | Rampoina |
| Subject | Re: Designing an instrument for a "3D" midi controller (Linnstrument) |
Yes of course, it has note on/off, but I would still like to control the amplitude with pressure, and with the instruments that already have envelopes etc I'm not sure what is a good way to go. (ignoring the envelope makes it sound not very good). Regarding timbre, sure they do but at least the ones that are tried do not sound that good when you change it continuously per note. 2016-01-04 19:00 GMT+01:00 rory walsh [via Csound] <[hidden email]>:
View this message in context: Re: [Csnd] Designing an instrument for a "3D" midi controller (Linnstrument) Sent from the Csound - General mailing list archive at Nabble.com. Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here |
| Date | 2016-01-05 08:36 |
| From | Rory Walsh |
| Subject | Re: Designing an instrument for a "3D" midi controller (Linnstrument) |
A simple gain control could work for mapping continuously volume. Iain has many great instruments. What platform are you on? On 4 January 2016 at 18:23, Rampoina <binbiniqegabenik@gmail.com> wrote:
|
| Date | 2016-01-05 09:02 |
| From | Iain McCurdy |
| Subject | Re: Designing an instrument for a "3D" midi controller (Linnstrument) |
|
If you want to preserve part of characteristic given by the amplitude envelope you could use the attack-decay part of the defined envelope, then crossfade to the controller value for the sustain portion, and also have a release envelope (e.g. linsegr) ramping from 1 to 0 multiplied to the amplitude. You could use the same technique with the cutoff of a lowpass filter to control timbre. Date: Tue, 5 Jan 2016 08:36:51 +0000 From: rorywalsh@EAR.IE Subject: Re: [Csnd] Designing an instrument for a "3D" midi controller (Linnstrument) To: CSOUND@LISTSERV.HEANET.IE A simple gain control could work for mapping continuously volume. Iain has many great instruments. What platform are you on? On 4 January 2016 at 18:23, Rampoina <binbiniqegabenik@gmail.com> wrote:
|
| Date | 2016-01-05 19:10 |
| From | Rampoina |
| Subject | Re: Designing an instrument for a "3D" midi controller (Linnstrument) |
I'm on Linux using CsoundQt (although I have no problems using any other frontend). @Iain thanks, I was thinking of doing something similar but I haven't tried it yet. I'll give another look at your instruments2016-01-05 9:38 GMT+01:00 rory walsh [via Csound] <[hidden email]>:
View this message in context: Re: [Csnd] Designing an instrument for a "3D" midi controller (Linnstrument) Sent from the Csound - General mailing list archive at Nabble.com. Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here |
| Date | 2016-01-05 19:20 |
| From | Rory Walsh |
| Subject | Re: Designing an instrument for a "3D" midi controller (Linnstrument) |
I only ask because it's nice to play with a GUI when trying to figure out what parameters might best map to your MIDI controllers. Have you tried using Cabbage at all? Iain has written a lot of great instruments for it, and they each feature a comprehensive GUI that allow you to tweak parameters in real-time. You can also map your MIDI controller really quickly to any of these parameters if you you launch tehh instruments in a host such as Ardour. In this way you don't even need to write any Csound code. If you're interested, you'll need to download the repo: Then browse to the Builds/Linux folder and follow the REAMDE there for instructions on building it. On 5 January 2016 at 19:10, Rampoina <binbiniqegabenik@gmail.com> wrote:
|
| Date | 2016-01-05 19:34 |
| From | Rampoina |
| Subject | Re: Designing an instrument for a "3D" midi controller (Linnstrument) |
Thanks, I'll give it a try. 2016-01-05 20:22 GMT+01:00 rory walsh [via Csound] <[hidden email]>:
View this message in context: Re: [Csnd] Designing an instrument for a "3D" midi controller (Linnstrument) Sent from the Csound - General mailing list archive at Nabble.com. Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here |