Noob Trying to Create a MIDI Chorder/Harmonizer
Yet more progress!
But still stuck on sending noteoff messages to a note after its number has changed. Maybe there’s something to do with a cold inlet, working as memory? Wait! Might have found part of the solution…
Followed the first two parts on the synth creation tutorial on Libre Music Production,
(The third and last part of the LMP tutorial has to do with filters and UI, so it shouldn’t have an answer to my noteoff issue.)
Through that tutorial, was able to make a simple polyphonic synth which takes MIDI in and outputs ADSR-enveloped notes to the DAC. So far, so good.
Added a fifth to the mix. Still works. No stuck note.
Then tried adding a third note which progressively goes up with a counter… Boom, noteoff problem again. It does make some sense: need to trigger a velocity of zero to the previous note, But this is where memory would come in handy.
Found part of a solution in using the right inlet of a [float
] object,
libremusic-synth.pd
Now, the synth produces the correct effect, even with multiple incoming notes.
In fact, doing this with [poly
] may bring us closer to the original effect created by Robby Kilgore on the Oberheim Xpander! Adding more polyphony than the notes which are produced internally, getting a rotation of notes… and a comeback of the noteoff problem.
libremusic-synth-rot.pd
So, getting closer, but my learning path is still winding around. Will search for known solutions, as it’s surely a common problem. Don’t necessarily want to go all the way to a minimal sequencer with [tabwrite
] and [tabread
], but it could be a solution and would have the added advantage of leaving a trace on which notes have been generated.
Will get it eventually!
Syntax (%lf:%lf)(%lf:%lf)(%lf) for fields?
Hi,
I am not sure if your question is about this specific example of about format specifiers in general. In case it's the latter, then Pd uses the same format specifiers as the C programming language, see: https://www.le.ac.uk/users/rjm1/cotter/page_30.htm
%lf
is used for double precision floats if I am not mistaken. So basically if you ask a C program to print the string (%lf:%lf)(%lf:%lf)(%lf)
and give it 5 double precision floats as arguments (let's say 1.0, 2.0, 3.0, 4.0 and 5.0 for our example), the program would output (1.0:2.0)(3.0:4.0)(5.0)
.
Cheers,
Gilberto
ADSR clips when triggering new note while old one is releasing
I am trying to make a monophonic synth in PD. I have yet to add an LFO or VCF or a second oscillator, but I have created a waveform switcher (sawtooth-triangle-pulse) for the first one. One quirk I have found so far is that when triggering a new note, if there is a older note releasing, it will cut that one and begin playing the new one.
This isn't an issue with the sawtooth, but with the triangle (and to a lesser extent the pulse) this old note will pop. I am unsure how to fix this.
The synth.pd file is the main file, adsr.pd and note.pd are both required to run the synth. The waveform switcher is in Synth.pd.
finding missing number in a sequence of numbers...
I am trying to make a system for dynamically creating modulators for a synth, so far I have it so that each time "LFO" is selected from a popup, a new one is created, with an argument one bigger than the last, (arg used to send~ $1-LFO etc). The problem comes when I have deleted an LFO, and create another one, it keeps adding to the last number, not "filling the gap" for instance:
when i have in existence:
LFO 1
LFO 2
LFO 4
the next LFO created is "LFO 5", not "LFO 3". It works fine if you remove the last LFO from the patch.
I am currently exploring list management but it is quite complicated. I feel it's so close but just out of reach.
I would also like to find a way to delete these LFO objects dynamically instead of entering edit mode.
the closest I have come is:
[find LFO, cut(
but it seems to cut each object (even messages) containing the symbol "LFO", and I cannot seem to "point" it to the one I want to delete!
In both cases, I'm sure im over complicating, but have learnt enough in my own process of exploration now and need some guidance!
patch attached, with LFO included Modulator w LFO included.zip
Generat v0.1 liveperformance 3d synth
see this thread for an update version an dlink
http://puredata.hurleur.com/sujet-5989-generat-synth-live-performances
*sleepy bird
External Autio Interface mic problem
Hi everyone,
I am looking for help, to solve my problem with pure data and my audio interface. I am using PD as life performing software, and I need to use my external audio interface for better quality and avoid sound delay.
Interface I am using, is zoom R24 recorder with interface and some other stuff. PD can find it easy and it use no problem as sound output device, but once I set up input to use mic, it cut the sound off, and mic have no sight of life... I was trying different drivers, and possibilities to turn mic on, but no luck...
Is there anyway how I could use it as audio input and output for life performing... Maybe I need some special drivers, or use special commands to turn it on?
My internal audio card works fine, and the setup as internal audio card as input, and output to external interface works also... But once I switch, no signals! What should I do?!
Thanks.
Call for artists & musicians - Update, Brighton (UK) - August 15th
Call for artists - Update conference, Brighton
We’re seeking musicians, visual artists, performers and experimenters to bring performances, installations and multi-media art forms to the Update conference. Part of the Brighton Digital Festival, the conference is at Brighton Dome on September 5th 2011 from 10am to 6pm with an after party in Brighton Museum.
Update focuses on mobile design and user experience – putting the human touch at the centre of the digital world. Speakers include Jeremy Keith, Aral Balkan, Seb Lee-Delisle, and Brendan Dawes leading international figures in creative technology, web, user experience and mobile development.
There are half hour slots during the after party at Brighton Museum and five minute slots during the conference itself at the Brighton Dome for performers. Spaces in the Dome bar, foyer and museum are available for sculptures and installation work.
We’re looking for 3 performers and 3 artists to exhibit. If you’re interested in performing or exhibiting, we’re interested in talking to you; we particularly welcome artists who incorporate elements of mobile technology, human-centred design, or user experience in their work.
Unfortunately Update does not have funds to pay artists, but offers the chance to perform and exhibit at these great venues, gain exposure and network with an audience of up to 500 creative developers, influencers and early adopters of new technology. We can offer one ticket per artist or team member plus one guest, and a contribution towards expenses based on your estimates.
Please send proposals to Ollie Glass (artists@updateconf.com) by August 15th with a breakdown of your technical requirements, and feel free to email with any other questions.
http://updateconf.com/
@updateconf
Reading multiplexed input streams from arduino
I'm currently building something with an arduino and pd. Arduino vets- help is appreciated!
So, I'm using [comport] and [convert.ascii2pd] to read inputs from an arduino. I'm not using pduino, firmata, etc. because I'm multiplexing the input.
I have a multiplexer read 8 potentiometers going into 1 analog input on my arduino. So I rapidly read all 8 of the inputs in a loop and print them out over serial.
My problem is I don't know how to take this stream and put it to an array properly. Out of [comport] to [convert.ascii2pd] to printing the results looks like this:
print: 790
print: CR
print: LF
print: 0
print: CR
print: LF
print: 0
print: CR
print: LF
print: 0
print: CR
print: LF
print: 703
print: CR
print: LF
print: 649
print: CR
print: LF
print: 547
print: CR
print: LF
END: bang
I'm seperating the values with special characters, which can be weeded out with [route] if need be. I have the end of each 8 input read banging.
But it's late and my head is reeling. Not sure where to start next in terms of putting these properly in a list or an array. The end goal being that I have 8 potentiometers that can control things in pure data. Any way to make sense of this input?
The things we do for more inputs!
Performance for One
Hey all,
I've been working for the past three months on this one-to-one exclusive headphone Performance called "Performance for One" (silly name, I know).
The idea is that I create a somehow comfortable/cozy space where a person can come, sit and enjoy an exclusive musical performance. Only the performer (myself) and the current listener are able to experience this piece of music, created and performed on the fly, therefore turning that moment unique.
I've done this Performance twice at the same place, one in February and the other two days ago and got pretty nice feedback, specially due to the exclusive intimate situation this performance creates. The two days were completely different from each other regarding the sonic outcome (I've used two completely different patches).
I've recorded a few sets when performing all alone (so I kept the exclusivity that each listener had), and I thought I'd share two that I really liked.
100% Pd, 100% live improvisation, no edits or whatsoever. Samples are from my own recordings from the rehearsals for Theater Bremen's rendition of Mozart's "Don Giovanni" (This Performance is part of a bigger project about this particular Opera).
Workshop: Xth Sense - Biophysical generation and control of music
April 6, 7, 8 2011
11:00-19:00
Xth Sense – biophysical generation and control of music
@NK
Elsenstr. 52/
2.Hinterhaus Etage 2
12059 Berlin Neukölln
FULL PROGRAM: http://www.nkprojekt.de/xth-sense-%E2%80%93-biophysical-generation-and-control-of-music/
~ What
The workshop offers an hands-on experience and both theoretical and practical training in gestural control of music and bodily musical performance, deploying the brand-new biosensing technology Xth Sense.
Developed by the workshop teacher Marco Donnarumma within a research project at The University of Edinburgh, Xth Sense is a framework for the application of muscle sounds to the biophysical generation and control of music. It consists of a low cost, DIY biosensing wearable device and an Open Source based software for capture, analysis and audio processing of biological sounds of the body (Pure Data-based).
Muscle sounds are captured in real time and used both as sonic source material and control values for sound effects, enabling the performer to control music simply with his body and kinetic energy. Forget your mice, MIDI controllers, you will not even need to look at your laptop anymore.
The Xth Sense biosensor was designed to be easily implemented by anyone, no previous experience in
electronics is required.
The applications of the Xth Sense technology are manifold: from complex gestural control of samples and audio synthesis, through biophysical generation of music and sounds, to kinetic control of real time digital processing of traditional musical instruments, and more.
~ How
Firstly, participants will be introduced to the Xth Sense Technology by its author and led through the assembling of their own biosensing wearable hardware using the materials provided.
Next, they will become proficient with the Xth Sense software framework: all the features of the framework will be unleashed through practical exercises.
Theoretical background on the state of art of gestural control of music and new musical instruments will be developed by means of an audiovisual review and participatory critical analysis of relevant projects selected by the instructor.
Eventually, participants will combine hardware and software to implement a solo or group performance to be presented during the closing event. At the end of the workshop, participants will be free to keep the Xth Sense biosensors they built and the related software for their own use.
~ Perspective participants
The workshop is open to anyone passionate about sound and music. Musical background and education does not matter as long as you are ready to challenge your usual perspective on musical performance. Composers, producers, sound designers, musicians, field recordists are all welcome to join our team for an innovative and highly creative experience. No previous experience in electronics or programming is required, however participants should be familiar with digital music creation.
Participation is limited to 10 candidates.
Preregistration is required and can be done by sending an email to info@nkprojekt.de
Requirements and further info
Participants need to provide their own headphones, soundcards and laptops with Pd-extended already installed.
Musicians interested in augmenting their favourite musical instrument by means of body gestures are encouraged to bring their instrument along. More information about the Xth Sense and a video of a live performance can be viewed on-line at
http://res.marcodonnarumma.com/projects/xth-sense/
http://marcodonnarumma.com/works/music-for-flesh-ii/
http://marcodonnarumma.com/teaching/
Dates
6-7-8 April, 11.00-19.00 daily (6 hours sessions + 1 hour break)
Fee
EUR 90 including materials (EUR 15).
Contact
Marco Donnarumma
m[at]marcodonnarumma.com
http://marcodonnarumma.com