pymaemo

Emacs over SSH - How I develop python programs directly on the N900

Here's how I write Python programs on the N900 on my Mac

  1. installed the ssh package, open ssh server
  2. via ssh, I use terminal.app to the ip address of the N900 (which I can see at all times with the personal IP address widget) and test stuff out interactively using python's command line interpreter, aka the python REPL
  3. when i am happy with the code that I have tested the REPL, I add it to the file on the N900 which I edit on emacs running on my mac using ange-ftp
  4. test the code out on the n900 from terminal.app, 90% of the time it just works since I tested it in the REPL unlike my C/C++ days when something you never thought of always required you to re-compile

Easy, peasy. No need to learn silly :-) Java or C+ or wait for compilation and access to the full power of your Mac for google searches plus you can execute on the N900 directly. No need for silly :-) emulators which in my experience aren't very useful.

PyMaemo is Python 2.5.4 and uses Numeric instead of Numpy

During my Python GPS experiments when I ported Matthew Brown's gamelan pygame python program to the N900's python aka pyamaemo,  found out the following which I am documenting so I won't forget:

  1. current version of PyMaemo is python 2.5.4
  2. python 2.5.4 uses the Numeric floating package (bug 1038, although I think installing NumPy manually instead of waiting for python 2.6 from PyMaemo is the road to yak-shaving madness :-) ! )instead of python 2.6's NumPy
  3. Numeric and NumPy are mostly compatible; there are very subtle differences which are easy to fix; so easy to fix that even I who know almost nothing about Python was able to fix it!

gpsgamelan.py is ok, but i want real music - use 12 major keys with 10 chords

Continuing to have a great time with Python on the N900. I'll have to post later about how awesome it is to run N900 Python aka PyMaemo scripts  from a Terminal.app window on my Mac edited in Aquamacs using ange-ftp (or whatever it's called in the 21st century).

Anyhow came up with gpsgamelan.py which is a modification of the script from latlongsound.py to play gamelan (indonesian scale) music (using the code from PyGSoundTestTest_3.py from Matthew Brown, thanks!) based on the jitter from GPS Lat/Long (10 different sounds based on latitude and another 10 different gamelan sounds based on longitude)

Here's what it sounds like (short video from flickr):

Not so great sound. My next idea is to play more pleasing music

  • e.g. for each neighbourhood, pick a major key (there are twelve possible major keys in Western music AFAIK)
  • based on the latitude, play a major chord (one of 10 possible)
  • based on the longitude, play a minor chord (one of 10 possible)

My guess is this will produce more melodic and pleasing sound

Random GPS driven sounds from an N900 in python

Check out latlongsound.py, my N900 hack to produce random sounds from GPS coordinates (it's basically an unholy :-)  combination of keyboard5.py from MIT and the PyMaemo Location API sample sound code using PyGame, thanks to the MIT and Maemo folks for sharing!). What should I do with this next? I have lots of ideas, love to hear what would be cool from others!

N900 PyMaemo - How to synthesize sounds & read the GPS simultaneously?

Just for fun, I am writing a little PyMaemo python script (sorry but I don't do C++ anymore so that's out :-) !) to compute and then play sounds based on my GPS coordinates (using the N900 Python Location API).

The easiest way to synthesize (rather than just play sounds) seems to be to use the PyGame sound synth (e.g. keyboard5.py from MIT computes some nice sounds) but I don't know how to make it work with the PyMaeMo GPS loop.

LazyWeb, anybody have some sample Python code :-) ? I of course will do my homework and post on the official very hard to follow forum (should I ask in talk.maemo.org OR the pymaemo list?) , but any help would be much appreciated.

Subscribe to RSS - pymaemo