Making an audio vst for raspberry pi
Hi everyone,
I've been learning and using pd lately cause I want to make with the raspberry pi a portable sampler and audio processor. The patch works pretty good manually triggered inside the patch but I want to make an external program for the raspberry pi with a nice user interface to be able to control the patch and make nice visual elements for it.
I've been reading about libpd and seems to be a good solution to make the program in c++ or python including the puredata in it as a library with libpd, but I didn't found specific tutorials aiming to the raspberry pi...
Has anyone made this on the raspberry pi? Any tips, tutorials or resources?
Thank you!
Help?! Implementing Pd into a hardware device
@whale-av yeah, being a portable effects processor for instruments, it needs to be very small and self-contained (in the sense that no peripherals should be sticking out like keyboards or audio interfaces) which is why I was wondering about implementing adc and dac with physical inputs and outputs into the actual thing instead of using peripherals.
@bmd the Axoloti core looks like pretty much exactly what I was going for with hardware! Although missing an extra input and output. That said, I plan on dealing with two mono signals so perhaps I could use the single stereo input and then separate left and right into input 1 and input 2... Having a quick look at this though http://www.axoloti.com/axoloti-patcher/ suggests that it isn't as versatile as Puredata with not many objects available but maybe I'm wrong again. Definitely going to research more into this. It also sounds like it has an easier solution to my problem of not knowing how to physically implement my patch onto some hardware. Thanks for showing me that.
Seeing as Raspberry Pi/Arduino/Puredata has a lot more support around it, plus the fact I wouldn't have to learn a whole new programming software for Axoloti, do you think I'd be able to make something very similar to the Axoloti Core using a Rasperry Pi? Or is this just overcomplicating things to the point where I might as well just learn how to use Axoloti? I'm struggling to find any appropiate ADC for the Raspberry Pi, but I'm sure there's got to be something high quality around, I mean, I find it hard to believe nobody has made a Raspberry Pi with at least 16 bit 44,1kHz audio input and output.
Also, @whale-av made me think... If I'm not having any peripherals sticking out of my signal processor, a touchscreen might be a reasonable idea for this to simplify things and not take up space. It looks a lot more difficult to do this on Axoloti than Raspberry Pi who have their own touchscreens conveniently available, or the Odroid @alexandros mentioned which has a HDMI port. A touchscreen might not be totally necessary but now I've considered it I kinda want it.
No sound from raspberry
@Congarou Do you get sound in other circumstances? If not then this might help........
http://www.nodepond.com/blog/758-puredata-on-raspberry-pi-useful-hints-and-links as it might be sending to the hdmi audio out......
Otherwise......https://www.raspberrypi.org/forums/viewtopic.php?f=66&t=19155
or you could try Miller's optimised Vanilla.......https://guitarextended.wordpress.com/2014/03/23/update-on-running-pd-on-the-raspberry-pi/
David.
Join our kickstarter for the PiShield, a sensor interface for Raspberry Pi
We’d like to invite you to join our kickstarter campaign for the PiShield, which allows you to easily connect up to 8x analog 5V sensors and 4x digital I2C devices to the Raspberry Pi. See https://www.kickstarter.com/projects/infusion/pishield-sensor-interface-board-for-raspberry-pi
If you’re interested in this new way of working with sensors on the Raspberry Pi, please join in and help us make the PiShield a success !
Thanks for your support,
I-CubeX
connecting pd-gui to pd
@jeremiahrose Hello Jeremiah,
I found (for me) the best way to run my pi headless is simply to VNC "into it".
I have this file on the pi....... set to run at boot....... X11VNC.desktop
using desktop "0" so that there is no second instance of the desktop running on the Pi..
There is more info for setting this up on the web than there was when I did it years ago........
http://blog.tonywall.co/2013/07/setting-up-raspberry-pi-for-headless-mode-with-x11vnc/
Then, as I am using windows I use TightVNC on my laptop........ and I simply use my laptop screen, monitor and mouse with the Pi as a window. When I drop the connection the Pi is still running everything, and I can pick it up again when I wish. Pd on the Pi doesn't care because I am only addressing it through the Pi desktop.
I still use putty for sudo stuff, and a samba share for non root file transfers.
David..
connecting pd-gui to pd
Hi there, so here's the situation.
Computer 1: a raspberry pi with no screen, keyboard or mouse that automatically runs a headless instance of pure data when it boots up: pd -nogui mypatch.pd
Computer 2: my laptop. I want to start the GUI separetly and connect it to the existing pd instance on the raspberry pi so that I can program the patch, alter it, save it, and watch it in action. I believe the command should be something like: pd-gui HOST:PORT
But I can't seem to make it work. and there is no documentation to speak of anywhere. Can anyone help?
'Swallow' keyboard key press
Thanks David, I agree that midi keyboards and controllers are cheap and convenient. I also have touchOSC.
My quest with the qwerty keyboard is more for the sake of geekness than practicability.
With glovepie my script would use scroll lock as a toggle: when off it's a typing computer keyboard and when on events are swallowed and turned into midi messages. I then use the mouse to control what happens on the screen.
One of my uses is that I have a second qwerty keyboard connected to the PC that is lying on the floor (the computer doesn't make the difference between 2 keyboards). With just one scroll lock press then each third of the keyboard surface is mapped to one midi note: that's how I have a puzzling looking wireless effect footswitch!
I also had a mouse footswitch in the same fashion, it's great fun to kick those interfaces. And they come for free as you can still make use of them when people discard them because some keys are defective..
I'm discovering Auto Hot Key now and it seems it may be the answer to my needs.
keyboards GUI for MIDI
@gsagostinho hahahaha Gilberto sorry for Guilherme ...
I use externals binaries included in deken, but we have only linux 64 bits versions of ggee and cyclone compiled there. So I did only Linux 64 bits version of keyboards GUI, if someone have these libraries compiled in 64bits on MAC and/or WIN, please include binaries in the 64 bits version.
ps.: @gsagostinho are named correctly now.
32 bits (Linux, Windows, Mac):
keyboards-pd-vanilla-32bits.zip
64 bits (Linux Only)
keyboards-pd-vanilla-64bitsLinuxOnly.zip
Cheers
udpsend and receive
@toddak Ah!......... so I am sorry toddak, but I have a lot of questions......
So you still want to use the touch screens, and as you have a few Pi's you have backup cards so you have managed to get back to where you were before the update disaster? I hope so as that would make me feel much better!
You do not really want to use netsend and netreceive but in fact OSC objects (so you don't need MrPeach....... and a later vanilla will be ok as Alexandros suggested)? However, extended has many useful objects!
You are using an extra Pi as a router and you want to use [netsend] and [netreceive] on that?
I would think you would be better off with a dedicated router. I just bought another wrt54 on ebay for 99 uk pence.
Are you planning to stream audio to these 4 Pi's (in which case you will need extended) or are you just sending osc messages from them, or just receiving osc messages so as to start/stop playback?
I have not managed to make audio streaming to a Pi work reliably yet without occasional dropouts, and the sound will not work well at all unless you give Pd root privileges............. so remember.... for later...
sudo chmod 4755 /usr/bin/pd-extended
For audio on a Pi it should be run headless, so you should drop your touch screens in that case.
If you are using the Pi's with touch screens just to send osc messages you would be better off with some £40 android 7" tablets running TouchOSC (one licence for all of the android devices you own).
If they are receiving Osc to control their local playback then why do they have touch screens. Is it the touch screens that would not work with Jessie, or some other screen?
Jessie is not very different from Wheezy (it is not a huge update) but it is exclusively armhf. If the touch screens are needed and will not work with Jessie then you are stuck with the current wheezy that you have installed.
If you need to stay with armel then on one of your working Pi,s (armel) you should try this http://puredata.info/downloads/pd-extended-rpi version of extended and install pulse audio and the fonts (manually or with an apt-get) first. A lot of information you can find from here http://puredata.info/docs/raspberry-pi/?searchterm=raspberry
But if you have Rpi B2 (or anything other that an A or a Zero) you should really be running an armhf distribution.
David.
Questions: Batch Array Creation/Assign
@jjegede01 Hello again...... as @LiamG said recently........ abstractions.
This should get you on your way...... (open "keyboard.pd")
"read_from_abstr.pd" is an abstraction that contains an array which can be played by sending a message (in this case from the parent patch "keyboard.pd").
"put_dynamic.pd" shows you how to create and destroy the abstactions dynamically.
keyboard.zip
David.