What you say is all true (if perhaps a little optimistic), but has nothing to do with clustering. What you describe would allow you to daisy-chain individual Linux boxes which would serve as dedicated effects boxes. I imagine you could do this sort of thing right now with SPDIF. For those who don't know, SPDIF is the format used for moving around digital audio - for example between a CD transport and an outboard D/A converter in your home stereo system, or between components in a digital studio - such as a digital mixing board and a digital effects unit.
The problem is, this daisy-chaining approach really isn't at all the same as clustering. While you might be able to render a 5 minute song in real time (5 minutes), it will still take 5 minutes, no matter how many computers you add to your "farm". But if you were able to do the processing on a cluster, you might be able to render the song in 30 seconds using eight computers.
MIDI is not an audio format. MIDI is a protocol for communication (generally between musical instruments, although it has been co-opted for other purposes, such as controlling lighting etc.).
Basically, MIDI contains commands such as "play an F#", "play quiet", "play loud", "stop playing any notes", "sound like a piano", "sound like an oboe". Synthesizers take those commands, interpret them, and send out an audio stream.
Software effects, such as those in Cubase, operate on that resulting audio stream, either taking a file for input (I believe it is in.wav format, but I could be wrong), or by operating on live audio coming in through A/D converters.
In any case, since he wants to use Cubase (and presumably other professional tools), rather than rolling his own, the format of the audio is not open to negotiation.
Does anybody know if VMWare benefits from being run on a cluster (Beowolf or other)? Perhaps you could run Windows and your entire music workstation environment over the cluster, rather than shipping off specific jobs? (I don't have the foggiest idea whether this is even remotely possible).
On the other hand, what about using CSound to do your processing on the cluster, since CSound runs just fine under Linux. Again, I don't know if any of the clustering technologies would benefit the performance without being rewritten to take advantage.
However, the loop/cycle detection is not included for purposes of maintaining integrity, i.e. as a constraint.
Also, the CONNECT BY predicate is an Oracle extension, rather than part of the SQL standard, so for many of us, is not a solution.
Don't get me wrong, it is definitely possible to deal with trees in SQL (I do it all the time), it simply requires a lot of overhead that could be nicely handled behind the scenes, thus improving performance, making code easier to read, standardizing behavior, et al.
- Chris
brd27@hotspammail.com
***************
Re:Trees (Score:0)
by Anonymous Coward on Thursday November 09, @12:52PM EST (#55)
Oracle:
Definition of table MYTREETAB
ID, NAME, PARENTID
SELECT NAME FROM MYTREETAB
START WITH ID = [INSERT ID FOR ROOTNODE HERE]
CONNECT BY PRIOR ID = PARENTID
Very useful. Depth first. Loop detection included.:-)
While it's true that creating a tree structure is not difficult using SQL, it is rather difficult to maintain the integrity of the data, and also to manipulate the data or even query it in useful ways.
Some examples:
A tree should have one root level node (a node with no parents). This means that the column that holds the parent keys must allow nulls, but only in one row. A trigger or constraint must be employed to ensure this.
A tree cannot have any cycles. Let's say that you're using a tree to represent an org chart. Bill reports to Jenny. Jenny reports to Frank. You need to add a constraint to ensure that Frank can never report to Bill (because then he would be reporting indirectly to Jenny, his own employee). Again, this can be done, but requires triggers, and some crafty data design.
Just one more, I promise: A common kind of query for a tree is to return all the rows that have the same ultimate parent. For example, you want to know what the total payroll is for everyone that reports to Jenny or her subordinates. Not easy to do unless you go to special lengths in the data design.
An excellent treatment of working with trees and graphs in SQL is presented in Joe Celko's book: SQL For Smarties. This is an EXCELLENT resource.
Trees are a pervasive structure in the real world, the org chart is the most common example, but once you start looking, you'll find them everywhere. It would be a great blessing to see extensions to the SQL standard to handle trees more gracefully.
The Data Modeling Handbook, by Reingruber and Gregory This is a truly indispensable reference, which never leaves my desk.
SQL For Smarties, by Joe Celko Joe Celko's advanced SQL programming book is full of solutions to both common and not-so-common modeling problems. His section on trees was particularly useful to me recently.
If you're ever interested in chatting about specific modeling issues, feel free to email me at brd27spam@hotmail.com - don't forget to remove the spam.
But according to the DMCA, certain kinds of code are not FREE speech. I'm sure we're all familiar with other laws that restrict certain kinds of speech from being free - for example, yelling fire in a crowded theater (what law is that?), or reproducing a copyrighted work (good old standard issue copyright law).
The DMCA says (among other things) that if you distribute code that is intended to circumvent measures that control access to a copyrighted work, your speech is not protected, and you have, in fact, broken the law.
It doesn't matter whether the data was encrypted with CSS, or ROT13'd. It doesn't matter if you reverse engineered it, or guessed it, or stole the information from a locked desk drawer.
This case is lost. Under the DMCA, deCSS is illegal, no two ways about it.
This confrontation had to come sooner or later. Property is theft.
As the pendulum swings further, I would not be surprised to hear that Linux is found to be an unfair restraint of trade, and outlawed. After all, if not only the browser, but the whole OS are given away for FREE(!!), how can other software companies compete?
Linus will wake up one morning to find his house surrounded by the US Army, playing ABBA full blast to force him to give himself up and be prosecuted for violating US Law.
Oh, the humanity.
I'd like a refund on my billboard rental, please!
on
Live or Memorex?
·
· Score: 1
If I had paid for a billboard overlooking Times Square, that would be in place during this past New Year's Eve, I certainly would have expected to be paying in part for it to be picked up in the numerous media broadcasts.
If broadcasters just cover it up with whatever they want, they're selling MY property (the space I rented from the rightful owner) without paying me any royalties (or even asking my permission).
Step out of the airport, get in a cab, and try to get them to take you to your hotel.
Whatever hotel you finally wind up at, sit down and have a long hard think about whether this approach is going to deliver what you need.
Then come back home, and face the fact that THERE AIN'T NO SUCH THING AS A FREE LUNCH.
What you say is all true (if perhaps a little optimistic), but has nothing to do with clustering. What you describe would allow you to daisy-chain individual Linux boxes which would serve as dedicated effects boxes. I imagine you could do this sort of thing right now with SPDIF. For those who don't know, SPDIF is the format used for moving around digital audio - for example between a CD transport and an outboard D/A converter in your home stereo system, or between components in a digital studio - such as a digital mixing board and a digital effects unit. The problem is, this daisy-chaining approach really isn't at all the same as clustering. While you might be able to render a 5 minute song in real time (5 minutes), it will still take 5 minutes, no matter how many computers you add to your "farm". But if you were able to do the processing on a cluster, you might be able to render the song in 30 seconds using eight computers.
MIDI is not an audio format. MIDI is a protocol for communication (generally between musical instruments, although it has been co-opted for other purposes, such as controlling lighting etc.).
.wav format, but I could be wrong), or by operating on live audio coming in through A/D converters.
Basically, MIDI contains commands such as "play an F#", "play quiet", "play loud", "stop playing any notes", "sound like a piano", "sound like an oboe". Synthesizers take those commands, interpret them, and send out an audio stream.
Software effects, such as those in Cubase, operate on that resulting audio stream, either taking a file for input (I believe it is in
In any case, since he wants to use Cubase (and presumably other professional tools), rather than rolling his own, the format of the audio is not open to negotiation.
Does anybody know if VMWare benefits from being run on a cluster (Beowolf or other)? Perhaps you could run Windows and your entire music workstation environment over the cluster, rather than shipping off specific jobs? (I don't have the foggiest idea whether this is even remotely possible).
On the other hand, what about using CSound to do your processing on the cluster, since CSound runs just fine under Linux. Again, I don't know if any of the clustering technologies would benefit the performance without being rewritten to take advantage.
However, the loop/cycle detection is not included for purposes of maintaining integrity, i.e. as a constraint.
:-)
Also, the CONNECT BY predicate is an Oracle extension, rather than part of the SQL standard, so for many of us, is not a solution.
Don't get me wrong, it is definitely possible to deal with trees in SQL (I do it all the time), it simply requires a lot of overhead that could be nicely handled behind the scenes, thus improving performance, making code easier to read, standardizing behavior, et al.
- Chris
brd27@hotspammail.com
***************
Re:Trees (Score:0)
by Anonymous Coward on Thursday November 09, @12:52PM EST (#55)
Oracle:
Definition of table MYTREETAB
ID, NAME, PARENTID
SELECT NAME FROM MYTREETAB
START WITH ID = [INSERT ID FOR ROOTNODE HERE]
CONNECT BY PRIOR ID = PARENTID
Very useful. Depth first. Loop detection included.
While it's true that creating a tree structure is not difficult using SQL, it is rather difficult to maintain the integrity of the data, and also to manipulate the data or even query it in useful ways.
Some examples:
A tree should have one root level node (a node with no parents). This means that the column that holds the parent keys must allow nulls, but only in one row. A trigger or constraint must be employed to ensure this.
A tree cannot have any cycles. Let's say that you're using a tree to represent an org chart. Bill reports to Jenny. Jenny reports to Frank. You need to add a constraint to ensure that Frank can never report to Bill (because then he would be reporting indirectly to Jenny, his own employee). Again, this can be done, but requires triggers, and some crafty data design.
Just one more, I promise: A common kind of query for a tree is to return all the rows that have the same ultimate parent. For example, you want to know what the total payroll is for everyone that reports to Jenny or her subordinates. Not easy to do unless you go to special lengths in the data design.
An excellent treatment of working with trees and graphs in SQL is presented in Joe Celko's book: SQL For Smarties. This is an EXCELLENT resource.
Trees are a pervasive structure in the real world, the org chart is the most common example, but once you start looking, you'll find them everywhere. It would be a great blessing to see extensions to the SQL standard to handle trees more gracefully.
- Chris
brd27@hotspammail.com
The Data Modeling Handbook, by Reingruber and Gregory
This is a truly indispensable reference, which never leaves my desk.
SQL For Smarties, by Joe Celko
Joe Celko's advanced SQL programming book is full of solutions to both common and not-so-common modeling problems. His section on trees was particularly useful to me recently.
If you're ever interested in chatting about specific modeling issues, feel free to email me at brd27spam@hotmail.com - don't forget to remove the spam.
Code is certainly speech.
But according to the DMCA, certain kinds of code are not FREE speech. I'm sure we're all familiar with other laws that restrict certain kinds of speech from being free - for example, yelling fire in a crowded theater (what law is that?), or reproducing a copyrighted work (good old standard issue copyright law).
The DMCA says (among other things) that if you distribute code that is intended to circumvent measures that control access to a copyrighted work, your speech is not protected, and you have, in fact, broken the law.
It doesn't matter whether the data was encrypted with CSS, or ROT13'd. It doesn't matter if you reverse engineered it, or guessed it, or stole the information from a locked desk drawer.
This case is lost. Under the DMCA, deCSS is illegal, no two ways about it.
This confrontation had to come sooner or later.
Property is theft.
As the pendulum swings further, I would not be surprised to hear that Linux is found to be an unfair restraint of trade, and outlawed. After all, if not only the browser, but the whole OS are given away for FREE(!!), how can other software companies compete?
Linus will wake up one morning to find his house surrounded by the US Army, playing ABBA full blast to force him to give himself up and be prosecuted for violating US Law.
Oh, the humanity.
If I had paid for a billboard overlooking Times Square, that would be in place during this past New Year's Eve, I certainly would have expected to be paying in part for it to be picked up in the numerous media broadcasts.
If broadcasters just cover it up with whatever they want, they're selling MY property (the space I rented from the rightful owner) without paying me any royalties (or even asking my permission).
I wonder if any lawsuits will fall out of this...