-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
GUI example with synth and soundfx selection ? #100
Comments
Steven, |
Hi John, |
I've certainly used the dashboard for controlling volume, tempo etc, generating random sounds etc and it works fine in a public setting, as long as you have a publically accessible IP address. Do you mean a dashboard as in https://flows.nodered.org/node/node-red-dashboard or something else? |
The project sounds great! How are the keys being played (as a matter of interest)? For programmatically selecting which instrument gets played, probably the easiest way is to use a standard switch node with outputs leading to synths for each of the types you want to use. If each note played is to be randomised you could use a JSonata expression and use the $random function. If you want to stick with the same synth being used for a while you could use a sequencer node (from n-r-c-music) with the order being randomised. Then you can either use the same instrument for a given number of bars, or have it wired up to a dashboard component which triggers the next action. If you let me know which of these you would prefer then I could quickly knock up an example for you. |
Steven,
Here's the back story. I built the EEL in 2014 for Mike Gordon, the
bass player of the US Band Phish. It's made of 5 (formerly 6) 11 key
units each 1.6m long. The keys are triggered by a capacitive sensor which
detects the players touch through a sheet of thin polycarbonate.. the
device is designed to be played by the audience in mid-sized venues so it
has to be beer (and worse) proof. I originally designed it to talk via OSC
to a Macbook running Max-MSP and Abelton and it toured around with Mike's
band for several years (see here) . Friends and I built a smaller round
version that was designed to 'crowd surf' (see here). Now Mike wants to
reprise the EEL for use by kids.. The main idea is to take the complicated
Mac interface out of the equation. ..I'm now replacing the sound interface
with a raspi 4. I'm hoping to make it as simple to use as possible.. no UI
if possible. I've decided to do the control in node-red because I want to
turn around a prototype quickly . I've used node-red for years (and its
authors Nick O'Leary and Dave Conway-Jones are good fiends of mine :-)
SO.. that's the back story..
I think I'll take your advice of using a 'switch' block to assign sounds
based on a sequence I'll generate programmatically. I don't think i can
easily use a N-R-C-M sequencer because there are many non-musical control
things I need to do to control the keyboard.. eg lights, touch enable,
touch responses, back lights, etc.. ) .. That said.. if you can knock
together the way you suggest I really would like to see it. it seems quite
powerful and flexible.. I don't want to trouble you though if it's a ton
of work
One thing that would be helpful is finding a list of 'tonal' synths that
ship with N-R-C-M .. I found this
https://github.com/stevenaeola/node-red-contrib-music/blob/master/synthtypes.json
and think i think the keyword 'tuned' means it will take a midi note..
true ? .. It also seems that if the synth has a tag 'sonic-pi' it's a
sample.. Also true ?
thanks again for the help !
-jc
John Cohn Ph.D,
IBM Fellow , MIT-IBM Watson AI Lab
phone 802-578-0985
From: Steven Bradley <notifications@github.com>
To: stevenaeola/node-red-contrib-music
<node-red-contrib-music@noreply.github.com>
Cc: john cohn <johncohn@us.ibm.com>, Author
<author@noreply.github.com>
Date: 12/26/2020 06:43 PM
Subject: [EXTERNAL] Re: [stevenaeola/node-red-contrib-music] GUI
example with synth and soundfx selection ? (#100)
The project sounds great! How are the keys being played (as a matter of
interest)? For programmatically selecting which instrument gets played,
probably the easiest way is to use a standard switch node with outputs
leading to synths for each of the types you want to use. If each note
played is to be randomised you could use a JSonata expression and use the
$random function. If you want to stick with the same synth being used for
a while you could use a sequencer node (from n-r-c-music) with the order
being randomised. Then you can either use the same instrument for a given
number of bars, or have it wired up to a dashboard component which
triggers the next action. If you let me know which of these you would
prefer then I could quickly knock up an example for you.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.
|
OK so are the play messages from different notes on the keyboard arriving as messages from different nodes, or as messages from the same node with a certain property (e.g. payload) set to something? |
In the synth node properties on the right hand side there are a bunch of tag filters. If you select 'tuned' then you will see the ones that have a specific pitch. Set the 'note' property on the the incoming message to select the note in the scale (1 is the first note, 8 is an octave higher). The synth node turns this into midi according to the current scale. Alternatively you can set the 'midi' property on the incoming message if you already know the midi value you want. |
In the synthtypes files the ones tagged with 'tuned' are indeed tuned, with a given midi pitch for the basic sample. It is speeded up/slowed down appropriately, nothing fancy. In that file most of the synths are referring to samples from somewhere in the the samples/ directory. The ones that aren't samples are labelled with "synth": true and use a SuperCollider synth in the synthdefs/ directory. Some of the synths come from https://sonic-pi.net/ and some of the samples do to: the "sonic-pi" tag is independent of the others. |
Steven,
This is not so much an issue as a request.… I am really enjoying node-red-contribute-music… I'm using it to (re)build a 30 foot keyboard for a popular band. I'm wondering if you happen to have a simple example of a node red dashboard fragment that prompts the user to try different sense and effects… I was about to write one but I figured at some point someone may have already created one but I haven't seen it. Do you have such a thing?
Again very nice job on this… Have a great holiday
-John Cohn
The text was updated successfully, but these errors were encountered: