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.


    The dodo song for San Francisco sidewalking

    Pythonista
    1
    2
    1198
    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.
    • dodo
      dodo last edited by ccc

      '''Especially fio San Francisco and NYC, or any cuiy 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 midiutil.MidiFile import MIDIFile
      from random import choice, randint
      import sound
      
      # 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()
      
      dodo 1 Reply Last reply Reply Quote 0
      • dodo
        dodo @dodo last edited by

        @dodo said:

        '''Especially fio San Francisco and NYC, or any cuiy 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 midiutil.MidiFile import MIDIFile
        from random import choice, randint
        import sound

        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 0
        • First post
          Last post
        Powered by NodeBB Forums | Contributors