How to use Enttec DMX Usb Pro with PD on Raspberry Pi
@60hz You might be able to redirect a comport to your cheap usb device.
It is possible in windows using.......
NET USE COM1: //pc_name/printer_share_name /persistent:yes
The usb device has to be shared first......
https://superuser.com/questions/923426/how-to-map-a-virtual-com-port-to-a-physical-usb-port
The proviso about plain text would not bother you for a dmx dongle.
Further down the same thread you will see a link to https://ftdichip.com/drivers/vcp-drivers/
..... and on that page the virtual drivers for windows.
They mention "D2XX Direct drivers" are included...... and I have a very vague recollection that it is they that do the FUDI stuff.
They only mention windows....... and then further down the page are drivers signed by Apple, and quite a few others.
The virtual drivers should make the device appear as a comport.
You can see on Amazon that a few people needed these virtual drivers to make the device you have work with FreeStyler....... where they then select Enntec DmxPro as the output.
In Freestyler selecting the Enntec is essentially choosing to communicate through a comport rather than through a driver interface.
When you select the DMX Pro in Freestyler it asks which comport (years since I have used it... but pretty sure)
David.
P.S. I forgot to mention yesterday that you could send your data directly from the RPI using Python (maybe Python is already involved) and call pdsend....... probably pdsend.linux which is in the Pd folders somewhere.
That would send directly over Ethernet to a [netreceive] on your computer.
Approximate usage..... https://guitarextended.wordpress.com/2012/11/03/make-python-and-pure-data-communicate-on-the-raspberry-pi/
I assume (I do that a lot) that
pdsend (your computer IP address):(port) would send correctly...... something like pdsend 192.168.1.33:3000 would send to [netreceive 3000] on your computer.
You mentioned an Ethernet shield...... does your RPI not have an Ethernet port built in ?...... I thought they all have one.
Trouble With pd After Changing Hardware On Project
Hi everyone,
I'm new to pd. I built Otem Rellik's piLooper, which runs on a pd patch he created. (do a search on YouTube to see this cool project) It involves a Teensy 3.6 hooked into a Raspberry Pi 4b that has pd installed.
Everything worked properly until I decided to start changing up the hardware. The original piLooper has a 2.2" screen for viewing the loops/tempo/etc.. and a Nintendo DS touchscreen used as a beat repeat/bit crusher on the loops playing back.
I purchased an Adafruit touchscreen to combine both screens. I modified the code to go with the Adafruit libraries and everything appears correct but now pd will give me errors and the piLooper won't work.
I'm not sure what in the code is causing pd to give me errors and I'm not sure where to look in pd to fix it.
piLooper link where pd patch is located
Old code and new code.
//NDS_TOUCH
//limit reads to 5ms
readTime = millis();
touchX = readX();
touchY = readY();
if ((touchX < 900) && (touchY < 900)){
if(readTime - prevReadTime > 16){
Serial.print("Xval: ");
Serial.print(touchX);
Serial.print(" ");
Serial.println(0);
Serial.print("Yval: ");
Serial.print(touchY);
Serial.print(" ");
Serial.println(0);
fxTogOn = 1;
fxTogOff = 0;
prevReadTime = readTime;
}
}else{
if (abs(fxTogOn - fxTogOff) > 0){
Serial.print("postTog: ");
Serial.print(0);
Serial.print(" ");
Serial.println(0);
fxTogOff = fxTogOn;
}
}```
```NEW CODE
//NDS_TOUCH
//limit reads to 5ms
TSPoint p = ts.getPoint();
readTime = millis();
// Assign values to readtouchX and readtouchY
readtouchX = p.x;
readtouchY = p.y;
if ((readtouchX < 900) && (readtouchY < 900)) {
if (readTime - prevReadTime > 16) {
if (p.z > ts.pressureThreshhold) {
Serial.print("X = ");
Serial.print(p.x);
Serial.print("\tY = ");
Serial.print(p.y);
Serial.print("\tPressure = ");
Serial.println(p.z);
fxTogOn = 1;
fxTogOff = 0;
prevReadTime = readTime;
}
} else {
if (abs(fxTogOn - fxTogOff) > 0) {
Serial.print("postTog: ");
Serial.print(0);
Serial.print(" ");
Serial.println(0);
fxTogOff = fxTogOn;
}
}
delay(100);
}```
Arduino port on Pd via Pi
I did the following:
same method to choose the audio interface, just doing it for ports.
The only think that must be constant is the names of the ports on the Raspberry pi (in thatexample I'm using windows pc)
This method should work?
the name of the ports are always the same on raspberry pi?
Any other method for setting the port?
Do I also need to change the code in the arduino? to prompt something to the serial?
CONFIG_PREEMPT_RT -- experiences and upgrade path
Hi all! I've been away for a while. Because I'm currently awaiting the delivery of an Organelle, I wanted to get my brain back into the Pd world.
Since about 2015 or so, my main performance instrument has been a Raspberry Pi 2b running this kernel: https://blog.emlid.com/raspberry-pi-real-time-kernel/
I'm interested in writing about my experiences here because in researching and preparing to use the Organelle, I ran into some newer Pi OS options that claim to have good realtime perf, etc. -- specifically Patchbox OS.
However, upon running it on my 2b, I immediately noticed that it was overall quite sluggish (just logging in and using the terminal via SSH was painful) and besides which, the audio produced was unusably distorted with my USB audio device (an ancient MAudio MobilePre) no matter what I set Jack/ALSA to use.
Contrast that with Wheezy running the PREEMPT kernel. I run quite heavy patches on multiple cores responding to accelerometer and gyrometer data coming in via a USB Wifi AP using a buffer size of 128 samples, 3 frames, at 44.1kHz seemingly effortlessly with no clicks or dropouts. Granular synths, FM synths, vocal processing with long delay lines, a few Freeverb instances.
Has anybody else used or compiled the kernel for more recent OS versions/Pi models and had similar luck? I'm interested in being able to compile kernels myself so I can see if the benefits carry over to newer Pi models and/or the Organelle (if necessary).
Maybe I'm just hamstrung from the start by using such an antiquated USB device with an antiquated Pi model, since the latencies are far better in any case when using a Hat-type interface, and I shouldn't worry about it so much.
Thoughts?
Using Pi GPIO pins with pd
Hi, have you already seen this thread:
https://forum.pdpatchrepo.info/topic/12112/raspberry-pi-gpio-and-puredata-does-it-work ?
Taking the last post by @alexandros into account, I searched a little on GitHub and found this:
https://github.com/pd-l2ork/pd/search?q=gpio
I have never used pd-2ork though, but maybe the disis-gpio object from there could be compiled..?
Let me know if you have any success or more questions. Good luck!
Launchpad4Oktatrack
hello everyone
since you cannot change outgoing midi messages in those devices,here is my patch to turn Novation Launchad mini mk1&mk2 into Octatrack midi controller,plus i added few small but nice features...
Repo
https://github.com/k2z3k0/launchpad-for-octatrak-in-pure-data
Example video
Getting Started with Raspberry Pi, Pure Data
How to deal with Raspberry Pi as usb midi host
Raspberry Pi audio/midi board
https://blokas.io/pisound/
Raspberry Pi audio/midi board
https://www.osaelectronics.com/.../midi-board-for.../
Raspberry Pi how to get midi out out of onboard GPIO
https://github.com/nugluke/midi2gpio
best regards
Kazik
Raspberry Pi Audio Output Crackling when Mic enabled
Hello,
I have a USB audio interface (3D Sound Audio Interface see below) plugged into a raspberry pi. When I have it selected for audio input (port audio seems to be the only one that works) along with audio output via the speaker on the GPIO pins I get crackling as if PD can't handle the processing of audio input while outputting on raspberry pi. NOTE: if I turn off audio input the output sounds perfect.
Anyone else encounter this issue?
FYI, I hooked up a nice little speaker to make the Raspberry Pi more portable via the I2S Amp on connected and powered by the GPIO pins (see this link for details
Build Drum Machine with PD and Hardware - where to start?
Hey folks,
this is my first post here and I am very new to this whole topic, so bare with me. I am making music since quite a few years and have been dreaming about building my own little drum machine, to integrate all the functions I am missing with existing ones.
Recently I stumpled upon PD as a tool to realize this on the software side. While PD looks doable, even for a noob like me, I have no clue how to realize the hardware. I learned about PD through the organelle, a little synthesizer, which runs PD patches on a Raspberry Pi. (There are topics about this here, but dunno how well known it generelly is around here.) So I guessed I could do the same: Create all the Functions in PD on a Rasperry, connect the Raspberry to some knobs and buttons and then assign the Functions in my programm to those knobs and buttons.
Heres where I'm left clueless: how do I do that? I know that there are breadboards and I figured I can somehow put together a prototype on such a thing, try out different possibilities and if at some point Im satisfied think about actually building the thing. But as you probably guessed by now I have no clue neither about raspberry nor about electronics. So can anyone give me advice on how to start such a project? Or maybe tell me that my assumption is completely wrong and its way more complicated?
Hope Im in the right subforum and my question is not all to basic. Any advice would be great!
Cheers and thanks a lot!
Crackled Audio from PD on Raspberry Pi 4
I'm running a Raspberry Pi 4 with "Raspberry Pi OS (32-bit) Lite [August 2020 / 2020-08-20 / Kernel 5.4]" headless and the latest version of Purr-Data, set up the Raspberry using this guide , did the Alsa no audio (glitch) issue Pi 4
fix to get audio working through the 3.5 mm jack.
I'm interfacing the Raspberry Pi through the macOS terminal and with VNC Viewer through ethernet.
I get the following error as soon a starting Purr-Data,
error: audio I/O stuck... closing audio
I open up a patch and turn off and turn on the DSP signals and get the following error
error: audio I/O stuck... closing audio error: audio I/O dropout
Even though if I play sample .wav or bang a sinewave, the audio does get played but it gets glitchy as in the audio sound is crackled.
has anyone experienced it before? any knowledge on how to overcome it?
netty-mcserver on a Raspbery Pi 4
Hi . .
Here's an update. I was able to compile Pd-0.51-2 and run Pd on the Raspberry Pi 4. Thank you to Whale-Av / David for the clear instructions.
I navigated to the Quack/bin folder where the server patch is and ran this command:
/home/pi/src/pd-0.51-2/bin/pd -nosound -nogui -nrt netty-mcserver.pd &
the command line returned this:
[1] 1112
Checked to see if the process is running and it appears to be:
ps -ef | grep pd
pi 1112 1096 4 19:08 pts/0 00:00:01 /home/pi/src/pd-0.51-2/bin/pd -nosound -nogui -nrt netty-mcserver.pd
So, feeling good right? I checked the port forwarding on my router and opened ports 10000 to 10100 going to the Pi. That should be solid since I previously ran some tests with some colleagues using the same network but pointing to my iMac running netty.mcserver.pd.
When I open netty-mcnetface.pd on my iMac and put in the Pi's DNS name (bitpanic.org) into the patch as the server I get a netsend error:
netsend: bad host or port? nodename nor servname provided, or not known (8)
I also tried the direct IP (not the local IP) and no dice . .
Anyway, I'm going to see if someone outside of my network can connect. Maybe it is some sort of internal routing issue.
I'm also not clear if the patch "netty-mcserver.pd" will work on a Raspberry Pi. I've been following Michael Dessen's google doc on getting this to work on a Debian server so it must work but maybe not on the Pi? Michael says in his instructions that he got to work on a single core Debian server on Linode. I guess I could try that but where's the fun? : > ) And, we (CalArts) are running two streaming servers on campus that are Raspberry Pi's so I'd love to get it work.
Anyway, will keep plugging away. Any insight is appreciated!
Thanks!
Clay