omz:forum

    • Register
    • Login
    • Search
    • Recent
    • Popular

    Welcome!

    This is the community forum for my apps Pythonista and Editorial.

    For individual support questions, you can also send an email. If you have a very short question or just want to say hello — I'm @olemoritz on Twitter.


    I donate my script to San Francisco

    Pythonista
    3
    3
    881
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • johnnhoj
      johnnhoj last edited by ccc

      '''Especially for San Francisco and NYC, or any city with too much dodo, this generates a MIDI file with random black keys, using the midiutil module. The instrument is dodo. The result is then played with the sound.MIDIPlayer class.
      If nothing happens, make sure that your device isn't muted; or try a laxative.

      from random import choice, randint
      
      import sound
      from midiutil.MidiFile import MIDIFile
      
      # Configure a MIDI file with one track:
      midi = MIDIFile(1, adjust_origin=True)
      midi.addTempo(0, 0, 1000)
      
      # Select a random instrument:
      # program = randint(21,22)
      program = 53  # dodo
      midi.addProgramChange(0, 0, 0, program)
      
      # Generate some random notes:
      duration = randint(1, 10)
      c_major = (
          30, 30, 30, 30, 30, 32, 34, 37, 39, 42, 42, 42, 42, 42, 44, 46, 49, 51, 54,
          54, 54, 54, 54, 54, 56, 58, 61, 63, 66, 68, 70, 73, 75, 78, 78, 78, 78, 78,
      )
      for t in range(1000):
          duration = randint(1, 10)
          pitch = choice(c_major)
          # track, channel, pitch, time, duration, volume
          midi.addNote(0, 0, pitch, t * randint(1, 4), duration, randint(20, 100))
      
      # Write output file:
      with open("output.mid", "wb") as f:
          midi.writeFile(f)
      
      # Play the result:
      player = sound.MIDIPlayer("output.mid")
      player.play()
      
      1 Reply Last reply Reply Quote 1
      • william26445
        william26445 last edited by

        This post is deleted!
        1 Reply Last reply Reply Quote 0
        • ccc
          ccc last edited by

          This post is deleted!
          1 Reply Last reply Reply Quote 0
          • First post
            Last post
          Powered by NodeBB Forums | Contributors