Friday, November 18, 2011

Fun with last.fm API

I am currently writing a program in python (using pylast) to analyze my last.fm plays and other data. I'm not sure currently everything I want it to do, but I would eventually like something that will chart plays over time for artists, tags, or all tracks over time. Normally, I wouldn't have posted something on it now, but to get my API access credentials from last.fm, I need to link to a site, so I will update this post as the project develops.
Music and Math ftw.
http://www.last.fm/api/account

EDIT: Here is my first Project: Tag percentages

Thursday, November 17, 2011

An interesting case of digital property

Apparently, there is a new site called ReDigi that allows users to upload their unwanted, legally-acquired music tracks for credit, and resell these "used" tracks for less than most retail digital music stores. Apparently, they have an algorithm for determining if a track is the original file  I hadn't heard of this site until Ars Technica did an article on the RIAA's expected negative response. They are currently demanding ReDigi cease and desist, pay restitution, and delete all content from their servers.

The interesting part here though is the legal philosophy. ReDigi claims protection under the right to sell provision:
(a) Notwithstanding the provisions of section 106(3), the owner of a particular copy or phonorecord lawfully made under this title, or any person authorized by such owner, is entitled, without the authority of the copyright owner, to sell or otherwise dispose of the possession of that copy or phonorecord.
Copyright Act, Section 109(a).
 The RIAA claims that in the process of acquiring the files from end-users, ReDigi is making a copy of the file, and therefore engaging in copyright infringement. Let's look at the actual technical level as to what is going on. When you move a digital file from one place to another (on different computers or the same, and independent of the technology used to transport), the data is read from the hard drive and copied into memory. It is then copied from memory to its destination, and then deleted from memory, and then deleted from the original hard drive location. Thus, the RIAA is technically right in saying that ReDigi is making a copy of the file. However, this same process occurs anytime you work with any digital files. Under this argument, Apple commits copyright infringement every time someone buys a track from their website, and the end user does every time they listen to the track or copy it to their device. So the question is, in a digital world, what constitutes a particular copy?

When a user buys a track from Amazon, he is the legal owner of the particular copy. If he were to send a copy to a friend, that would be unauthorized distribution, and the recipient would not have legal ownership of the file. However, it would be highly unreasonable to claim that copying the file for personal use, such as moving it to other devices or playing it do not fall under fair use, considering that is why he bought the track in the first place. Do the same rules for transfer of ownership apply to digital objects the same way they apply to physical ones? According to the copyright law referenced above:
“Phonorecords” are material objects in which sounds, other than those accompanying a motion picture or other audiovisual work, are fixed by any method now known or later developed, and from which the sounds can be perceived, reproduced, or otherwise communicated, either directly or with the aid of a machine or device. The term “phonorecords” includes the material object in which the sounds are first fixed. Copyright Act, Section 101.
Digital music files are not "material objects" and thus cannot fall under the Copyright Act, and thus, presumably there is no law regarding the transfer of ownership of digital files. Should these rights still apply? The RIAA's biggest legitimate concern is that it would be impossible to prove original ownership of files. This is because it is much easier to forge digital files than physical objects. If you placed meta-data in the file with regards to ownership, this could easily be removed, manipulated, or forged. You could protect these files with DRM software, but I have already discussed at length how this only hurts the legitimate owners, is easily overcome, and therefore drives people to piracy. Furthermore, I don't think we socially expect this right (and by socially, I mean the digital society). Admittedly, when I first heard of what ReDigi was doing, I laughed, because it seems absurd to think that you can prove legal ownership of data in a society like the internet where the entire goal is the spread and reproduction of data.

So, in a way, I guess I am actually defending the RIAA for once. Let me close with my thoughts on how the case should actually go, however. The RIAA has a case not in terms of their claim that by uploading files to their servers that ReDigi is making illegal copies, but instead in that there is not legal justification for the transfer of ownership of digital files. However, ReDigi should not be held responsible ex post facto, and the dying record industry certainly does not need restitution, and should not be able to dismantle a legitimate business the way they are trying.

Wednesday, October 26, 2011

Patents

Patents were designed to protect an independent engineer from having his invention stolen by a company who happens to be able to produce it better because they have more means. But when giant companies use it to engage in anti-competitive business practices against other giant companies, we can directly see how the system is flawed. Furthermore, you have companies who have a business model where their only "product" is a portfolio of patents, usually extremely vague, that they bought up from individuals and other companies, and use them to file suits for profit.
The system is further flawed on a fundamental level. What constitutes an "idea?" How broad or narrow does it have to be? Can you put a patent on an ancient design that happened to not be patented (like a trebuchet)? You can't place a patent on a scientific theory, as that is absurd. But in the field of engineering, the building blocks of your science are designs or methods for completing tasks. In the same way that mathematics or physics are built on previous contributor's theorems and models, engineering is built on previous engineer's designs. To tell someone that they cannot use your idea is in effect interrupting technological progress.
But how do you fix such a system? Removing it would allow Apple for example come along and steal your design and make billions using it in their next generation of iPhone. One solution, which is rapidly growing in popularity, is copyleft licenses. In the DIY electronics world, this is called "Open Hardware" (due to its similarities to the Free Software Movement). Simply put, you release your design under a copyleft license such as Creative Commons, which will retain your ownership and control of the idea without stifling technological progress. This still allows for a company with greater means than you can produce your idea for cheap and make "your" money, but if nothing else, you to at least get credit for your accomplishment, so your salary will improve (because you can use it to show the big tech company you work for how valuable and smart you are). I realize this solution, while satisfying for me and many other (actual) engineers, understandably still isn't completely satisfying to everyone. I admit I have no further solution, but I am open to suggestions.
Abolishing the patent system has still further problems. What happens to all the old patents? We could do something similar to the copyright to public domain shift for those, and not allow any new patents. Of course, companies would continue to fight with the old ones, and would feel "outgunned" because they wouldn't be able to make more.

Saturday, October 8, 2011

Must-read blog on music and piracy

So after checking out Bandcamp (which you should do, too if you've never heard of it), I stumbled across the Bible of music piracy; basically exactly what I have been saying this whole time (but much better written). It's  a blog called New Music Strategies by Andrew Dubber (et al.).
In one particular article, "Should I be worried about piracy," he starts by separating piracy from unauthorized copying and then points out how the latter is not a problem worth worrying about.
In another, he talks about how important it is for people to be able to listen to music before purchasing.
This will sound cheesy, but the information age really is revolutionizing the music industry (for the better, IMO). Comments?

Monday, August 8, 2011

Car Stereo 2

Two months ago, I mentioned trying to make an interface with my stock stereo to make a car dock. Well, after a month of no luck and zero help from Honda, I went ahead and ordered one of the pre-built adapters, realizing that they weren't that expensive, and I could still build a dock that could interface with it. I went with the PIE model, as it was slightly cheaper. As soon as I got it, I popped it open. As it turns out, the biggest chip on the board is an Atmel ATMEGA168 (for those of you who don't know, that is exactly the microprocessor that Arduino uses). If someone is curious and wants to build something like this themselves, this board also uses 2 JFC4559 DUAL OP AMP chips, a DA3664 5V regulator, a 10MHz ocillator, and this interesting TI Differential Bus Transceiver [SN75176]. The datasheet I found was full of typical EE jargon, but I imagine this chip is important for interfacing with the stereo's data stream (which is probably proprietary; I couldn't find any info on it anywhere online or from Honda). I should probably also note that there is a big sticker on the device that says, "Innovations Incorporated In This Product Are Protected By U.S. Trademarks & Copyrights." Just so I'm not liable for giving out said info. There is a 4 input DIP switch inside, and according to the documentation with the device, the 4th switch controls weather the device pretends to be a CD changer or a Satellite radio. I suspect at least one of the other three allows you to use the ISP to interface with the ATMEGA. (This means, theoretically, you could reprogram the device, although what you would tell it to do, I don't know. The inputs and outputs are likely to specialized in this case, although there appear to be a number of unutilized pins on the ATMEGA, which might be usable as GPIO).

I've been still trying to get started with Arduino, but I don't seem to have as much time as I would like. Eventually, though, I'm going to want a cool iPod dock with LCD screen that will play through the car stereo, and eventually maybe even connect via Bluetooth using A2DP to my cell phone. If I progress any further, I will certainly post.


Friday, June 10, 2011

Genre Analysis

For the longest time, I have been interested in genres. I like thinking about what it is that tells you that a song is reggae and not grunge or dirty south gangsta rap or whatever. Obviously, the easiest way to do this is with math, because math is awesome! I started by thinking about several common genres, and what makes them different. I came up with several dimensional scales with which a genre or artist might fall. I may think of more (and I am open do suggestions!), but here is what I have so far:

Focus on Melody vs Focus on Rhythm
Power Metal vs Dance
Focus on Lyrics vs Focus on Instrumentation
Rap vs Classical
Natural vs. Artificial Instrumentation
Folk vs Electronic
Those are the clear cut ones. The others are a little more subjective:

Complexity
Progressive vs Punk
Aggressiveness
Blackened Death Metal vs Bubblegum Pop
The last one may be the hardest to judge, is a lot more subjective, and may be completely unnecessary. I'm looking for a broad genre that would have the same output as a different one, but haven't found one yet. As an either-or (binary system) instead of a scale, this allows for 32 different options, which even for broad genres doesn't seem like enough. I am open for thoughts on this.

Tuesday, June 7, 2011

Car Stereo 1

I just got an '03 Accord. The stereo is in that time period between when people had cassette players (for which you can get an aux input adapter, like this) and when everyone had mp3 players and the cars included a direct aux input.
FM transmitters suck; they are too expensive, break easily, are a pain to use, and above all, are awful quality. Surely you can plug a Research shows there are basically 2 options for installing one yourself: Blitzsafe and PIE. You won't find either for less than about $75. This is obviously a bit excessive, since there is a 14-pin output on the back of the head, which surely has at least the left/right/ground audio wires accessible.

A little more research, and I found a pinout for the connector (once I find a copy of it again, I will post it), although I have no idea if it is right. I also did a little delving into Apple's iPod cable pinout. Sure, once I had the audio wires, I could also wire up the cable to play audio and charge an iPod, but is that really enough? For docking stations, etc, Apple uses a proprietary Accessory Protocol, which is very well documented. The pinout from the car appears to use a serial connection of some kind. Wouldn't it be cool to have the car's stereo controls control the iPod? I looked at using an Arduino to handle the translation between the car and the iPod. LCD screens are surprisingly cheap; I could even get a screen to display the track info. I haven't really worked with Arduino before (though I had heard all good things) so I hadn't realized how huge the community is. Not only was there already library for controlling an 16x2 character LCD and for serial input/output, there is even a library for controlling iPods via AAP!

This removes most of the technical work of the project (especially the programming). I ordered a y-cable adapter for the 14pin output (at a freaking $20, car parts are too expensive) and the other parts necessary (Arduino, iPod breakout board, etc). I went ahead and asked Honda support for more information about the pinout on the stereo, but I am pretty confident that they will never get back to me (prove me wrong, Honda!). I am expecting to have to test the car's input/output on my own, connecting the pin to HyperTerminal or something and pressing all the buttons on my stereo. Once I have all the materials and info, I will post my results. In the meantime, I am driving around with a big hole in my dashboard.




One last note of interest, City and Color (that's Alexisonfire's Dallas Green's side project) released his new album today, Little Hell. I am listening to it at this very moment, and am fairly impressed. Check it out.

Thursday, March 31, 2011

KittyServ 3.0

So I finally have a stable server set up. It is an old Gateway that came with Win98 (and a 450MHz processor, no less!) that is now running Debian 6.0 and Apache2.2. A friend turned me on to Webmin, which screwed up my Virtual host settings, but otherwise has been a godsend. It also hosts a headless Transmission client, and when a file completes, I move it to Dropbox. This gets around the school's firewall, which frowns on p2p.
This was perfect timing, as BCAR, the alternate realities club on campus, came to me asking about starting a website for their convention April 22, KinatsuCon. Unfortunately, No one had any web design experience, and I am awful at the creative portion of web design, so I did what has become habit for me: I downloaded a CC-licensed template from spyka.net (this time it was "widget"), and got to work. Assuming we get some content, we may actually get a domain name, but for now, you can see the content-less site at kinatsucon.dyndns.org.
This also gave me the excuse to set up an FTP server (so people can keep the site updated). It was surprisingly easy to set up vsftpd, and works well.

In music-related news, we've finally got a band together (that is, we found a drummer), and can hopefully compete in the Battle of the Bands this Saturday (April 2).