The Steel Guitar Forum Store 

Post new topic Phase Music
Reply to topic
Author Topic:  Phase Music
b0b


From:
Cloverdale, CA, USA
Post  Posted 16 Aug 2022 10:15 am    
Reply with quote

Sometimes I escape into my headphones to code and arrange strange electronic music. Many people find the results to be unlistenable. Yesterday, as workmen in my house were installing a new air conditioner to help us beat this triple-digit heat, I became totally absorbed in Java code that spit out random "melodies" and mixing them together in Audacity.

At one point, I had my headphones on but the sound was actually coming out of the computer's speakers. I kept turning it up unknowingly until the Mrs shouted, "What's that noise?". Laughing

Anyway, here's the result. I only ask that you give it at least 70 seconds of your time to hear the first of 4 segments in its entirety - if you can stand it for that long!

https://bp.b0b.com/2022/08/co-go-phase/
_________________
-๐•“๐•†๐•“- (admin) - Robert P. Lee - Recordings - Breathe - D6th - Video
View user's profile Send private message Send e-mail Visit poster's website

Jerry Overstreet


From:
Louisville Ky
Post  Posted 16 Aug 2022 12:27 pm    
Reply with quote

Interesting. I did not find it unlistenable for the duration.
View user's profile Send private message

Bill McCloskey

 

From:
Nanuet
Post  Posted 16 Aug 2022 12:42 pm    
Reply with quote

You are writing in Java and it is producing Javanese Gamelan music?
_________________
Eharp Player
View user's profile Send private message Send e-mail Visit poster's website

Jim Fogle


From:
North Carolina, Winston-Salem, USA
Post  Posted 16 Aug 2022 4:47 pm    
Reply with quote

I think the secret is you picked a nice sounding sound to start with. I didn't find the randomness I expected. Would I buy the record? Ah, no. I listened to the full track and found it fairly peaceful as long as I kept the volume level pretty low.
_________________
Remembering Harold Fogle (1945-1999) Pedal Steel Player
Dell laptop Win 10, i3, 8GB, 480GB
2022 BiaB UltraPlus PAK
Cakewalk by Bandlab Computer DAW
Zoom MRS-8 8 Track Hardware DAW
View user's profile Send private message Send e-mail Visit poster's website

b0b


From:
Cloverdale, CA, USA
Post  Posted 16 Aug 2022 8:27 pm    
Reply with quote

One of the problems with JMusic is that it doesn't support microtonal MIDI. That limits the range of available "Instruments" to waveforms described in code. I wrote one called OddHarmonicInst, but the other 3 are straight from JMusic libraries.

The range of MIDI instruments available is virtually limitless, but without microtonal support I can't do the Bohlen-Pierce scale as MIDI. I should write a test program that outputs the scale using each JMusic Instrument class so that I can compare them. Actually, I should have done that first, but I had this phasing idea that wouldn't wait... Mr. Green
Code:
  static BPScale scale;
 
  // the notes of two otonal chords CGA and GBE are the only ones used
  private static String notenames[] = {
    "C1", "E1", "G1", "A2", "B2",
    "C2", "E2", "G2", "A3", "B3",   // C2 could be the bottom note for melodies
    "C3", "E3", "G3", "A4", "B4",   // A4 could be the top note for melodies
    "C4", "E4", "G4", "A5", "B5"   
  };
 
  /*********************************************************************************
   * creates 4 similar melody files in "/Users/quasar/Music/Bohlen-Pierce/CoGo Phase
   */
  static void writeCoGoPhase()
  {
    Instrument instruments[] = {
        new SineInst(44100),
        new SquareLPFInst(44100),
        new OddHarmonicInst(44100),
        new VibesInst(44100)
    };
    String instnames[] = { "Sine", "Square", "Odd", "Vibes"};
   
    createMelodies();
    // phase melody project
    for (int i=0; i<4; i++) {
      Score score = new Score();
      score.setTempo(93.428571);
      Part part = createMelodyPart(instnames[i]);
      score.add(part);
      Write.au(score,"/Users/quasar/Music/Bohlen-Pierce/CoGo Phase/" + instnames[i] + ".au", instruments[i]);
    }
  }
 
  // 9-note melodies as note names
  static String[][] melodies = new String[5][10];
  static void createMelodies()
  {
    for (int i=0; i<5; ++i)
      for (int j=0; j<9; ++j)
      {
        melodies[i][j] = notenames[randint(9) + 5];  // C2 to A4
      }
  }
 
  static Part createMelodyPart(String name)
  {
    Part part = new Part(name);
               
    //create the phrase note by note
    for(int i=0; i<4; i++)  // the 4 melodies
    {
      Phrase phrase = new Phrase(109.0 * (double)i); // each 9 note melody will repeat 12 times
      phrase.add(new Rest(0.5));
     
      for (int n=0; n<12; n++)
      {
        for (int j=0; j<9; ++j)
        {
          int dynamic = randint(32) + 64;
          double time = 1.0;  // quarter note
          // randomize timing a wee bit
          time += (Math.random() < 0.5 ? -0.00625 : 0.00625);
          time += (Math.random() < 0.5 ? -0.00625 : 0.00625);
          Note note = new Note(
              scale.getFreq(melodies[i][j]),
              time, 
              dynamic);     
          phrase.add(note);
        }
      }
      phrase.add(new Rest(0.5));
      // System.out.println(phrase.toString());
      part.addPhrase(phrase);
    }
    return part;
  }

The actual phasing was done with tempo changes of half of the melodies in Audacity.
_________________
-๐•“๐•†๐•“- (admin) - Robert P. Lee - Recordings - Breathe - D6th - Video
View user's profile Send private message Send e-mail Visit poster's website

Ian Rae


From:
Redditch, England
Post  Posted 17 Aug 2022 3:11 am    
Reply with quote

There are only two things I don't like about it. One is the tonal stasis, like poetry with only one vowel.

The other is the whole idea of computers playing music, because they're too precise. Just as when we listen to microtonal music our ears try to "correct" to the nearest note we're familiar with, the extreme rhythmic precision in this work does not present itself as "phasing" (although it's obvious what's happening) but rather as one of those bad drummer experiences. My brain wants to quantize the beats.

Having said all that, the world needs b0bs to explore musical outer space in case we need to move there one day.
_________________
Make sleeping dogs tell the truth!
Homebuilt keyless U12 7x5, Excel keyless U12 8x8, Williams keyless U12 7x8, Telonics rack and 15" cabs
View user's profile Send private message Send e-mail Visit poster's website

Donny Hinson

 

From:
Glen Burnie, Md. U.S.A.
Post  Posted 17 Aug 2022 5:02 am    
Reply with quote

Spooky!

Sounds like the battery in the ice-cream truck is dying.

Laughing
View user's profile Send private message Send e-mail

Jim Fogle


From:
North Carolina, Winston-Salem, USA
Post  Posted 17 Aug 2022 9:21 am    
Reply with quote

bOb,

You might enjoy this article about building a media player: https://www.section.io/engineering-education/how-to-build-a-music-player-with-vanilla-javascript/

I also found this article about Tone.js: https://tonejs.github.io/
_________________
Remembering Harold Fogle (1945-1999) Pedal Steel Player
Dell laptop Win 10, i3, 8GB, 480GB
2022 BiaB UltraPlus PAK
Cakewalk by Bandlab Computer DAW
Zoom MRS-8 8 Track Hardware DAW
View user's profile Send private message Send e-mail Visit poster's website

b0b


From:
Cloverdale, CA, USA
Post  Posted 17 Aug 2022 10:30 am    
Reply with quote

Thanks for the comments, everyone. Very Happy

Ian, here's a Bohlen-Pierce piece I played with real instruments. https://bp.b0b.com/2022/07/3-bohlen-pierce-instruments/ In general I agree with you that human music is superior. I've been coding algorithmic music since my first computer - an Atari 400 - to do things that none of the musicians I knew could play. I released an album of it in 1991. It sold dozens of copies. Laughing I've toyed with the idea of playing those songs live, but I actually don't think I could do it.

Jim, thanks for the links. Javascript is a very different language from Java. I haven't learned it, but I should.
_________________
-๐•“๐•†๐•“- (admin) - Robert P. Lee - Recordings - Breathe - D6th - Video
View user's profile Send private message Send e-mail Visit poster's website

Dave Magram

 

From:
San Jose, California, USA
Post  Posted 17 Aug 2022 2:59 pm    
Reply with quote

b0b,

Interesting results.

You wrote in the description: "This electronic piece uses the otonal chords CGA and GBE..."

I'm curious--what is the meaning of "otonal" in this context?
The only result I got with a Google search was "autumnal".

-Dave
View user's profile Send private message Send e-mail

b0b


From:
Cloverdale, CA, USA
Post  Posted 17 Aug 2022 5:29 pm    
Reply with quote

Bohlen-Pierce literature references those kinds of chords as "otonal" and another kind as "utonal". I think it's roughly equivalent to "major" and "minor" in a 12-tone system. With the morphing drone chords and a five-note scale containing only notes from the two chords, I was trying to understand the sound of the "otonal space".
_________________
-๐•“๐•†๐•“- (admin) - Robert P. Lee - Recordings - Breathe - D6th - Video
View user's profile Send private message Send e-mail Visit poster's website

Jim Fogle


From:
North Carolina, Winston-Salem, USA
Post  Posted 17 Aug 2022 5:38 pm    
Reply with quote

bOb, I did not know java and javascript were that different. Thank you for telling me. I use to code in the seventies and eighties but moved away from it. I still find it interesting what people code for fun.

In some ways I think computing was more fun back in the days the Commodore 64, Atari 400, Sinclair ZX81 and the Tandy Model 1 ruled the personal computing world.
_________________
Remembering Harold Fogle (1945-1999) Pedal Steel Player
Dell laptop Win 10, i3, 8GB, 480GB
2022 BiaB UltraPlus PAK
Cakewalk by Bandlab Computer DAW
Zoom MRS-8 8 Track Hardware DAW
View user's profile Send private message Send e-mail Visit poster's website

Mike Bacciarini


From:
Arizona
Post  Posted 22 Aug 2022 1:21 pm    
Reply with quote

Intriguing, and I donโ€™t know why.

Donny, the battery in the ice cream truckโ€ฆ.. hilarious!

All of this low level computer stuff reminds me of:
โ€œThere are 10 kinds of people who understand binary.
Those who do, and those who donโ€™t.
_________________
MCI Arlington S-10 3+5, George L E-66, BJS & Emmons bars, Fender Princeton 65W, Fender Rumble 200, custom FX rack, 1983 Dobro 60D, SX-8 lap steel, Martin D16GT, Ibanez AS73, 1978 Rickenbacker 4000 custom.
View user's profile Send private message Send e-mail

Charlie McDonald


From:
out of the blue
Post  Posted 22 Aug 2022 11:19 pm    
Reply with quote

Sometimes I worry about b0b; I guess he's just going through a phase.
_________________
Those that say don't know; those that know don't say.--Buddy Emmons
View user's profile Send private message Send e-mail

Mike Neer


From:
NJ
Post  Posted 23 Aug 2022 3:00 am    
Reply with quote

b0b, I always keep my ears open for interesting new (to me) stuff. I think you might really enjoy the work of composer Tom Johnson, whose music is based on advanced mathematics (group theory, etc) and is very creative and interesting. He has written a few books (I own Self-Similar Melodies) and he also talks a lot about his works on his youtube channel. Check him out, I donโ€™t think youโ€™ll be disappointed.
Here is one of his Rational Melodies, a self-replicating melody. He is a treasureโ€”he explains it all.

https://youtu.be/Bqn7cLC6bak
_________________
http://www.steelinstruction.com/
http://mikeneer.com
View user's profile Send private message Send e-mail Visit poster's website

b0b


From:
Cloverdale, CA, USA
Post  Posted 23 Aug 2022 8:48 am    
Reply with quote

Thanks for that link, Mike. I'd never heard of Tom Johnson before. His compositions seem to be every bit as "unlistenable" as mine! Winking Laughing

My biggest influences in this realm are the minimalists Terry Riley ("In C") and Steve Reich ("Music for 18 Musicians"). I've heard that Mozart sometimes composed by throwing dice. That inspired the randint( ) function that I use in most of my algorithmic music.
_________________
-๐•“๐•†๐•“- (admin) - Robert P. Lee - Recordings - Breathe - D6th - Video
View user's profile Send private message Send e-mail Visit poster's website

Dave LaDelfa

 

From:
California, USA
Post  Posted 29 Aug 2022 7:51 pm    
Reply with quote

b0b wrote:
I'd never heard of Tom Johnson before. His compositions seem to be every bit as "unlistenable" as mine! Winking


I will agree that a lot of Tom Johnson's music is more enjoyable as intellectual concept than as listening material. However, he has at least one certifiable masterpiece in his oeuvre: "An Hour For Piano" (1971). A tiny clocklike pattern repeats a few times and then fractures in a tiny, almost imperceptible manner. Then another thing happens to it. And it just kind of evolves. Always quiet. Takes ... an hour. Highly recommended.
View user's profile Send private message Send e-mail


All times are GMT - 8 Hours
Jump to:  
Please review our Forum Rules and Policies
Our Online Catalog
Strings, CDs, instruction, and accessories
www.SteelGuitarShopper.com
BIAB Styles
Ray Price Shuffles for Band-in-a-Box
by Jim Baron
The Steel Guitar Forum
148 S. Cloverdale Blvd.
Cloverdale, CA 95425 USA

Click Here to Send a Donation

Email SteelGuitarForum@gmail.com for technical support.