Table of Contents

netpd

netpd is a wonderful project: see http://www.netpd.org

i want to use it on stage

i need to be able to play with it using a midi keyboard and midi controllers etc..

thanks to the great netpd design concept I should be able to do everything I need without modifying anything of present and future netpd instruments: i just need to send the correct message to the [s netpd-broadcast] and I am done!

midify

i’ve implemented a first version capable of editing oxygen chords (see http://www.netpd.org/Oxygen).

now I need to extend it to:

  • jamx (for bassist, gold, etc..) (see http://www.netpd.org/Jamx)
  • generic midi controller → slider (so you can rounte a midi knob to any netpd slider

see: http://www.netpd.org/Midify

implementation notes

for example this message changes the octave of the first note in the first instrumento of oxy:

|oxi-oc1-1 3(
|
[s netpd-broadcast]

chat on netpd:

:: 11:27:59 dmorelli: hello!
:: 11:28:07 __e.erne: _on_socket:_4_
:: 11:28:07 dmorelli: _on_socket:_5_
:: 11:29:08 __e.erne: hi.man
:: 11:30:23 __e.erne: I'm.still.rebuilding.the.mx
:: 11:32:27 dmorelli: yeah.keep.up.the.good.job!
:: 11:32:49 dmorelli: i.think.i'll.modify.oxi
:: 11:33:14 dmorelli: i.need.to.modify.it.through.midi
:: 11:33:31 dmorelli: studying.tuts..
:: 11:35:13 __e.erne: oxygen?
:: 11:35:19 dmorelli: yes
:: 11:35:48 dmorelli: and.the.bassist.too
:: 11:35:52 __e.erne: it.has.a.nice.yound.
:: 11:35:55 __e.erne: sound
:: 11:36:15 __e.erne: for.bassist.it.should.be.quite.easy
:: 11:36:25 __e.erne: to.adapt.as.midi.synth
:: 11:36:40 __e.erne: but.monophonic.though
:: 11:37:00 dmorelli: i.was.thinking.editing.jamx.and.let.it
:: 11:37:05 dmorelli: take.notes.from.midi
:: 11:37:40 __e.erne: kind.of.midi.recording?
:: 11:37:56 dmorelli: yes.something.like.that.
:: 11:37:58 __e.erne: wow
:: 11:38:06 dmorelli: ever.used.finale?
:: 11:38:07 __e.erne: that.would.be.awesome.
:: 11:38:16 __e.erne: finale?.no.sorry
:: 11:38:36 dmorelli: np.i.have.in.mind.an.interface.like.fin
:: 11:38:48 dmorelli: finale.for.notein
:: 11:38:58 __e.erne: is.it.a.patch.or.an.application
:: 11:38:59 __e.erne: ?
:: 11:39:17 dmorelli: is.a.win.sw.for.music.publishing
:: 11:39:35 __e.erne: I.google.it.maybe.i.get.a.screenshot
:: 11:40:08 dmorelli: www.finalemusic.com
:: 11:40:23 __e.erne: thanks
:: 11:42:04 dmorelli: but.maybe.a.simple.midi.recorder
:: 11:42:10 dmorelli: would.be.better
:: 11:42:24 dmorelli: i.was.thinking.at.a.step.sequencer.
:: 11:42:34 dmorelli: but.with.notes.settable.via.midi
:: 11:43:07 __e.erne: that'd.be.awesome
:: 11:44:23 __e.erne: hm
:: 11:44:57 __e.erne: you.could.record.it.into.a.qlist
:: 11:45:20 __e.erne: I.never.tried.
:: 11:45:38 __e.erne: maybe.its.a.problem.to.play.it.from.the
:: 11:45:55 __e.erne: there.with.different.tempo
:: 11:45:56 __e.erne: ?
:: 11:46:30 dmorelli: i.have.some.patch.for.quantization
:: 11:46:42 dmorelli: maybe.is.better.to.implement
:: 11:46:54 dmorelli: everything.inside.the.bassist
:: 11:47:08 dmorelli: it.should.be.quite.easy
:: 11:47:54 __e.erne: you.can.send.bassist.midinotes
:: 11:48:04 dmorelli: but.i.need.to.understand.the
:: 11:48:17 dmorelli: internals.of.bassists.and.oxy.first
:: 11:49:40 __e.erne: [\\\;
:: 11:49:51 dmorelli: i'd.like.to.use.netpd.on.stage!
:: 11:49:53 __e.erne: bassist_64_0.5_0.5(
:: 11:50:28 __e.erne: with.midi.-keyboards?./controllers?
:: 11:50:52 dmorelli: yeah.both
:: 11:51:21 dmorelli: also.i.am.developing.a.rhythms
:: 11:51:30 dmorelli: and.melodies.and.chords.improviser
:: 11:51:38 dmorelli: i'd.like.to.link.it.to.netpd
:: 11:52:27 __e.erne: I.think.that.should.be.possible.

:: 11:52:40 __e.erne: wothout.changing.anything.in.netpd
:: 11:52:52 __e.erne: i.e
:: 11:53:50 __e.erne: have.a.look.at.the.output
:: 11:53:53 __e.erne: of:
:: 11:54:06 __e.erne: [r_netpd-receive]
:: 11:54:29 __e.erne: there.are.all.broadcasted.data
:: 11:54:59 __e.erne: so.you.could.link.a.midicontroller
:: 11:55:06 __e.erne: to.something.like
:: 11:55:24 __e.erne: [\\\;
:: 11:55:45 __e.erne: netpd-receive_bass.boes_$1(
:: 11:56:06 dmorelli: yeah!cool.and.easier.than.expected!
:: 11:56:23 __e.erne: great!
:: 11:56:51 dmorelli: so.i.can.add.midi.without.modifying
:: 11:56:57 __e.erne: exactly
:: 11:57:00 dmorelli: neither.oxy.nor.bassit
:: 11:57:15 __e.erne: ofcorse.if.you.want.to.broadcast.
:: 11:57:19 __e.erne: it.should.be
:: 11:57:20 dmorelli: wow.netpd.has.a.great.design
:: 11:57:22 __e.erne: [\\\;
:: 11:57:36 __e.erne: netpd-broadcast_bass.boes_$1(
:: 11:58:17 __e.erne: now.for.your.midikeyboard
:: 11:58:26 __e.erne: thats.what.jamx.does
:: 11:58:51 __e.erne: jamx.sends.a.list.to.[r_bassist]
:: 11:59:25 __e.erne: [midinote_value_value]_for.bassist
:: 11:59:40 __e.erne: value.is.between.0.and.1
:: 12:00:01 __e.erne: [\\\;
:: 12:00:20 __e.erne: bassist_71_0.6_0.8(
:: 12:00:55 __e.erne: I.suppose.oxy.is.a.bit.different
:: 12:01:35 __e.erne: I.never.had.a.look.on.oxy.so
:: 12:01:39 dmorelli: yes.but.the.idea.must.be.the.same
:: 12:01:40 __e.erne: I.can't.help.there
:: 12:02:06 dmorelli: i.mean.i'll.broadcast
:: 12:02:16 dmorelli: the.same.way.oxy.does
print: oxygen.dumpreqreq 4
:: 12:02:39 dmorelli: whatever.it.is
:: 12:03:03 __e.erne: I'm.quite.sure.:
:: 12:03:13 __e.erne: without.changing.something.in.oxy
:: 12:03:21 __e.erne: you.wont.be.able.to.controll.it
:: 12:03:28 __e.erne: with.a.midikeyboard
:: 12:03:31 __e.erne: but
:: 12:04:07 dmorelli: well.i.suppose.changing.something
:: 12:04:17 dmorelli: won't.be.forbiden..\\\;)
:: 12:04:33 __e.erne: ofcourse.but.maybe.you.change.the.name
:: 12:04:37 __e.erne: of.the.patch.
:: 12:04:50 __e.erne: so.you.wont.have.a.name.conflict
:: 12:05:03 dmorelli: oh.sure.i'll.put.the.new.one
:: 12:05:10 dmorelli: somewhere.with.a.different.name
:: 12:05:16 dmorelli: and.IF.is.ok
:: 12:05:43 dmorelli: then.a.the.author.will.substitute.them
:: 12:05:56 __e.erne: oxy.by.roman.haefeli
:: 12:06:04 __e.erne: bassist.too
:: 12:06:09 __e.erne: but.should.be.ok
 
netpd\netpd_midi.txt · Last modified: 2010/02/16 19:10
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki