I've been using Pyo for creating synthesized musical instruments and communicating data via Open Sound Control. Also, I'm working on a personal project wich includes a bunch of light sensors and requires many attempts of mapping strategies. When looking for OSC connectors/mappers GUIs I've found just a few interesting solutions, which are usually limited to a specific OS and are available under non-free licenses.
Last month I was introduced to libmapper, "an open-source, cross-platform software library for declaring data signals on a shared network and enabling arbitrary connections to be made between them[...]". It provides python binds and works nicely together with Pyo. Libmapper developers provide a fonctional GUI for MacOS. There's out there webmapper, a web interface for libmapper, and umapper,"an Ugly TUI to libmapper".
I'm unable to use the "official" MapperGUI because I don't use Mac. Webmapper does the job, it has a really fancy interface and looks very promising, but I'm not a web person, mainly when it involves audio (it's a totally personal issue). Umapper is limited to the basic mapper functions and it's not working with recent libmapper API changes. So, I'd have a good reason to start coding a libmapper GUI myself :) Well, actually the real reason is that I wanted to know how libmapper works internally and I'm currently interested on learning a little of programming in WX, so I've just started coding pymapper, a libmapper GUI written in wxpython. It's in a very early stage but it works as it should in my GNU/Linux system. Hopefully it goes to Debian as soon as #737238 is closed.
Here's some screenshots from the GUIs mentioned above, including pymapper:
Mini Debconf in Barcelona was just amazing, while official group photo(s) are not provided I'm publishing these two I liked more. AFAIK we had about 160 attendees++ wow!! My sincere thanks, mainly to local people who made this event such a success!! Videos of talks coming soon :)
By following some instructions kindly shared in a notebook forum I was able to fix the wifi switch from a Lenovo Ideapad s10. Some patience for millimetric tape cutting is all you need to get it done.
The following diagrams worked to me, just re-sharing them:
It's shame that the two main public banks in Brazil require a weird virtual machine for their services using GNU/Linux. I use to need it here and there, so...
Building the package:
apt-get install fakeroot java-package fakeroot make-jpkg jre-7u45-linux-x64.tar.gz sudo dpkg -i oracle-java7-jre_7u45_amd64.deb
The above was enough to have Iceweasel working.
ln -s /usr/lib/jvm/jre-7-oracle-x64/lib/amd64/libnpjp2.so /opt/google/chrome/plugins/
That's all. Hope you never need it.
Voilà a very nice bike I reclycled last year with the generous help from Santropol's bike shop volunteers. I've just realized how beautiful it looks during these white days :)
Disclaimer: In case you are either 1) a complete idiot; or 2) a lawyer; or 3) both, please be aware that this site is not affiliated with or approved by Canonical Limited. This site criticizes Canonical for certain privacy-invading features of Ubuntu and teaches users how to fix them. So, obviously, the site is not approved by Canonical. And our use of the trademarked term Ubuntu is plainly descriptive—it helps the public find this site and understand its message.
Read micah's post to be in context.
A few pictures from Parc national du Mont-Tremblant taken with a gopro in October 2013. Last picture is a nice view of Montréal, taken from the Mont-Royal belvedere:
After spending many hours trying to run some code for different light sensors in an arduino Leonardo I've figured out that I was using digital pin 2 for interrupt 0, which works for both arduino Uno and Mega2560, while digital pin 3 should be used for Leornardo: http://arduino.cc/en/Reference/attachInterruptComments
#!/usr/bin/env python # encoding: utf-8 from pyo import * import random # Simple wind generator with Pyo # Tiago Bortoletto Vaz <firstname.lastname@example.org> # Public domain - Wed Oct 9 15:27:32 EDT 2013 s = Server().boot() # Brown noise to have less high frequency to cutoff noise = BrownNoise(mul=Randi(0.5,1)) # This gives a factor for both the wind intensity and frequency. Intensity # and frequency go together in the two first filters in order to generate a # more natural wind. Q variation gives a kind of wind blows. j = Randi(1,1.4,Randi(.5,1)) # Filter 1 - sort of continuos bass wind freqs1 = Randi(150, 300) q1 = Randi(4, 6) f1 = ButBP(noise, freq=freqs1, q=q1, mul=.2*j) # Filter 2 - main wind frequency with slow variation, following wind intensity freqs2 = [Randi(300, 400)*j for i in range(3)] q2 = Randi(40, 300) f2 = ButBP(noise, freq=freqs2, q=q2, mul=j*1.5) # Filter 3 - very high component, almost fixed in frequency freqs3 = [Randi(2990, 3000)*j for i in range(2)] q3 = Randi(10, 33) f3 = ButBP(noise, freq=freqs3, q=q3, mul=.01) # Filter 4 - the highest frequency wind component, also quite fixed freqs4 = [Randi(10000, 10100)*j for i in range(2)] q4 = Randi(10, 33) f4 = ButBP(noise, freq=freqs4, q=q4, mul=.01) # Player fad = Fader(fadein=1).play() m = Mix([f1, f2, f3, f4],voices=2, mul=fad).out() s.gui(locals())
I've been using sendip and ngrep to performe some network debugging. It was specially useful when I was trying to communicate an arduino ethernet shield to Pyo via Open Sound Control. Here's an example for future reference.
Sending a "Hello" message:
tiago@gnudaw:/home/tiago# sendip -p ipv4 -is 192.168.2.126 -p udp -us 9999 -ud 8888 -d "Hello" -v 192.168.2.149 Added 26 options Initializing module ipv4 Initializing module udp Finalizing module udp Finalizing module ipv4 Final packet data: 45 00 00 21 E..! 6B 7E 00 00 k~.. FF 11 C9 E9 .... C0 A8 02 7E ...~ C0 A8 02 95 .... 27 0F 22 B8 '.". 00 0D 0B D7 .... 48 65 6C 6C Hell 6F o Sent 33 bytes to 192.168.2.149 Freeing module ipv4 Freeing module udp
Receiving a loop of OSC messages:
tiago@gnudaw:/home/tiago# ngrep src 192.168.2.149 interface: wlan0 (192.168.2.0/255.255.255.0) filter: (ip or ip6) and ( src 192.168.2.149 ) # U 192.168.2.149:8888 -> 192.168.2.126:9999 /analog/0...,i...... # U 192.168.2.149:8888 -> 192.168.2.126:9999 /analog/0...,i...... # U 192.168.2.149:8888 -> 192.168.2.126:9999 /analog/0...,i...... ^Cexit 3 received, 0 dropped