karplus4arduino

2011 October 8

I can post software!

Filed under: Metacomments (about the blog),Software — gasstationwithoutpumps @ 20:45
Tags: , ,

in one of my earliest posts on this blog (Hold the presses! Can’t distribute software!), I complained about not being able to discuss code on the wordpress.com blogs. I found out today that it is actually pretty easy to post software using WordPress.com, using the “sourcecode” tag documented at Posting Source Code. I don’t know if this is a new feature, or I just failed to find the documentation last time I looked.

I went back through my posts and added code to the ones that should have had it before (let me know if I missed one). I may be inspired now to write some of the posts that have been sitting around as unfinished drafts since the beginning of the summer, or to put up some of the little Arduino programs I’ve been writing for teaching physics.

2011 June 14

Getting started

Filed under: Metacomments (about the blog) — gasstationwithoutpumps @ 23:27

I’ve been dithering for a while about how to start this blog:

  • Start with a tutorial on digital sound synthesis—what the basic concepts are and how it works.
    There are a lot of tutorials on digital sound synthesis already in existence, so starting there would be not be contributing much to the field. Even though the Wikipedia entries seem pretty feeble, there are some decent tutorials from UCSC from their electronic music studio. I may add some more detailed tutorials to this blog when I need to explain something specific, but I won’t start with generic tutorials.
  • Start with the algorithms in a high-level language (for example, writing C code to create .wav files on a Mac or PC).
    When I wanted to get back into playing with digital synthesis, this is what I did, since I already had a Mac, and programming it was pretty easy.  Producing .wav files and playing them back is good for experimenting with synthesis algorithms, and it avoids the problems of real-time computation and control. I’ll probably do a few posts on the software I wrote for this experimenting, as it provides a handy way to get started with no extra hardware beyond what almost every home computer already has.
  • Start with the hardware: setting up an Arduino to produce sounds or control motors.
    I named this blog after the Arduino, so it would make sense to start here, with the hardware one needs to do sound synthesis on the Arduino.  This also makes a convenient starting point for attracting an audience of Arduino users, who are easier to notify of the existence of this blog than a group of digital-synthesis enthusiasts—I know of some Arduino forums where I can post about this blog.
  • Start with random comments about things I’ve done or seen recently, and go back to fill in background later.
    This is my strongest temptation: just to dive in without context into something that currently catches my attention.  I have several such posts that I could write fairly quickly, and I suspect that I’ll succumb to this temptation.  The problem with blogs, though, is that few people start from the beginning and work their way forward and few go back to old posts, so good stuff posted early tends not to see much readership.
  • Start with robotics tutorials.
    I need to brush up on robotics. I’ve not had a course on robotics since the 1970s, and things have changed a bit since then.  Luckily there are a lot of tutorials on the web and I have friends in electrical and computer engineering who have been teaching the subject, so I can get suggestions on what parts to use and sanity checks on designs. I’m not planning to get very sophisticated with the high-school robotics club (no graduate-level control theory!), so I may not need to get too fancy.

So, from a purely pragmatic standpoint, I should probably post about doing simple things with the Arduino, gradually adding more complicated hardware and software.

Why the Arduino?

Filed under: Digital music,Metacomments (about the blog),Robotics — gasstationwithoutpumps @ 21:28

I am starting this blog to record various things that I’ll be doing with the Arduino microprocessors.

Although I used to be a computer engineering professor, this blog is not a record of my professional activity, but of hobbyist activity.  My interest in microprocessor programming goes back a long way (back to the days of the 8080, 6800, and Z80 in the mid 1970s), but I moved away from it for a decade and have only recently gotten back into it.

Of the many different chips and development environments available, I chose to play with the Arduino boards, because there was a good community of users and a lot of peripheral boards (known as “shields” in the Arduino community) already available.  Anything I did on an Arduino would likely have an audience of hobbyists.  The chips and boards themselves are cheap, easy to interface to, and much more powerful than the microprocessors I used to work with.  The development environment is free and runs on my Mac (as well as on other systems).

My initial impetus to get the Arduino was to do some more exploration of the plucked-string algorithm that Alex Strong and I patented in 1987 (now known as the Karplus-Strong algorithm, though Alex really deserved top billing for the algorithm). More specifically, I wanted to try implementing and modifying Alex’s later algorithm, which was only published as a patent.

From what I can see, few people are playing with digital synthesis algorithms any more, though the ATMega chips of the Arduino are many times more powerful than the 8080, Z80, and TI 9900 chips that we were using in the early 80s.  I’d like to provide some solid implementations for the Arduino community to experiment with, and maybe write some tutorials.

Since getting the Arduino, I’ve started coaching a high-school robotics club, and so I’ve gotten interested in sensors and motor controllers for the Arduino. I’ll talk about those things on this blog also.

Create a free website or blog at WordPress.com.