Reading Piano Rolls Without A Player Piano

detection-example

A while back, [Jacob] played around with a player piano. After feeding a roll into the machine and trying to figure out how a fifty year old machine using hundred year old technology can replicate a skilled pianist, he decided to take a crack at decoding piano rolls for himself. He came up with a clever way of doing it over Christmas break, using a camera and a few bits of OpenCV.

The old-school mechanics of a player piano use a bellows and valve system to suck air through dozens of holes, making the action hit a string whenever a hole is present in the piano roll. To bring this mechanism into the modern age, [Jacob] pointed a video camera at the active part of the piano roll and used OpenCV to translate holes in a piece of paper to a MIDI file.

The synthesized version sounds just as good as the original paper scroll-based version, as seen in the video after the break. There are a few sync issues in the video and the resulting MIDI file isn’t in the right key, but that’s easily fixed by anyone willing to replicate this project.

Continue reading “Reading Piano Rolls Without A Player Piano”

Building A New Motherboard For A TRS-80

Trash80

The TRS-80 Model 100 was an amazing piece of kit when it was released. Able to run for a week with just four AA batteries and smaller than some laptops today, this portable version of the TRS-80 saw action with war correspondents covering the Falklands invasion. A pedigree a MacBook Pro will never be able to live up to, it seems.

[Hudson] picked up a non-functioning Model 100 with the express goal of replacing the 30-year-old electronics inside with an updated motherboard – and also pull up our retro site in the process. Armed with a Teensy++, [Hudson] pried open his ancient computer and set to work interfacing the display and keyboard to his AVR dev board.

The LCD display in the Model 100 has a resolution of 240×64, driven by ten Hitachi HD44102 display drivers. Each of these display drivers are responsible for the pixels in a 50×32 rectangle on the screen and are interfaced with a 30-bit wide bus consisting of chip select lines, and 8-bit data bus, and a few other random control lines. [Hudson] plugged this 30 pin header into his Teensy++ and after a bit of ingenuity regarding the strange electrical requirements of the LCD, was able to control every pixel on this 30-year-old display.

The next order of business was interfacing the keyboard with a modern microcontroller. The keyboard is laid out in a normal matrix, but with a few oddities: characters like ~, |, and curly brackets aren’t present on the Model 100. After working these problems out, [Hudson] set to work on a VT100 terminal emulator. This allowed him to run vi and lynx, enabling him to pull up the Hackaday retro site in a wonderful forty-column text mode.

Future improvements to this redesign include designing a proper PCB to replace the current protoboard design. The original Model 100 included a text editor and programming language, and adding a Forth implementation isn’t out of [Hudson]’s grasp. It’s an awesome build, and an excellent improvement that will allow [Hudson]’s Trash-80 to see another 30 years of use.

Playing A WAV File With 64 Bytes Of RAM

montage-final

[Jacques] thought his doorbell was too loud, so of course the first thing that came to mind was replacing the electronics and playing a WAV file of his choosing every time someone came knocking. What he ended up with is a very neat circuit: he used a six-pin microcontroller with 64 bytes of RAM to play an audio file. (French, Google translation)

The microcontroller in question is a PIC10F322. one of the tiniest PICs around with enough Flash for 512 instructions, 64 bytes of RAM, and a whole bunch of other features that shouldn’t fit into a package as small as a mote of dust. Without the space to store audio data on the microcontroller, [Jacques] turned to a 64 kilobyte I2C EEPROM. The PIC communicates with the EEPROM with just two pins, allowing it to read the audio data and spit it out again via PWM to an amplifier. The code required for this feat is only 253 instructions and uses just a few bytes of RAM; an impressive display of what a very small microcontroller can do.

Hardware SPI With Python On A Raspberry Pi

While the Raspberry Pi has very good support for an I2C bus, a lot of very cool chips – including the in system programmer for just about every ATtiny and ATmega microcontroller – use an SPI bus. [Louis] sent in a tutorial for getting hardware SPI on his Raspi, and even though it’s rather limited right now, it’s a step in the right direction.

Previously, [Brian Hensley] put up a tutorial for using the Linux SPI drivers with the Raspi. [Louis] wanted to play with SPI in Python, so he added a C extension to the spidev.c file (available here) that allows him to open an SPI connection, initialize, transfer, and close the connection.

After connecting an Arduino to the MOSI, MISO and SCK pins of his Arduino, [Louis] was able to transfer data from his Raspi over an SPI bus. It should be noted that a level shifter would be a really good idea here, but this is an excellent project if anyone would ever want to port AVRDude to Python.

 

Who Would Win In A Fight, Robot [Lemmy] Or Robot God?

[youtube=https://www.youtube.com/watch?v=3RBSkq-_St8&w=580]

So this is what happens when a fan of The Rock-afire Explosion grows up. Meet Compressorhead, a musical trio of hydraulic and pneumatic musical mastery.

Compressorhead is a lean band, consisting of only three members. Stickboy, the drummer, is a four-armed beast reminiscent of [General Grievous] that plays a 14-piece Pearl kit with a double bass. His listed influences include [Danny Carey] and the original MPC60.

Fingers is the guitarist and a wonder of mechanical linkages consisting of 78 hydraulically actuated fingers. Influences include [Yngwie Malmsteen], but with more fingers and less of an ego, we expect Fingers to be an even better guitarist than his idol.

Bringing in the low-end is Bones, the robotic tread-mounted bassist for Compressorhead. Like Fingers, he plays an unmodified instrument. He’s also the newest member of the band, completed in 2012.

If you’d like to check out Compressorhead in person, they seem to be touring Australia right now. If you’d like to schedule them, their rider lists a requirement of 65 Amp, 3 phase power, 3 liters each of hydraulic fluid and motor oil, and suspiciously no requirement for removing all the brown M&Ms from a package. Be sure to check out the videos of the band in action on their media site.

Thanks [BadWolf] for sending this one in.

Brute Forcing A GPS PIN

pin

[JJ] picked up a Garmin Nuvi 780 GPS from an auction recently. One of the more frustrating features [JJ] ran into is it’s PIN code; this GPS can’t be unlocked unless a four-digit code is entered, or it’s taken to a ‘safe location’. Not wanting to let his auction windfall go to waste, [JJ] rigged up an automated brute force cracking robot to unlock this GPS.

The robot is built around an old HP scanner and a DVD drive sled to move the GPS in the X and Y axes. A clever little device made out of an eraser tip and a servo taps out every code from 0000 to 9999 and waits a bit to see if the device unlocks. It takes around 8 seconds for [JJ]’s robot to enter a single code, so entering all 10,000 PINs will take about a day and a half.

Fortunately, the people who enter these codes don’t care too much about the security of their GPS devices. The code used to unlock [JJ]’s GPS was 0248. It only took a couple of hours for the robot to enter the right code; we’d call that time well spent.

You can check out the brute force robot in action after the break.

Continue reading “Brute Forcing A GPS PIN”

Hackaday Links: January 5, 2013

Do not aim laser at remaining eye

laser

Over on the reddits, [CarbonGod] thought he had a slightly overpowered laser pointer. His red laser pointer had a label that said it outputs less than 5 mW. The only problem is it melted black plastic and heated a thermocouple up to 140°F. [CarbonGod] is begging, borrowing, or stealing a power meter from an engineer friend, but until then we’ve got measurements from [The_Sourgrapes]. His lasers put out 105 mW (red), 56 mW (blue), and 53 mW (green).

While <5 mW lasers are fairly safe, these lasers that are labeled as having < 5 mW of output are not. Now if we only knew where to buy these overpowered lasers…

 It’s impossible to find this video in HD

rickroll

[Zach] created a physical rickroll device. It’s an Arduino and an MP3 shield hooked up to an ultrasonic sensor. When someone walks within six feet of the device, the Arduino starts playing Never Gonna Give You Up. When that person walks away, the song is paused only to start again when something else is detected by the ultrasonic sensor. There’s a hilarious video of [Zach] triggering his physical rickroll device, or you can check it out on the build page.

Hey, you! Write some code!

react

[William] wrote in to tell us about a project called ReactOS. The goal of the project is to create a free and open source operating system that is binary comparable with Windows XP. Yes, this project has been around for a very long time, but with Microsoft dropping support for XP, the ReactOS team could really use a few devs to get a beta out soon. If you know a bunch of low-level Windows stuff but haven’t ever contributed to an open source project, check out the developer’s wiki.

I’m [Johnny Knoxville] and this is electrostatic discharge

ouch

It looks like [Mehdi] is making a few instructional videos for EEs and those tinkering around with electricity. So far he has tutorials for making proper wiring connections, what not to do with ESD, how to take capacitors for granted, and demonstrating how electricity can kill you.

Penitent man shall pass…. Penitent man shall pass…

[youtube=http://www.youtube.com/watch?v=Cj8wXlSXGk0&w=470]

If gift giving were a contest, [Bradley] would win. His sister’s favorite movie is Indiana Jones and the Last Crusade, so when he needed to wrap a gift (a coffee cup, fittingly), he went all out. All the challenges required to obtain the Holy Grail are present in this present including the breath of God (needs more circular saws), the name of God (why was the letter ‘J’ even in the movie?), and the Leap of Faith (sand included).

Coming up for his sister’s birthday, a face-melting hair dryer.