Skip to content
View in the app

A better way to browse. Learn more.

Young Composers Music Forum

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

b0b

Old Members
  • Joined

  • Last visited

  1. Fun to listen to. I'd love to watch it on a piano roll. Very nice work!!
  2. For all practical purposes, I consider music to be an infinite study. Even if you limit yourself to 12 notes per octave, the variety of possible arrangements is staggering. If you dump things into big boxes ("pure noise", for example), you might be frustrated because the number of big boxes is limited. But within those boxes, there is plenty of room for innovation. Sometimes you need to make the box bigger. The Grateful Dead were a "rock band".
  3. b0b replied to b0b's topic in Electronic
    The note called "bottom" could be considered a tonal center, I suppose.
  4. I can definitely imagine a real steel guitar doing those glisses! Nice game music.
  5. b0b replied to b0b's topic in Electronic
    I see that some explanation is in order. Here are a few things you need to know to understand the algorithm. JMusic is a MIDI composition tool. Pitches and volumes are represented by integers between 0 and 127. The get(i) method returns a random integer between 0 (inclusive) and i (exclusive). The Phrase object takes a start time in its constructor. So, for example Phrase do5 = new Phrase(EIGHTH_NOTE); creates a new Phrase that starts an eighth note into its part. The getScore() method is what creates the music. Six Phrases are constructed, and they are each built out with random notes by calling thing(its) repeatedly. Then the 6 Phrases are assigned to Parts (instruments with MIDI channels), which are added to the Score. A host program writes the score to a MIDI file. This is a very random, very simple piece of music. I wrote it to get up to speed on the idea of algorithmic composition - it was my first piece. Each run of the algorithm creates a different sequence of notes, but they all sound pretty much the same.
  6. b0b posted a topic in Electronic
    This is an atonal algorithmic piece that I originally wrote in ForMuLa on the Atari 1040 ST: Dothing (mp3) The Atari was lost and the environment could not be recreated, so I decided to rewrite the algorithm in Java using jMusic. Also, Java is easier to read than Forth, the language of ForMuLa. Here's the algorithm in Java/jMusic, and the MIDI file that it created. package com.b0b.academy; import jm.music.data.*; import jm.JMC; /** * Title: Dothing * Description: This is a port of the Technical Academy file "dothing", * written in Forth, dated 30Dec89 * Copyright (c) 1989, 2002 * @author b0b Lee */ public class Dothing extends Rand implements JMC { public Dothing() { } 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); pitch = Math.min(pitch, 127); phrase.add(new Note(pitch, QUARTER_NOTE, volume)); } phrase.add(new Note(bottom, WHOLE_NOTE, volume)); } Phrase do1 = new Phrase(0); Phrase do2 = new Phrase(0); Phrase do3 = new Phrase(SIXTEENTH_NOTE); Phrase do4 = new Phrase(SIXTEENTH_NOTE * 3.0); Phrase do5 = new Phrase(EIGHTH_NOTE); Phrase do6 = new Phrase(THIRTYSECOND_NOTE * 5.0); void thing(int its) { wha(its, do1, 35, 40); wha(its, do2, 80, 33); wha(its, do3, 60, 43); wha(its, do4, 30, 45); wha(its, do5, 70, 34); wha(its, do6, 60, 69); do6.add(new Note(0, THIRTYSECOND_NOTE, 0)); } public Score getScore() { Score score = new Score(); score.setTempo(144.0); thing(36); thing(72); thing(24); thing(96); thing(1); score.add(new Part(do1, "vibes", VIBRAPHONE, 0)); score.add(new Part(do2, "bass", SLAP_BASS, 1)); score.add(new Part(do3, "guitar1", SGUITAR, 2)); score.add(new Part(do4, "guitar2", SGUITAR, 3)); // don't set instrument on drum channels // synths know that channel 10 is for drums // note that setChannel is zero-based Part drum1 = new Part(do5, "drum1"); drum1.setChannel(9); score.add(drum1); Part drum2 = new Part(do6, "drum2"); drum2.setChannel(9); score.add(drum2); return score; } }[/CODE] I hope people enjoy this sort of thing. I know it's a bit "out there", but I've always liked to try new things. dothing.mid
  7. b0b posted a topic in Electronic
    This is an algorithmic composition, written in ForMuLa on an Atari 1040 ST computer. Around Five (mp3)
  8. This is a song I wrote about a soldier at a border crossing in Iraq. His father served in Vietnam. John Reese is the vocalist. Nancy Freitas played guitar. I played pedal steel and produced the recording. On Sacred Ground (mp3)
  9. Captain's Home was written by my sister, Lou Wray. I'm playing the steel guitar on this unusual recording of it. Captain's Home Featuring Sammy Dalton and the Blue Island Orchestra (mp3)
  10. Almost baroque. I like it in that context. I'm curious about the instrument. I've never heard a guitar that sounded quite like that. Maybe a nylon string with metal fingerpicks?

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.