The acid craze was not due solely to the fact that it had a sweepable filter, but the fact that they designed it wrong and it overdrives the filter when you've got the resonance up a fair bit.
Can I simulate that to a decent level with an arctangent distortion function applied to the output of the filter? Or is it more complicated than that?
Too bad Sony never made the MD a data storage standard
Sony did make MD File, an MD-based storage standard, but because the drives were much slower (1x MD == 0.2x CD) than other magneto-optical storage technologies in the same capacity and price range, it died out.
Then you could store MP3s on one and we might have seen MD MP3 players.
"Net MD" players support MPEG audio.
Sony so obscured the MD as a storage medium that I don't even know how much data one holds
They need the labels on the chips so they know where to put them on the board during assembly
Then why not just label each part with simply a codename such as "Tom", "Jerry", etc? The chips would then have labels, but would-be crackers wouldn't be able to decipher what they meant.
I consider SNES9X less inconvenient than having to fight with my 10 year old SNES every time I want to play Super Mario World, but if I could get the exact same game without the hassle of either an emulator
How is an emulator any more of a hassle than a native PC game? It's easy. Just install snes9x or visualboyadvance, let it associate itself to.smc (super nes) or.gba (gba), and set up the joypad bindings. Then put in the disk containing the copy of Super Mario World that you ripped from your cartridge (Super Mario World, Super Mario All-Stars+SMW, or Super Mario Advance 2) and play on.
In fact, it's usually easier than native PC games because you only have to configure the bindings of four emulators (NESten, SNES9x, DGen, and VBA) rather than every single game in your collection.
However, on the other hand, owners of copies of some titles aren't so lucky:
Only the total purists would care enough about the slight differences
You call the complete corruption of graphics and resulting unplayability of NES "Klax" on anything but LoopyNES a "slight" difference from the hardware? Last time I checked, the Klax hardware (Tengen Rambo mapper) is not very well emulated.
And melody is about the time between one note from another... I can play Stravinsky on the piano, if I can press the key anytime I want to.
I guess you're criticizing the lack of an exact definition of "short, medium, and long" note durations. Well, I defined short as an eighth note, medium as a quarter note, and long as a dotted quarter or longer. (In some songs, it's sixteenth, eighth, and dotted eighth.) I didn't try to model melodies in the detail that musical notation records them; I was trying to reduce them to what a federal judge will look at under the copyright case law standard of "substantial similarity".
So it's a clone of a clone of a box that was originally built to simulate a bass guitar?
The TB303 simulated a bass guitar by sweeping a resonant filter over a sawtooth wave.
Since then, better guitar synthesis methods have come to light, specifically the Karplus-Strong plucked string modeling algorithm. To implement KS, feed a click into a delay line for each string that's plucked. Set the length of the delay line proportional to the length of the string, determined by finger position. Then filter the output of the delay line (make sure to use a FIR filter so that you won't get too much harmonic distortion from phase shift nonlinearity), send it to the amp, and feed it back into the delay line.
If you have Cool Edit or a similar audio editor, you can do this with the "Echo" delay effect. Generate a short burst of noise. Then pull up Echo and set the echo period to 1000 divided by the frequency in Hz of the note, the echo feedback to between 95% and 99.5%, and the filters to all maximum except the highest frequency one. Tweak the Echo parameters until you have a sample you like, then paste it into your tracker.
Why wasn't KS used in the 303? Analog synthesizer parts were much cheaper at the time than the 16 KB or so of memory KS takes.
So why is 303 style synthesis still used? Easy. Changing the filter's center frequency while playing a repeating bass pattern gives the stereotypical "acid house" bass effect. That's what Rebirth and clones are for.
The problem is that music is not about notes and chords. It's about the distance between them.
I took distances into account:
There are only 12 distinct notes in an octave, and about three meaningful durations in music (eighth note, quarter note, and longer than quarter note).
Think of the 12 distinct notes in an octave as distinct intervals, or frequency domain distances, from the first note. Think of the durations as time domain distances. This makes only 36 (time, frequency) distance vectors from one note to the next, and fewer than 50,000 sequences of three such distance vectors. There still aren't enough sets of distances for a songwriter to be able to create original melodies.
The artists signs a (very likely terribly unfair) contract with a record company. That's an agreement between two parties who (should, if they are responsible) know exactly what they're getting into, and do it willingly.
Without signing one of the Unfair And Collusive Standard Industry Contracts, there is NO way you can get your music or your recordings on Clear Channel radio, NO way you can get your CDs into Wal*Mart and Best Buy, and NO way you can market CDs to anybody who is younger than 18 years of age because only 18 and up can hold the credit or debit cards necessary to make an online CD purchase.
Alter or remove the laws regarding copyright until it's legal to "share" other people's work without their consent.
That's called "compulsory licensing," and many Slashdot readers have suggested forms of it in comments. Under a compulsory license scheme, a copyright owner would not be able to stop a particular use of a work (e.g. AOL Time Warner refusing to show Speedy Gonzales and also refusing to license it to other networks; see this K5 story and this comment in particular) but would be able to 1. collect a royalty (copyright law), and 2. declare unauthorized works "not canon" (trademark law).
Sounds fair to me. Can you see any reason why compulsory licensing would "promote the Progress of Science" (U.S. Const. I.8.8) any less than the current scheme?
Free Speech doesn't give you the right to steal someone's work.
I understand what you're trying to say for code and for text, but music is different, as there is only a finite number of melodies. There are only 12 distinct notes in an octave, and about three meaningful durations in music (eighth note, quarter note, and longer than quarter note). Thus, the musical alphabet consists of 36 letters. In the United States, having four notes match four notes in a previously copyrighted song will get you sued; the precedent is the "Yes! We have no bananas!" case. For reasons explained in music theory (namely transposition and fermata), you can ignore the first note and the last duration, giving you effectively only three symbols in a melody. (If you're unclear on the math, reply, and I'll try to explain further.)
If you take 36 to the third power, you get fewer than 50,000 possible "hook" melodies, and given the number of musical works already registered at the Library of Congress, a songwriter is bound to write a song whose hook is "substantially similar" to one of them sometime or other. Arguing the coincidence defense (which is a valid defense under US copyright law, called "independent creation") costs more in legal expenses than most songwriters make in a year. So when almost all possible melodies are copyrighted, how will anybody be able to write music?
There are too many developers out there who will read [some sarcasm about creating a programming language in XML] and say "That is such a cool idea - I'm going to do it right now!"...
Except they've already done that. Witness XSLT.
<sarcasm> Heck, Scheme code is made of S-expressions, and XML markup is isosemantic to S-expressions, so why not make XScheme? </sarcasm>
A good language is one which allows the programmer to express him/herself in the most suitable way for the problem being solved. If a developer has to find "ways around" a particular feature of the language, then that language is flawed.
But then you say...
If I was asked "what is the most harmful programming construct", I would choose type casts every time - yes, even over gotos and pointers.
Without typecasting, you can't have quick'n'dirty serialization. Without quick'n'dirty serialization, how can you write a device driver? Without a language that can express both application logic and device drivers, how can you write an application for an embedded system?
I guess you haven't written any real-time demos or games.
The biggest difference between the two languages is that Java manages some things for you (garbage collection, etc).
Thus forcing you to wait 18 months for hardware to catch up if you're writing a soft-real-time application such as a video game or a media player. And on some fixed platforms such as game consoles, you have to wait five years for the next platform.
Even worse, with the current legal climate in the United States of America, if you don't get your program out NOW, you may never be able to release it because the government might ban it as a terrorist tool, or Microsoft might refuse to sign it for use on Palladium PCs because it competes with a package Microsoft sells.
C++ (which I also program) isn't exactly portable.
C++ is portable. However, C++ does not specify a GUI layer.
You can use a GUI toolkit such as Qt, GTK+, or the one Netscape Communications developed for the Mozilla project. Any one of those will work on BSD, Linux, UNIX®, Mac OS X, and Windows systems, covering (100-epsilon) percent of workstations in home and business environments.
That is, unless you're talking about running on multiple embedded systems, with completely different video architectures, some of which run slower than 20 MHz and have less than 512 KB of RAM.
The old saying tht `Americans think 100 years is a long time while Europeans think 100 miles is a long way' is clearly true.
I can walk 100 miles within four days. Ten bucks says I'm not going to live 100 years, and most of you won't either. This is why life + 70 year sentences are too long.
Get your actual cds or records out (you own them, right?)
Yes, I have a couple dozen CDs, and CDex and LAME work well for me, but I don't own any anime DVDs that most other people don't already own, and even then, I don't have the money for a plane ticket to fly to Canada (or another non-DMCA non-EUCD country) to pick up a copy of DeCSS.
Why does the notation for a method call with no arguments (foo.bar()) remind me of Forth's postfix notation?
If the Java team introduces a way to call a method on two objects at the same time ({foo,bar}.baz() instead of "should it be foo.baz(bar) or bar.baz(foo)?"), watch out.
The PS2 has the ultimate controller. If they change it for the PS3 I will be very disappointed in them. The XBox has a crap controller, just as bloated, badly laid out, and hard to use intuitively as the Gamecube controller.
The primary difference between a PlayStation analog controller and a GameCube controller is the GameCube lacks L1, L3, R3, and Select buttons, and the left pad and stick are swapped. Big whoop. There is even a $10 adapter to let you plug PS2 pads into a GameCube.
I agree that the original XBox controller was unwieldy, but Microsoft fixed that with the Controller-S; now it feels more like a normal controller.
And yes, it may get confused sometimes on cover songs, but that's the whole point: under copyright law, a songwriter is entitled to a royalty for every sale of a CD containing his or her copyrighted work.
James Bond never did that good a job of hiding his identity either...
Yes he did. "007" was a code number, and "James Bond" was a code name designed not to sound like the name an agent would have but rather like the name a simple gardener would have. Do you really think a single secret agent could change his appearance that much between misssions (connery, moore, brosnan, etc)?
Likewise, who knows what this "Open Magic Gate" system truly holds?
DivX was a 'disposable rental' disc (kinda like a MPEG-4 based DVD)
Now you're confusing Circuit City DIVX with DivX;-). Circuit City DIVX used MPEG-2 technology because there was no MPEG-4 yet.
that was designed to let you play in 'n' times before becoming unplayable
No, the rental lasted 48 hours from when you first inserted it into a player. So it was like "UNLIMITED PLAYS!!1!1 <small>for 48 hours</small>" (remind you of AOL marketing?)
I don't know of a p2p network that doesn't have a win32 client of some kind.
Somebody wrote comments in reply to this article, pleading for more testers of GNUnet and giFT, neither of which is "ready" enough to release Windows binaries, or even a source tarball that will compile properly under MinGW.
In a true p2p system, and user can kick any other user from their own server.
I was specifically referring to the policies of many Direct Connect hubs.
In other words, if someone has a bunch of files you want, download them one at a time.
I already do that, using software such as WinMX that supports a local queue.
[they'll] download when you're available [or if not] resume the file from other hosts.
And if I'm not available often (I only get 150 hours per month on my dial-up plan), then I feel like I'm cheating people who try to download rare stuff from me when I cut them off.
And what about recordings of my own performance? I'm a musician, but I suck at vocals so I just record instrumental music. How do I make those available on a P2P network? I can't use the "legit" solutions (Vivendi's MP3.com or Bertelsmann's New Napster) because they ask me to verify that nobody has already "taken" the melodies that I use in my compositions, and I don't know how to do that. Any pointers?
No. Using gnucleus on a modem is not a problem.
Is using gnucleus and WinMX on the same modem a problem?
The acid craze was not due solely to the fact that it had a sweepable filter, but the fact that they designed it wrong and it overdrives the filter when you've got the resonance up a fair bit.
Can I simulate that to a decent level with an arctangent distortion function applied to the output of the filter? Or is it more complicated than that?
Too bad Sony never made the MD a data storage standard
Sony did make MD File, an MD-based storage standard, but because the drives were much slower (1x MD == 0.2x CD) than other magneto-optical storage technologies in the same capacity and price range, it died out.
Then you could store MP3s on one and we might have seen MD MP3 players.
"Net MD" players support MPEG audio.
Sony so obscured the MD as a storage medium that I don't even know how much data one holds
ATRAC compression is 5:1.
They need the labels on the chips so they know where to put them on the board during assembly
Then why not just label each part with simply a codename such as "Tom", "Jerry", etc? The chips would then have labels, but would-be crackers wouldn't be able to decipher what they meant.
I consider SNES9X less inconvenient than having to fight with my 10 year old SNES every time I want to play Super Mario World, but if I could get the exact same game without the hassle of either an emulator
How is an emulator any more of a hassle than a native PC game? It's easy. Just install snes9x or visualboyadvance, let it associate itself to .smc (super nes) or .gba (gba), and set up the joypad bindings. Then put in the disk containing the copy of Super Mario World that you ripped from your cartridge (Super Mario World, Super Mario All-Stars+SMW, or Super Mario Advance 2) and play on.
In fact, it's usually easier than native PC games because you only have to configure the bindings of four emulators (NESten, SNES9x, DGen, and VBA) rather than every single game in your collection.
However, on the other hand, owners of copies of some titles aren't so lucky:
Only the total purists would care enough about the slight differences
You call the complete corruption of graphics and resulting unplayability of NES "Klax" on anything but LoopyNES a "slight" difference from the hardware? Last time I checked, the Klax hardware (Tengen Rambo mapper) is not very well emulated.
And melody is about the time between one note from another... I can play Stravinsky on the piano, if I can press the key anytime I want to.
I guess you're criticizing the lack of an exact definition of "short, medium, and long" note durations. Well, I defined short as an eighth note, medium as a quarter note, and long as a dotted quarter or longer. (In some songs, it's sixteenth, eighth, and dotted eighth.) I didn't try to model melodies in the detail that musical notation records them; I was trying to reduce them to what a federal judge will look at under the copyright case law standard of "substantial similarity".
So it's a clone of a clone of a box that was originally built to simulate a bass guitar?
The TB303 simulated a bass guitar by sweeping a resonant filter over a sawtooth wave.
Since then, better guitar synthesis methods have come to light, specifically the Karplus-Strong plucked string modeling algorithm. To implement KS, feed a click into a delay line for each string that's plucked. Set the length of the delay line proportional to the length of the string, determined by finger position. Then filter the output of the delay line (make sure to use a FIR filter so that you won't get too much harmonic distortion from phase shift nonlinearity), send it to the amp, and feed it back into the delay line.
If you have Cool Edit or a similar audio editor, you can do this with the "Echo" delay effect. Generate a short burst of noise. Then pull up Echo and set the echo period to 1000 divided by the frequency in Hz of the note, the echo feedback to between 95% and 99.5%, and the filters to all maximum except the highest frequency one. Tweak the Echo parameters until you have a sample you like, then paste it into your tracker.
Why wasn't KS used in the 303? Analog synthesizer parts were much cheaper at the time than the 16 KB or so of memory KS takes.
So why is 303 style synthesis still used? Easy. Changing the filter's center frequency while playing a repeating bass pattern gives the stereotypical "acid house" bass effect. That's what Rebirth and clones are for.
The problem is that music is not about notes and chords. It's about the distance between them.
I took distances into account:
There are only 12 distinct notes in an octave, and about three meaningful durations in music (eighth note, quarter note, and longer than quarter note).
Think of the 12 distinct notes in an octave as distinct intervals, or frequency domain distances, from the first note. Think of the durations as time domain distances. This makes only 36 (time, frequency) distance vectors from one note to the next, and fewer than 50,000 sequences of three such distance vectors. There still aren't enough sets of distances for a songwriter to be able to create original melodies.
Unless there's some other hole in my argument...
Copying is only a criminal offence if (a) you do it for profit
Under the No Electronic Theft Act, when you download a pirate copy of a CD, even if you do not redistribute it, you gain a 17 dollar profit.
The artists signs a (very likely terribly unfair) contract with a record company. That's an agreement between two parties who (should, if they are responsible) know exactly what they're getting into, and do it willingly.
Without signing one of the Unfair And Collusive Standard Industry Contracts, there is NO way you can get your music or your recordings on Clear Channel radio, NO way you can get your CDs into Wal*Mart and Best Buy, and NO way you can market CDs to anybody who is younger than 18 years of age because only 18 and up can hold the credit or debit cards necessary to make an online CD purchase.
I smell antitrust.
A legal tranfer of rights is not theft.
But is it extortion?
Alter or remove the laws regarding copyright until it's legal to "share" other people's work without their consent.
That's called "compulsory licensing," and many Slashdot readers have suggested forms of it in comments. Under a compulsory license scheme, a copyright owner would not be able to stop a particular use of a work (e.g. AOL Time Warner refusing to show Speedy Gonzales and also refusing to license it to other networks; see this K5 story and this comment in particular) but would be able to 1. collect a royalty (copyright law), and 2. declare unauthorized works "not canon" (trademark law).
Sounds fair to me. Can you see any reason why compulsory licensing would "promote the Progress of Science" (U.S. Const. I.8.8) any less than the current scheme?
Free Speech doesn't give you the right to steal someone's work.
I understand what you're trying to say for code and for text, but music is different, as there is only a finite number of melodies. There are only 12 distinct notes in an octave, and about three meaningful durations in music (eighth note, quarter note, and longer than quarter note). Thus, the musical alphabet consists of 36 letters. In the United States, having four notes match four notes in a previously copyrighted song will get you sued; the precedent is the "Yes! We have no bananas!" case. For reasons explained in music theory (namely transposition and fermata), you can ignore the first note and the last duration, giving you effectively only three symbols in a melody. (If you're unclear on the math, reply, and I'll try to explain further.)
If you take 36 to the third power, you get fewer than 50,000 possible "hook" melodies, and given the number of musical works already registered at the Library of Congress, a songwriter is bound to write a song whose hook is "substantially similar" to one of them sometime or other. Arguing the coincidence defense (which is a valid defense under US copyright law, called "independent creation") costs more in legal expenses than most songwriters make in a year. So when almost all possible melodies are copyrighted, how will anybody be able to write music?
The solution is to nix the Sonny Bono Copyright Term Extension Act and to set more realistic standards for what constitutes musical plagiarism.
I'm with Linus here: if you write the code, you should decide on its license.
However, if you write the data, should you be allowed to dictate the license of any code that uses the data? The US government seems to think so.
There are too many developers out there who will read [some sarcasm about creating a programming language in XML] and say "That is such a cool idea - I'm going to do it right now!" ...
Except they've already done that. Witness XSLT.
<sarcasm> Heck, Scheme code is made of S-expressions, and XML markup is isosemantic to S-expressions, so why not make XScheme? </sarcasm>
A good language is one which allows the programmer to express him/herself in the most suitable way for the problem being solved. If a developer has to find "ways around" a particular feature of the language, then that language is flawed.
But then you say...
If I was asked "what is the most harmful programming construct", I would choose type casts every time - yes, even over gotos and pointers.
Without typecasting, you can't have quick'n'dirty serialization. Without quick'n'dirty serialization, how can you write a device driver? Without a language that can express both application logic and device drivers, how can you write an application for an embedded system?
I guess you haven't written any real-time demos or games.
The biggest difference between the two languages is that Java manages some things for you (garbage collection, etc).
Thus forcing you to wait 18 months for hardware to catch up if you're writing a soft-real-time application such as a video game or a media player. And on some fixed platforms such as game consoles, you have to wait five years for the next platform.
Even worse, with the current legal climate in the United States of America, if you don't get your program out NOW, you may never be able to release it because the government might ban it as a terrorist tool, or Microsoft might refuse to sign it for use on Palladium PCs because it competes with a package Microsoft sells.
C++ (which I also program) isn't exactly portable.
C++ is portable. However, C++ does not specify a GUI layer.
You can use a GUI toolkit such as Qt, GTK+, or the one Netscape Communications developed for the Mozilla project. Any one of those will work on BSD, Linux, UNIX®, Mac OS X, and Windows systems, covering (100-epsilon) percent of workstations in home and business environments.
That is, unless you're talking about running on multiple embedded systems, with completely different video architectures, some of which run slower than 20 MHz and have less than 512 KB of RAM.
why not wait until 18 months from now when your code runs 200% faster?
Because I want to release my code before the United States Congress goes and (expletive) up federal law so that I can't release my code.
The old saying tht `Americans think 100 years is a long time while Europeans think 100 miles is a long way' is clearly true.
I can walk 100 miles within four days. Ten bucks says I'm not going to live 100 years, and most of you won't either. This is why life + 70 year sentences are too long.
Get your actual cds or records out (you own them, right?)
Yes, I have a couple dozen CDs, and CDex and LAME work well for me, but I don't own any anime DVDs that most other people don't already own, and even then, I don't have the money for a plane ticket to fly to Canada (or another non-DMCA non-EUCD country) to pick up a copy of DeCSS.
(6.0).sin()
Why does the notation for a method call with no arguments (foo.bar()) remind me of Forth's postfix notation?
If the Java team introduces a way to call a method on two objects at the same time ({foo,bar}.baz() instead of "should it be foo.baz(bar) or bar.baz(foo)?"), watch out.
The PS2 has the ultimate controller. If they change it for the PS3 I will be very disappointed in them. The XBox has a crap controller, just as bloated, badly laid out, and hard to use intuitively as the Gamecube controller.
The primary difference between a PlayStation analog controller and a GameCube controller is the GameCube lacks L1, L3, R3, and Select buttons, and the left pad and stick are swapped. Big whoop. There is even a $10 adapter to let you plug PS2 pads into a GameCube.
I agree that the original XBox controller was unwieldy, but Microsoft fixed that with the Controller-S; now it feels more like a normal controller.
I do not think there is any software that could scan an Ogg Vorbis file and determine at all what song it is.
You think wrong. Relatable offers audio fingerprinting technology that creates a hash of an audio clip, which is useful for determining what recording it belongs to. Apparently, Napster was thinking of using it until the service was shut down and converted to a completely opt-in system.
And yes, it may get confused sometimes on cover songs, but that's the whole point: under copyright law, a songwriter is entitled to a royalty for every sale of a CD containing his or her copyrighted work.
James Bond never did that good a job of hiding his identity either...
Yes he did. "007" was a code number, and "James Bond" was a code name designed not to sound like the name an agent would have but rather like the name a simple gardener would have. Do you really think a single secret agent could change his appearance that much between misssions (connery, moore, brosnan, etc)?
Likewise, who knows what this "Open Magic Gate" system truly holds?
DivX was a 'disposable rental' disc (kinda like a MPEG-4 based DVD)
Now you're confusing Circuit City DIVX with DivX ;-). Circuit City DIVX used MPEG-2 technology because there was no MPEG-4 yet.
that was designed to let you play in 'n' times before becoming unplayable
No, the rental lasted 48 hours from when you first inserted it into a player. So it was like "UNLIMITED PLAYS!!1!1 <small>for 48 hours</small>" (remind you of AOL marketing?)
I don't know of a p2p network that doesn't have a win32 client of some kind.
Somebody wrote comments in reply to this article, pleading for more testers of GNUnet and giFT, neither of which is "ready" enough to release Windows binaries, or even a source tarball that will compile properly under MinGW.
In a true p2p system, and user can kick any other user from their own server.
I was specifically referring to the policies of many Direct Connect hubs.
In other words, if someone has a bunch of files you want, download them one at a time.
I already do that, using software such as WinMX that supports a local queue.
[they'll] download when you're available [or if not] resume the file from other hosts.
And if I'm not available often (I only get 150 hours per month on my dial-up plan), then I feel like I'm cheating people who try to download rare stuff from me when I cut them off.
And what about recordings of my own performance? I'm a musician, but I suck at vocals so I just record instrumental music. How do I make those available on a P2P network? I can't use the "legit" solutions (Vivendi's MP3.com or Bertelsmann's New Napster) because they ask me to verify that nobody has already "taken" the melodies that I use in my compositions, and I don't know how to do that. Any pointers?
No. Using gnucleus on a modem is not a problem.
Is using gnucleus and WinMX on the same modem a problem?