Steel Guitar Strings
Strings & instruction for lap steel, Hawaiian & pedal steel guitars
http://SteelGuitarShopper.com
Ray Price Shuffles
Classic country shuffle styles for Band-in-a-Box, by BIAB guru Jim Baron.
http://steelguitarmusic.com

This Forum is CLOSED.
Go to bb.steelguitarforum.com to read and post new messages.


  The Steel Guitar Forum
  Music
  jMusic - Computer Music in Java

Post New Topic  
your profile | join | preferences | help | search

next newest topic | next oldest topic
Author Topic:   jMusic - Computer Music in Java
b0b
Sysop

From: Cloverdale, California, USA

posted 31 October 2002 12:17 AM     profile     
Hi folks,

Some of you might not know that I'm a computer programmer in my day job. I specialize in object oriented programming using languages like C++ and Java.

About two weeks ago I discovered an exciting Java library for making computer music. It's called jMusic, and it's being developed at the Queensland University of Technology in Brisbane, Australia. I spent some time browsing through the documentation and came to the conclusion that this is very good stuff for developing musical programs.

Here's the link: jmusic.ci.qut.edu.au

So far, I have installed it on two computers (Windows 2000 and Mac OSX), and tested it in various programming environments including Borland JBuilder Personal Edition and Sun's Studio 4 CE (both free). I was able to write programs that generated random notes and sounds, and save the results as MIDI or audio files.

I have to say that I'm very impressed with both the design and the power of jMusic. This library is well thought out. There are numerous tutorials online, and Javadoc is included for all of the classes.

If anyone here is interested in algorithmic "music", visit the site and check out the sample audio files that people have made. It's all very strange and fascinating (for geeks like me, anyway).

------------------
               Bobby Lee
-b0b-   quasar@b0b.com
-System Administrator

b0b
Sysop

From: Cloverdale, California, USA

posted 04 November 2002 12:44 PM     profile     
No interest?
Jack Francis
Member

From: Mesa, Arizona, USA

posted 04 November 2002 02:00 PM     profile     
No comprede!
Jack
Bob Watson
Member

From: Champaign, Illinois, U.S.

posted 12 November 2002 12:31 AM     profile     
Bob, Thanks for introducing this site to the forum. I have dabbled in programming while trying to learn more about website design at a community college in my area. I have taken courses in VB, C, and Java. I have a hate/love relationship with programming. I have been a part time student and things change so fast in the IT industry that it gets a bit frustrating. So far, Java has been the hippest language I have attemped to learn. This looks like it has a lot of promise. I checked out some of the demo songs on the site and I could see a lot of potential. I work at a music store and a friend of mine who works there is into fractal music. The University of Illinois, which is in the town that I live in, evidently has some pretty talented people writing computer generated music, according to my friend. I would be interested in hearing some of the projects you come up with using jmusic in the future. I know a lot of programmers who are into music that will dig this website. Thanks again!
b0b
Sysop

From: Cloverdale, California, USA

posted 12 November 2002 07:55 PM     profile     
Here's an algorithm I wrote in jMusic that just keeps shifting intervals at random.

jMusic outputted this MIDI file: http://soundhost.net/b0b/DuoPitch.mid

I rendered it to an MP3 (much bigger file to download): http://soundhost.net/b0b/DuoPitch.mp3

I'll be the first to admit that it's not music, but it's fun to write code that makes sound. Plus, every time I run the program it comes out different.

------------------
               Bobby Lee
-b0b-   quasar@b0b.com
-System Administrator

Bill Llewellyn
Member

From: San Jose, CA

posted 13 November 2002 07:22 AM     profile     
This plays into my theory of the direction of tech music. First, we'll develop computers which can create great music. Then we'll create computers which can appreciate great music. Then we'll hook 'em together and let 'em rip.

Seriously, the jMusic is intriguing, b0b. That sample piece is kind spooky. Can this software be programmed to create verse-verse-chorus-verse arrangements? Has anyone done a study on musical patterns and relationships which appeal to the human ear and set computers to composing based on those rules? I'll answer my own question: of course. BIAB is a subset of that kind of thinking. But watch out, if that method gets perfected, we'll have PowerPC or Pentium "hit machines" out there writing our next Nashville hits for us!

Donny Hinson
Member

From: Balto., Md. U.S.A.

posted 13 November 2002 08:36 AM     profile     
Cool...sounds like something "The Fat Man" did! Could also be used for background in a shoot 'em up game like DOOM.

Other than random-generating music, what other advantages does it have?

Bob Watson
Member

From: Champaign, Illinois, U.S.

posted 13 November 2002 11:53 PM     profile     
Bob, that is an interesting algorithm that you wrote. Etherial, spacy, spooky etc. I used to wonder if it was an inate response for humans to feel tension when they hear an altered chord, such as a #9 or an augmented or diminished chord, and resolution or a sense of well being when they heard a major, major 7, 6/9 etc. type of chord. Could there be a civilization somewhere that would reverse that and feel resolution when hearing an augmented or diminished and tension when hearing a major 7th. After years of pondering this I finally came to the conclusion that the various harmonies bring an inate response. I would like to hear what someone who grew up in a culture that has more than 12 tones had to say about it. Sorry, I got off of the subject there. Anyway, I bet there will be some form of fusion with computer generated music and conventional music in the near future.
b0b
Sysop

From: Cloverdale, California, USA

posted 14 November 2002 11:08 AM     profile     
The basic algorithm is an interval of two close pitches. On the flip of a coin, the interval eaither stretches or shrinks by changing one of the notes a halfstep. There are a a few exception cases. For example, if the interval is a tritone (6 half-steps), it resolves it by moving both notes either inwards or outwards.

In 1990, I did a whole album of algorithmic music called "The Technical Academy Plays b0b". It was written in a language called ForMuLa on an Atari ST.

To answer Bill's quesion, YES, you can write algorithms that follow standard song structure and still contain a lot of random elements.

Some of my old algorithms took a chord progression and generated melodies and harmonies around it, like Band In A Box. I tried to codify the "rules" that make a listenable melody. The results weren't great or anything, but I learned a lot about music composition in the process.

I'm hoping to find time this winter to continue this research using jMusic.

------------------
               Bobby Lee
-b0b-   quasar@b0b.com
-System Administrator

b0b
Sysop

From: Cloverdale, California, USA

posted 17 November 2002 11:53 AM     profile     
Okay, here's another one.

My first algorithmic music "composition" was written in ForMuLa Forth in 1989. It was called "Dothing". The guts of it was a note stream generator called wha:

quan      its
pquan bottom

:ap wha ( n -- )
to bottom
/1 bottom $ /4
its 3 + 3
do 20 irnd 10 - $volume + 0 max to $volume
i 3 / 36 irnd over / * bottom + $
loop
/1 bottom $
;ap
This was run several times with different lengths (its) and different instruments. Yesterday I rewrote the algorithm in jMusic Java, and came up with this:
void wha(int its, Phrase phrase, int volume, int bottom)
{
phrase.add(new Note(bottom, WHOLE_NOTE, volume));

for (int i = 3; i < (its + 3); ++i)
{
volume = volume + (get(21) - 10);

int third = i / 3;
int pitch = bottom + ((get(37) / third) * third);
phrase.add(new Note(pitch, QUARTER_NOTE, volume));
}

phrase.add(new Note(bottom, WHOLE_NOTE, volume));
}
(get(n) is the random number generator.) I only have one recording of the original Dothing, and of course every run of the algorithm sounds different. Still, the jMusic version sounds true to the original.

The MIDI file and the MP3 are two different runs of the program. The MP3 is about 2 MB big, so you might not want to bother if you don't like the sound of the MIDI file.

MIDI: http://soundhost.net/b0b/dothing.mid
MP3: http://soundhost.net/b0b/dothing.mp3

As I've said before, this isn't "music", but it's sort of fun to play with.

------------------
               Bobby Lee
-b0b-   quasar@b0b.com
-System Administrator

[This message was edited by b0b on 17 November 2002 at 12:01 PM.]

Robert Todd
Member

From: Atlanta, Georgia USA

posted 21 November 2002 10:09 AM     profile     
bOb as a fellow Java, C++ programmer by day, thanks for the link. IBM's Websphere Studio Application Designer available for free as well, a great IDE, far better then their proprietary Visualage for Java
Mark Ardito
Member

From: Chicago, IL, USA

posted 21 November 2002 11:20 AM     profile     
b0b,

I am currently getting my Master's degree and the school I go to makes all students take 4 semesters of Java programming. I am really getting into Java. I have been a network guy for a while and the programming side is fresh and exciting for me. I enjoy the OOP stuff the best. It is easier for me to understand. Great link! Keep 'em coming!

Mark

------------------
Sho~Bud Pro I, Fender D-8 (C6&E13) http://www.darkmagneto.com

b0b
Sysop

From: Cloverdale, California, USA

posted 21 November 2002 06:49 PM     profile     
I use JBuilder at work, so I installed the free personal version of it on my home computers (Mac and Windows both). JBuilder is a real good environment for writing jMusic.

------------------
               Bobby Lee
-b0b-   quasar@b0b.com
-System Administrator

chas smith
Member

From: Encino, CA, USA

posted 21 November 2002 11:29 PM     profile     
b0b, are you into MAX/MSP?
b0b
Sysop

From: Cloverdale, California, USA

posted 22 November 2002 07:51 AM     profile     
No, what's that?
chas smith
Member

From: Encino, CA, USA

posted 22 November 2002 10:07 AM     profile     
http://www.cycling74.com/products/maxmsp.html#is

This is popular with the "lap-top" guys. Carl Stone, who is a friend, uses it, as do a couple other friends down here, so I got it and it's not a 'quick learn'. I'm currently overwhelmed with other projects so it's going to be a while before I get into it. There is an extensive base of users and available programs, much of it from UC Berkeley, on the web.

Bobby Lee
Sysop

From: Cloverdale, North California, USA

posted 23 November 2002 05:53 PM     profile     
At $495, I don't think I'll be trying it any time soon. JMusic is free.

------------------
Bobby Lee - email: quasar@b0b.com - gigs - CDs
Sierra Session 12 (E9), Williams 400X (Emaj9, D6), Sierra Olympic 12 (F Diatonic), Sierra Laptop 8 (D13), Fender Stringmaster (E13, A6), Roland Handsonic

Peter
Member

From: Cape Town, South Africa

posted 23 November 2002 10:26 PM     profile     
There are a couple of programs that can emulate the PSG copedent on the screen, like a spreadsheet, and when you make changes to the pedals, it will show the different note names. Good for testing your setup, or good for finding notes and chords in different places.

Can jMusic be used to create or combine such a program? It would be neat to use it for trying new setups and you can HEAR what exactly is happening. The computer keyboard could be used to emulate the pedals and levers up/down movements and the mouse for the bar postion. It is not the intention to play PSG on the keyboard, but it could be useful for "what if" situations.

Just a thought. If I had time, I would love to create it.

------------------
Peter den Hartogh-Fender Artist S10-Remington U12-Hilton Volume Pedal-Gibson BR4 lapsteel-Guya "Stringmaster" Copy-MusicMan112RP-Peavy Rage158- - My Animation College in South Africa


All times are Pacific (US)

next newest topic | next oldest topic

Administrative Options: Close Topic | Archive/Move | Delete Topic
Post New Topic  
Hop to:

Contact Us | The Pedal Steel Pages

Note: Messages not explicitly copyrighted are in the Public Domain.

Powered by Infopop www.infopop.com © 2000
Ultimate Bulletin Board 5.46