Ricky Graham's Septar Kit for Hex Guitar to PC processiing with Pure Data (PD)

Started by neophytte, July 23, 2011, 05:59:42 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Elantric

An Update to Pure Data - the main application of interest to Septar Kit users

PD Extended:

http://createdigitalmusic.com/2012/04/patch-your-own-music-creations-free-pd-extended-arrives-far-more-usable/



QuotePure Data is a wonder: a free and open source environment for creating your own musical and multimedia creations with graphical programming, from Miller Puckette, the original creator of Max. You can produce everything from interactive sequencers and drum machines to synths to video performance tools by connecting patch cables visually, and you can run on virtually any platform, from BeagleBoards and Rasberry Pi to Mac, Windows, and Linux desktop. Via libpd, you can target other development languages and environments, embed engines in games, or work with Android and iOS.

What hasn't been so wonderful, of course, is Pd's graphical editing environment, which can be charitably described as "bare-bones." That is, until now. Pd-extended 0.43 massively improves performance and usability of the GUI in a ground-up rewrite and new plug-in architecture, and it's just about ready for prime time. That gives you new patching and debugging tools, many familiar to users of Pd's proprietary cousin, Max/MSP, but which are finally available to Pd, too.

It's so important, in fact, that CDM invites Hans-Christoph Steiner, one of the key developers of Pd-extended, to give us a tour of what's new. (Note: because Pd-extended includes various additional objects or "externals" that Pd Vanilla lacks, you should be careful when building patches for libpd. What I like to do is use Pd-extended as my editing environment, then double-check patches by opening them in Vanilla to make sure I haven't accidentally used an object that's not part of the bare-bones version. I can then substitute an object, copy an abstraction, or if necessary build that external.) -Ed.

The Pd-extended 0.43 release has been brewing an extra long time, about 18 months now, mostly because there are lots of big improvements. We wanted to make sure we got it right, so your patches all work, but the improvements all shine, so its taken a while. It's now solidly beta, so we're looking for testers. Download a beta build to try here:

http://puredata.info/downloads/pd-extended/releases/0.43.1

First off, the pd-gui side of Pd has been rewritten from scratch. The focus for most of the recent work has been on the editing experience, making your patching experience as productive and flexible as possible. To give some background, Pd has always been made up of two programs: pd is the core engine and pd-gui is the GUI. Since basically all computers now come with multiple CPU cores, this means that pd-gui will usually run on a separate CPU core than pd, so they don't step on each other's toes. pd can entirely take over its own core. If you want to make your patch use more CPU cores, then check out the [pd~] object introduced in the last release, but fine-tuned in this one.

There are so many ideas for making a better editing experience in Pd; this release makes big strides to address the editing experience. There are new features like Magic Glass, Autotips, Autopatch and Perf Mode, all available on the Edit menu.


Awesome new Pd features: now in Pd-extended, on the Edit menu. Messy patch: Peter's. (Hint: yours may look better.)

    Magic Glass lets you magically see the messages as they pass through the cords. Just turn it on and hover above a cord, and you'll see the messages as they go by. You can even look at signal/audio cords.
    Autotips gives you tips about what an object does, what its inlet expects, and what comes out of the outlets.
    Autopatch mode automatically connects objects as you create them.
    Perf Mode, is a mode for performance that makes it harder to accidentally close windows that are part of your performance.

A whole new Pd Window

The Pd Window is also majorly overhauled. First of all, it's fast. Much much faster than the old one. You can now print thousands of messages per second to the Pd Window and still edit your patch. No more will an accidental dump of info cause the GUI to freeze up (well, okay, maybe if you send 10,000 messages/second, but that is way too many). There are also five levels of printing messages to the Pd Window: fatal, error, normal, debug, all. If you are only interested in fatal errors, switch the Pd Window to 0 – fatal, and you'll only see the worst problems. You want to see every single message to debug? Switch to 4 – all, and you'll drink from the firehose.

There is also the new log library, which lets you easily send messages for those different levels. And all messages logged with the objects from the log library are clickable: when you Ctrl-Click or Cmd-click (Mac OS X) on the line in the Pd Window, it'll pop up the patch where the message came from, and highlight the specific object that printed it. That even works for many messages from other objects, as well.

The Pd Window also includes very basic level meters for monitoring the input and output levels. And for those who want to play with the GUI in realtime, you can type Tcl code in the Tcl entry field, and directly modify and probe the running GUI.
Customize the GUI with Plugins

One thing that you can do now is customize the GUI using GUI plugins. You can change all sorts of colors, some fonts, and many behaviors. Want to create a new object when you triple-click? Try the tripleclick example plugin Want to make the patch cords disappear when you leave Edit Mode? Check out the "only show cords in edit mode" example. Those are the simple ones. There is also Tab Completion, a search engine for the docs, a category browser for the right-click menu, a buttonbar for creating objects, and more.

You can find many GUI plugins in the new section of the downloads page as well as documentation for making your own. (What kind of GUI plugin will you write?)
Write Pd objects in more languages

Traditionally, Pd objects are written in Pd (abstractions), C and some in C++. This new release includes two "loaders", Lua and Tcl, which allow you to write regular Pd objects in either Lua or Tcl. Pd is not the best for processing strings, so if you need to do that, you can now easily use Lua or Tcl, both very easy scripting languages for working with strings. Lua is often used for OpenGL work, so you can also run Lua objects to work in conjunction with Gem. Also, the Tcl loader lets you write GUI objects in pure Tcl, no C needed.
Multi-processing, Pd-style!

The [pd~] object now works out of box. In case you missed the introduction of the [pd~] object in the last release, we'll introduce you now. [pd~] is Pd itself incapsulated into an object. You can run any patch inside that instance of Pd, the difference is that the Pd in the [pd~] object runs in a totally separate process. So if your computer has multiple CPU cores, which basically all computers do these days, then the Pd process inside the [pd~] object will run on a separate core. This means you can have a heavy Pd patch spread across multiple cores or CPUs. Or for people who work with video and audio together, you can have one instance for video running at a normal priority, then another instance for audio running at a high priority to make sure there aren't clicks in the audio caused by heavy video processing.
Autotips, generated from help patches

This release also provides a new "autotips" feature to provide instant information about objects and their inlets and outlets. It is one of the first new developments to showcase all of the meta data that is now included in all of the help patches. (Check out the [pd META] subpatches.) When you hover above an inlet or the object itself in Edit Mode, you'll see a short text description pop up on the lower left corner. But, of course, using a GUI plugin, you could customize how they are displayed to make it how you want to see it. If you want to add autotips to your object, then just add a [pd META] subpatch to your objects' help patches, and fill out the description, etc. Voila! They'll have instant information.
What's next?

The core pd process still handles a lot of the GUI stuff, but we are working on splitting that out for the 0.44 release. That is a big chunk of work, but it will also bring big gains. In particular, it means that it will be possible for people to write their own GUIs for Pd, covering not just the display of the patch, but also the editing, and everything else. You like OpenFrameworks, Python, iOS, JUCE, Qt, etc.? Write your own pd-gui using the toolkit of your choice. That's the idea at least. That will take a solid chunk of work, so we are looking for people to join that effort.

Try it yourself:

http://puredata.info/downloads/pd-extended/releases/0.43.1
http://puredata.info/downloads/pd-extended



Pure Data

Pd (aka Pure Data) is a real-time graphical programming environment for audio, video, and graphical processing. It is the third major branch of the family of patcher programming languages known as Max (Max/FTS, ISPW Max, Max/MSP, jMax, etc.) originally developed by Miller Puckette and company at IRCAM. The core of Pd is written and maintained by Miller Puckette and includes the work of many developers, making the whole package very much a community effort.

Pd is free software and can be downloaded either as an OS-specific package, source package, or directly from CVS. Pd was written to be multi-platform and therefore is quite portable; versions exist for Win32, IRIX, GNU/Linux, BSD, and MacOS X running on anything from a PocketPC to an old Mac to a brand new PC. Pd can run on smartphones thanks to projects like libpd and RjDj. It is possible to write externals and patches that work with Max/MSP and Pd using flext and cyclone.

Pd was created to explore ideas of how to further refine the Max paradigm with the core ideas of allowing data to be treated in a more open-ended way and opening it up to applications outside of audio and MIDI, such as graphics and video.

It is easy to extend Pd by writing object classes ("externals") or patches ("abstractions"). The work of many developers is already available as part of the standard Pd packages and the Pd developer community is increasingly growing. Recent developments include a system of abstractions for building performance environments; a library of objects for physical modeling; and a library of objects for generating and processing video in realtime.



neophytte


gumbo

Read slower!!!   ....I'm typing as fast as I can...


clearlight

Are these ever going to be purchaseable all ready made?
I'm not a patient DIY'er
My Music
My Band Website
GUITARS: 2x RG1521, 3x RG321 w/gk, Rg721 Fretless Modified, AmStd FatStrat w/gk, various others....
XV5050,Triton etc..
KOMPLETE 7
VGUITAR Stuff: VG99, FC300, RC5-

neophytte

Quote from: clearlight on July 31, 2012, 06:40:09 PM
Are these ever going to be purchaseable all ready made?

I don't believe they are - it was one of my initial questions as I have a 3yo at home, (which makes DIYing a difficult job: you may notice the date on my first post is July 2011 and the complete one is July 2012!!) - things may have changed though, best to go to the site and ask the question.

Cheers

Richard

septarboards

Hi Richard,

Congratulations on finishing the kit. The housing looks very well, indeed. Glad to hear that it is working fine. Can I ask, how do you find the audio output? Perhaps some audio samples would be useful? I intend to revisit the septar project sometime in 2013. I have just finished emigrating to the US and started a new job, so it will take some time to get back to research. All being well, we will certainly have something new to share in the new year.

Ricky

neophytte

Hi Ricky,

Cheers for that - although I must admit the I felt the housing wasn't as good as I could have done; I'm contemplating moving it into a 1ru rack (or maybe a 1/2 rack, if I can fit it in there!) with a screen printed front.

The audio sounded clean to my ears, although I don't have some of the high tech testing stuff that others have on this site. I did do some basic recordings, but my studio is being rewired at the moment (an ongoing job!) so I'll have to see if I can locate them, or make some more ...

Can I also respectfully suggest that the unit could benefit from having a 13 pin out added as well? I saw this listed on eBay some time ago (although I think it may have been a one-off, or very limited run) and thought - "that is what the Septar is missing" ... particularly for this statement (from the site):

QuoteI played a simple pattern into Digital Performer. Then I unplugged the guitar from the GK Expander, and moved the patch cables from the MOTU inputs to the outputs. I unplugged the guitar so that the VG-99 would not be receiving input signals from both the guitar, and the computer. VG-99 plays just as if I am playing the guitar parts. Then I connected the GR-55, to hear the same pattern with the GR-55.

Anyhow, stay in touch, and good luck with the new job!! :)

Cheers

Richard

Elantric

FWIW - Readers of this thread who are challenged by DIY Soldering should seek these alternate hardware sources for delivering separate string signals into a Computer for processing with Pure Data

Look in the "GK Accessories area here:
https://www.vguitarforums.com/smf/index.php?board=13.0
https://www.vguitarforums.com/smf/index.php?topic=72.0

* Bill Bax's mini GK13 Breakout Cable
https://www.vguitarforums.com/smf/index.php?topic=11851.0


* Bill Bax's larger model here:
https://www.vguitarforums.com/smf/index.php?topic=3590.0

http://www.separate-strings.co.uk/


* SpiceTone 6Appeal
https://www.vguitarforums.com/smf/index.php?topic=12104.0



* RMC Fanout Box
http://www.rmcpickup.com/fanoutbox.html

* And of course the Boss GP-10 - which is probably the simplest method
https://www.vguitarforums.com/smf/index.php?topic=10782.0


septarboards

Hello,

Not sure where this is going just yet but I thought I'd share this little update:



Ricky

admin


septarboards

Yep, mountable 13-pin DIN component, this time. Should make for a much easier build. I'll have more info in the next few weeks! :)

whippinpost91850


admin

http://rickygraham.net/?page_id=176401173



Here's a short video clip from my guest performance and lecture at MMT on March  7, 2017, featuring the eight string guitar fitted with Cycfi Research's Nu-Multi pickup system running through my spatial music performance system created in Pd. Many thanks to Enda Bates for the invitation and documentation.



admin

vanceg wrote>
https://www.vguitarforums.com/smf/index.php?topic=20793.msg173302#msg173302
Quote from: GuitarBuilder on June 19, 2018, 05:24:12 PM
My latest thinking is to do hexaphonic processing on the Eurorack platform.  There are hundreds of modules available and the sound processing possibilities are endless.  To this end, I just completed my first Eurorack module, a 13-pin in/out with attenuator and 10x amplification built in.  This module can boost the hex guitar output to 12V p-p and back down to line level outputs for recording.

Next up is experimentation with the incredible Analogue Systems AR-35 Freq-Voltage module into Behringer Model D synth.  My aim is not just synth guitar, but analog processing of the guitar signal as well, using voltage controlled filters, etc.

Do you all know Ricky Graham and the work he's been doing with Delta Sound labs?  Ricky is a huge hex guitar proponant and one of the members of the working group that has coined and is now  the term "Isophonic" to descrbe the generalized concept of a system which individually processes multiple inputs from a single instrument. (Side Note: we didn't want to go with "hexaphonic" since it limits us to 6 strings, we didn't want to use "polyphonic" because of it's many other uses in music and music technology, and the fact that these systems really deal with individual singals, individual pitches.).

https://www.deltasoundlabs.com/2018/03/21/ctrl-module-helmholtz-pitch-follower-initial-tests/

He's been looking into using Eurorack/modular platforms for guitar processing and has a pitch tracker that he's used for just such purposes.

I'd love to hear your thoughts on this:  I've been considering modular environment for hex processing...but it seems to me to be a very VERY expensive concept to implement; Many/most of the modular devices on the market are mono in/out or at best stereo.  I'm not seeing many focused toward multichannel processing (sure there are some with multichannel output).  And, each module seems to be relitively expensive.  Is it really cost-reasonable to envision a modular rig with a full 6 or 8 channel processing signal path?   Am I totally off base here?   
Also - what would one do about wanting some form of qucik/change ability.. .some sort of preset recall.   Is that feasable in a modular environment?  Does it not matter.

Full disclosure and "Inconsistancy Identification" here:  I'm the one who has recently been advancing the idea of using the Eventide H9000 as a Isophonic proceeing environment...and this is a nearly $7,000 device!  So, I clearly have little room to criticise modular for potentially being expensve!  In fact-  I'm NOT criticising the idea of using Modular... I'm hoping that we flesh this discussion out and see how/why it WOULD (or perhaps would not) be a good environment.  [/i]

https://www.deltasoundlabs.com/