Forum rss-feed

Forum

General Discussion: EigenPI unvieled

Most Recent

written by: TheTechnobear

martinbogo said:
Never mind --- I just saw your response, had to reload my browser window.

There are no install packages that work on El Capitan -- I had to follow the procedure I outlined in the other post to get things working. Ultimately, I ended up compiling EigenD.

Also, the visual interface is broken -- for whatever reason, you can't see the highligted item when using the scroll keys on the Pico or Tau.

-Martin



what install packages did you use? was this machine upgraded to El Capitan?
did the runtime fail to install? ( Im pretty certain it worked fine for me)

my issue is... I only have one machine running 10.11, so id have to uninstall and reinstall, and generally faff to test this AND despite repeatedly requesting Eigenlabs have not released the runtime packaging into open source... so if thats failing I have no way to fix/rebuild it :(

yes, the browser/commander are broken and have been for a few OS X releases now.
the underlying cause is wx/python not redrawing the window without events from the keyboard/mouse.
it could be if we upgraded python/wx this might fix it, but this could have side effects on the rest of EigenD (its used for non-time critical processing). Im not sure if wx is being actively developed anymore either.

ideally, the browser/commander would be rewritten in C++, but I don't think any of us have time to do this.



written by: TheTechnobear

Wed, 15 Apr 2015 18:42:52 +0100 BST

This weekend at the (awesome!) Euro PMC meet up hosted by EigenWarrior António Machado, I brought EigenPI out of hiding :)

EigenPI
======

The goal of EigenPI is to be a standalone live performance running on a Raspberry PI2. It runs a a full version of EigenD with full support of Eigenharps without another computer.
my main aims are:
- low cost (PI2 are $40), to allow for redundancy
- minimum fuss, minimum configuration
- standalone, black-box headless environment
- Eigenharps (and other controllers) connected without a computer*

as a demonstration at EuroPMC, I showed EigenPI headless, controlled via an Eigenharp Alpha and an Ableton Push (for arranger) connected to my multi-timbral synth (Virus TI)

current status, fully working (as shown in demo), next steps are optimisation to improve performance both of EigenD and the distribution.

details of release to come in the future... but you can contact me if your interested.

*ok, I know a PI is a computer, but its a headless black box, is this much different from a microprocessor in a synth? - rhetorical question, I don't want this discussion ;o)


ONE MORE THING... as a byproduct of this, I also have Eigenharps working on Linux (x86), which could be an interesting performance platform.


written by: TheTechnobear

Wed, 15 Apr 2015 17:59:10 +0100 BST

I also unveiled it too...


written by: NothanUmber

Wed, 15 Apr 2015 20:24:33 +0100 BST

This was indeed a *very* nice surprise. The missing link for the Eigenharp plug and play experience!

Ordered a Raspberry Pi 2 today.

Thanks a lot, this will be great!


written by: martinthompson

Wed, 15 Apr 2015 21:05:37 +0100 BST

Wow - great work!

Does the Pi2 have enough "chuff" to run any good soft-synths too? (Hmm, are there any for Linux - it's been far too long since I kept up with the state of musical stuff on Linux!)

Thanks!


written by: TheTechnobear

Thu, 16 Apr 2015 10:36:58 +0100 BST

CPU load.
generally, EigenD its using most of 2 cores (out of 4), and I've implemented thread affinity to help this allocation, which means other processes could be locked to the other cores, to help reduce spikes.

its early days though, as Ive not optimised the code, firmware or distro, and I know of quite a few things, that should get quite a jump from this, in both memory and cpu.

will this be enough to run a soft synth?, possibly something light... but we will need to test.

soft synths
although there are now some good VSTs for Linux (e.g u-he), they are only ever built for x86, not Arm ... and this is unlikely to change any time soon.
BUT, there are a few synths build specifically for the PI (e.g. Piana), the good news is, these were built for the original PI so are low cpu, and the PI2 has so much more power, so perhaps they could co-exist with EigenD.


my target setup...
my approach is to use off-board synthesis, in particular, Ive ordered a few Axoloti boards (60 euros, http://axoloti.be). These will mean I can have complex voice per channel synthesis but still in a small standalone package.

Im planning on build a custom enclosure, which will included PI, Axoloti boards and a powered USB hub....
I need to measure the axoloti board, but i think with Pi2 + 4x Axoloti boards, Im aiming for something 15cm X 8cm x 8cm...so its a very small setup,
It will be driven by one mains power supply (or possibly a USB battery pack :))

(Ive been lucky enough to get an axoloti prototype board to help testing, so you may see demos of this in the near future :) )

but there are lots of other possibilities...
- a second pi ($40, so cheap) power from same supply, and connected via ethernet?
- putting a pi in the basestation, it appears it might fit.

the other great thing is the PI as an SD card slot, so the intention, is wildly different configurations, could be switched by just inserting a new SD card ... again headless, so no messing about with GUIs/command* lines etc.

* of course, if you want to run Stage/Workbench remotely, that is also possible ... also you could even connect the PI to a TV via HDMI (on-board)

anyway, thats how I see it going...
the critical thing for me, is the headless/hands-free/hassle-free operation that anyone can use.
(of course, if you want to hack it, then that will be possible too)


written by: JDune

Fri, 17 Apr 2015 07:44:25 +0100 BST


Anything that would make EigenD for my Alpha "hand free/hassle free" would definitely be very appreciated!


written by: fourcheeze

Wed, 20 May 2015 10:50:35 +0100 BST

Very interested in your Linux build. Is the source available?


written by: TheTechnobear

Wed, 20 May 2015 14:31:35 +0100 BST

fourcheeze said:
Very interested in your Linux build. Is the source available?


the general linux code for EigenD is already available, on the eigenlabs repo, or my repo (which has some improvements)
there are two things that are not open sourced.
- my implementation of the USB stack, which enables the use of Eigenharps on Linux
- the code Ive written that is specific to the Raspberry PI

my current plan/idea is:
- I will be releasing a binary build of EigenD for Linux 32/64bit (free) on my repo.
- The PI2 release I will in some form be 'selling' as a packaged solution.

(its the later reason, why I'm keeping some code 'closed source')

why do I want to 'sell' the PI2 version, very simple... to create EigenPI as a black box solution is ALOT of effort, but its also the solution that will be useful to all musicians (rather than a handful of developers)

Q. will this mean its a closed platform?
A. NO - I've already committed the PI 'build config', so you will be able to rebuild all of EigenD on the PI except a couple of libs, which you can take from the binary distribution. so if you want to write your own agents for the PI that will still be possible.

Q. your trying to profit from all the EigenD work, why?
A. NO - as above, all the existing EigenD code can be compiled for free from the repo. Im just selling the time and effort Ive put in to make it work on the PI, and making the PI a useful platform for non-developers, and no doubt the support effort this will also entail, and frankly, the amount I stand to make from sales, is tiny, in proportion to the effort Ive already expended on EigenPI :)
(also I would point out, to those that don't know, Ive already contributed a lot of code to the open source base for EigenD... so take community/open source development seriously and try to promote it)

I will say ,this is just my current thoughts, and is not 'final' yet... and its been put on the back burner a bit, as Im working on bringing MPE to EigenD and also working on Axoloti - news of both to come soon :)

I hope in Mid June (Axoloti release time) to release a new EigenD build on my repo (EigenD-2.1.0-community?), for Mac/Windows/Linux 32/64bit, and possibly an experimental PI2 build (TBD).


written by: fourcheeze

Thu, 4 Jun 2015 17:11:40 +0100 BST

TheTechnobear said:
fourcheeze said:
Very interested in your Linux build. Is the source available?
the general linux code for EigenD is already available, on the eigenlabs repo, or my repo (which has some improvements)
there are two things that are not open sourced.
- my implementation of the USB stack, which enables the use of Eigenharps on Linux
- the code Ive written that is specific to the Raspberry PI

my current plan/idea is:
- I will be releasing a binary build of EigenD for Linux 32/64bit (free) on my repo.
- The PI2 release I will in some form be 'selling' as a packaged solution.

(its the later reason, why I'm keeping some code 'closed source')

why do I want to 'sell' the PI2 version, very simple... to create EigenPI as a black box solution is ALOT of effort, but its also the solution that will be useful to all musicians (rather than a handful of developers)



Fantastic that you're releasing a build of EigenD for Linux. Am I right in thinking this for x86 type hardware? Do you have a url for the repository - I don't think I've found it yet :)

I understand why you're keeping some bits closed, but I would encourage you to think carefully about the decision. There aren't that many people who own an Eigenharp who are in the position to build their own EigenD really anyway. It's a minority pursuit to create an add-on for the Eigenharp, which probably doesn't warrant the large time investment unless you're already an Eigenharp owner, and even then it's largely a hobby/lifestyle business. What I'm getting as is that I don't think you're going to have the market flooded with cheap copies, just because the source is out there.

I really hope you are able to make some money out of your efforts. I just wonder if you'll get more traction by getting more people involved in a fully open-source project.

If you need any beta testers just shout.

Looking forward to one day running my Eigenharp via linux rather than hackintosh :)



written by: TheTechnobear

Sat, 6 Jun 2015 15:56:22 +0100 BST

the general EigenLabs repo should compile for linux (x86 32 and 64 bit)
https://github.com/Eigenlabs/EigenD

my developments can be found on my fork at:
https://github.com/TheTechnobear

(make sure you select the 2.1 branch)

Im finalising some testing on an MPE implementation for the Eigenharp, once this is done, I will put up a 'release' on my repo for OSX/Windows and Linux (32 bit initially, as Ive not installed a 64 bit linux yet)
and perhaps an experimental version of PI2. (but I won't support, as I don't have time at the moment... and still a lot I want to do with it)

I completely understand your viewpoint on open source, and if I considered that other developers might contribute... I would reconsider.
In practice Im not sure that will happen... but the early 'experimental' release, will allow that... i.e if some developer want to help make the PI distribution, then they can using the libs I provide.. and if that happened, then I would seriously consider open sourcing, and giving it away for free... as this would be for the benefit for the whole community.
BUT Im not going to release is just so a couple of devs can build it, but not contribute themselves, as I don't see how that benefits the rest of the community.

hopefully, I'll be proved wrong, some other devs will 'run' with the experimental build and help turn it into the full solution Ive envisaged... and then I can open source it.

anyway, its not set in stone, and like everyone else, Ive quite a few projects... so its still a bit of time away before the full 'release'

EDIT: ok, pushed ahead, and released my builds, see 'community release' thread.


written by: fourcheeze

Mon, 8 Jun 2015 10:20:14 +0100 BST

TheTechnobear said:
EDIT: ok, pushed ahead, and released my builds, see 'community release' thread.


Fantastic - I will have a play with it as soon as I get a chance.


written by: martinbogo

Fri, 25 Dec 2015 18:38:18 +0000 GMT


TechnoBear,

So, I've gotten your build of EigenD working on El Capitan ... not being able to just set up the instrument and play it without requiring terminal-level installation was a pain, but it got done.

Being able to plug-and-play a Pi2 would be fantastic. Beware corruption of the SD card when you power down a Pi2!

Have you built an SD card image for a ready-to-try pi?

-Martin


written by: TheTechnobear

Sun, 27 Dec 2015 13:08:23 +0000 GMT

thanks, I know the limitations of the PI/SD cards :)

No, Ive not put together an SD card image, as its quite a few steps... including building a clean image with just the necessary packages, and also then the doubtless discussions around what 'extras' are required to make it useful. so I don't want to do this till I've narrowed it down a bit.
also currently, the PI2 kernel has USB issues which means the pico doesn't work with it, so Ive got a beaglebone black, which I'm doing tests on to see if it works with that.

finally, I figured, perhaps EigenD is not the best option, given the limited resources of the PI2/Beaglebone... so Im looking at building something which doesnt have a GUI, and so doesnt need X, which will reduce the footprint considerably.

of course, this all takes time... and I'm busy on other things at the moment, so its not made as much progress as Id like


El Capitan.... what did you have to do, it should not be necessary, so letting us know might help us fix it.
(e.g. the resources install you mentioned in your other thread should be unnecessary)


written by: martinbogo

Fri, 15 Jan 2016 03:41:08 +0000 GMT


Never mind --- I just saw your response, had to reload my browser window.

There are no install packages that work on El Capitan -- I had to follow the procedure I outlined in the other post to get things working. Ultimately, I ended up compiling EigenD.

Also, the visual interface is broken -- for whatever reason, you can't see the highligted item when using the scroll keys on the Pico or Tau.

-Martin


written by: martinbogo

Fri, 15 Jan 2016 04:42:04 +0000 GMT

PI2 kernel has USB issues


More information please? I'm an Linux ARM kernel developer, with a lot of experience with writing HID USB drivers. What kind of issues?


written by: TheTechnobear

Fri, 15 Jan 2016 20:27:04 +0000 GMT

martinbogo said:
PI2 kernel has USB issues
More information please? I'm an Linux ARM kernel developer, with a lot of experience with writing HID USB drivers. What kind of issues?


isosynchronous packets are returned unfilled for the pico.

see

https://github.com/raspberrypi/linux/issues/903

I've not had time really to dig into it... but the libusb code should be correct since it works on other platforms (linux) and also the code works fine for the tau/alpha.


written by: TheTechnobear

Fri, 15 Jan 2016 20:40:05 +0000 GMT

martinbogo said:
Never mind --- I just saw your response, had to reload my browser window.

There are no install packages that work on El Capitan -- I had to follow the procedure I outlined in the other post to get things working. Ultimately, I ended up compiling EigenD.

Also, the visual interface is broken -- for whatever reason, you can't see the highligted item when using the scroll keys on the Pico or Tau.

-Martin



what install packages did you use? was this machine upgraded to El Capitan?
did the runtime fail to install? ( Im pretty certain it worked fine for me)

my issue is... I only have one machine running 10.11, so id have to uninstall and reinstall, and generally faff to test this AND despite repeatedly requesting Eigenlabs have not released the runtime packaging into open source... so if thats failing I have no way to fix/rebuild it :(

yes, the browser/commander are broken and have been for a few OS X releases now.
the underlying cause is wx/python not redrawing the window without events from the keyboard/mouse.
it could be if we upgraded python/wx this might fix it, but this could have side effects on the rest of EigenD (its used for non-time critical processing). Im not sure if wx is being actively developed anymore either.

ideally, the browser/commander would be rewritten in C++, but I don't think any of us have time to do this.





Please log in to join the discussions