• alexandros

    A decent ADC for the Pi is indeed something pretty hard to find. I've been using a Focusrite Scarlett 2i4 which I've ripped off its case and put it in my project's housing, and it works fine. This requires some hardware hacking though as you'll might need to remove some parts from the sound card's circuit board (like potentiometers) in order to bring them to the desired position in your setup.

    posted in I/O hardware diyread more
  • alexandros

    From DmxMaster library SerialToDmx example:

    #include <DmxMaster.h>
    
    void setup() {
      Serial.begin(9600);
      Serial.println("SerialToDmx ready");
      Serial.println();
      Serial.println("Syntax:");
      Serial.println(" 123c : use DMX channel 123");
      Serial.println(" 45w : set current channel to value 45");
    }
    
    int value = 0;
    int channel;
    
    void loop() {
      int c;
    
      while(!Serial.available());
      c = Serial.read();
      if ((c>='0') && (c<='9')) {
        value = 10*value + c - '0';
      } else {
        if (c=='c') channel = value;
        else if (c=='w') {
          DmxMaster.write(channel, value);
          Serial.println();
        }
        value = 0;
      }
    }
    

    In Pd send the message "print 1c255w" to [comport] to write the value 255 to DMX channel 1. That should work.

    posted in technical issues read more
  • alexandros

    Can't watch the video right now cause Youtube is throwing a playback error. I've used an Arduino UNO along with the DMX-master shield and library from Tinkerkit, but I think this shield is not being produced any more... This is their google code page https://code.google.com/archive/p/tinkerit/wikis/DmxSimple.wiki it's for the DMX-simple, but it's pretty similar to the master.
    You can make a DMX circuit with the max-something IC, but can't remember right now.
    What are the issues you're facing?

    posted in technical issues read more
  • alexandros

    Another solution would be the [shell] object from the ggee library, which should be available via apt-get install for the Pi. You can execute your Python scripts through [shell] and get their output by calling Python's print function and receiving it via [shell]'s left outlet.

    posted in technical issues read more
  • alexandros

    I've been using the Odroid to create a modular synthesizer programmed in Pd and Arduino. I've finally made it but haven't made documentation yet, it will come in the next month or so.
    Another option is of course the very popular Raspberry Pi. You'll need an external sound card to get Pd's audio outputs into the real world. If your sound card has at least three inputs and outputs (which is not the most common thing, IMHO) then you're probably good to go. Otherwise you'll have to implement some sort of physical patching that can be translated into Pd language. One good example is the rePatcher by Open Music Labs. This is what I based my synthesizer on and turned it into a modular synth.

    Depending on what you want to do there can be different approaches, but I would recommend starting off with a Raspberry Pi and an Arduino.

    posted in I/O hardware diyread more
  • alexandros

    @OJO This means that the repositories of your Linux distribution have an outdated version of Pd, which is what you get with apt-get install.
    If you want to get the latest version (and you probably should get it), go to Miller's website and download the source, then compile after you make sure you have all the necessary dependencies (check the INSTALL.txt file).

    posted in technical issues read more
  • alexandros

    Though I tried the same patch in purr-data and it doesn't work the same way it does on vanilla. don't really know why, I'm not using purr-data anyway.

    posted in this forum read more
  • alexandros

    On purr-data I did [declare -lib iemmatrix] and then put a [matrix] object instead, not a [mtx] and it worked. Try it.

    posted in this forum read more
  • alexandros

    Since what you need is indeed a matrix, I guess [mtx] from the iemmatrix library would be the best solution. The image below shows a basic use of [mtx]:
    matrix.png

    posted in this forum read more
  • alexandros

    sudo nano /etc/security/limits.conf
    This will ask you for your user password and will open the file in nano. nano is a text editor that opens up in the terminal. It's very easy to use, you'll probably find sufficient sources about it online.
    Note that this is not for Jack. If you've installed Jack with real-time priority, then there should be another file, /etc/security/limits.d/audio.conf or something like this. You should probably edit this file as well, writing the same stuff at the end of it, as you did with /etc/security/limits.conf

    posted in technical issues read more
  • alexandros

    Your Pi image should include a C compiler that would probably work for Pd externals. Pd-extended's generic Makefile should do the job, if you edit the first lines where you indicate the sources. Katja Vetter's libbuilider Makefile should also work, but I haven't spent time to work with it (I should though).
    Give a try with one of those and if you still can't make it come back here.

    posted in technical issues read more
  • alexandros

    If planet ccrma has a real-time kernel, then go for that. I can confirm that editing the limits.conf file won't harm your system. Only, when you run Pd (and Jack if you run it with it), your computer won't be able to do some things like play a Youtube video, for example.
    But you'll need these permission (and to add yourself to the audio group) in order to get real-time. You'll definitely need a real-time kernel as well to run on real real-time.

    posted in technical issues read more
  • alexandros

    Apparently Pd is installed but you can't get real-time priority (this is what the message "priority 8 scheduling failed." means). Also, it looks like you don't have wish installed, which is where the GUI runs (if I'm not mistaken). Try installing wish from Fedora's repositories and see what you get.

    posted in technical issues read more
  • alexandros

    @fabio-C It's a library of vanilla abstractions called list-abs. It's on deken, I think

    posted in technical issues read more
  • alexandros

    I tried with [expr] but it outputs -3, so I made a version with two vanilla abstractions I've written ([int2bin] and [bin2any]) which you can find here https://github.com/alexdrymonitis/miscellaneous_abstractions and [list-drip], which is a vanilla abstraction from the list-abs library.
    It might be a bit of an overkill, but it works. Here's the patch bitwise_not.pd
    And here's an image for whoever wants to get a glance of the patch:
    bitwise_not.png

    posted in technical issues read more
  • alexandros

    Are you sure you're using vanilla? Enabling/disabling the auto-patch feature doesn't sound very vanilla to me.

    posted in technical issues read more
  • alexandros

    I was once suggested the following hack:
    In your patch (probably abstraction), put this:
    initbang_hack.png
    When you're done with your abstraction, open it in a text editor, and at the very bottom of the file add the following line:
    _initbang bang;
    Mind that you shouldn't put any characters like #X or anything like that, just the line above.
    Note that whenever you edit your abstraction, this line will be deleted, so you'll need to write it every single time you change something.

    Also note that [initbang] is available through deken in the iemguts library.

    posted in technical issues read more
  • alexandros

    Youd patch used only a UDP connection, no OSC format in messages sent. Even though you typed an OSC-style address in a message, that's not an OSC format. OSC format is bytes that are not so human-readable. You need to incorporate the native OSC objects that come with vanilla, [oscformat] and [oscparse].
    Here's a screenshot that does what you probably want (note that the OSC address in [oscformat] can omit the forward slashes, but since this is a standard OSC-style address, I kept them there):
    myfirstosc.png

    posted in technical issues read more
  • alexandros

    If I got it right, you want [clip]s to bang only when a value is within these two ranges, right?
    Check this arduino-test.pd
    I've changed one [change] with two comparison objects, [>= 50] and [<= 55], a [&& ], and a [sel 1] This will bang only when the incoming value is between 50 and 55. Do the same for the other range and you should be good to go. Take care to use [t f f] correctly (like in the patch I've uploaded).

    [Edit]: Add a [change] between [&& ] and [sel] so you don't get massive bangs, since the Arduino will be sending data in the set baud rate.

    posted in patch~ read more
Internal error.

Oops! Looks like something went wrong!