Beispiel #1
0
 def _create_track(self):
     tp = Track(self.i)
     b = Bar( (4,4) )
     for (i, note) in enumerate( self.bassline ):
         if note in ['r','R']:
             tp.add_notes(None,4)
             continue
         tp + (note+'-'+ str(self.octave[i]))
     return tp
    def play_prog( self ):
        ''' Saves chords to track and plays using fluidsynth.
        '''
	ch = progressions.to_chords(self.get_progression(self.progression), self.get_key())
	nc = map(NoteContainer, ch)

	t = Track()
	for chord in nc:
	    t.add_notes(chord)
	fluidsynth.play_Track(t)
    def save_midi( self ):
        '''Opens save dialog, converts progression list to chords in track, saves track midi.
        '''
	file_name = tkFileDialog.asksaveasfilename()
	ch = progressions.to_chords(self.get_progression(self.progression), self.get_key())
	nc = map(NoteContainer, ch)

	t = Track()
	for chord in nc:
	    t.add_notes(chord)
	MidiFileOut.write_Track( file_name,t)
Beispiel #4
0
class song(object):
    def __init__(self,
                 genome,
                 evolution,
                 generation,
                 individual_id,
                 parent_1 = '',
                 parent_2 = '',
                 grade = 0.0,
                 status = 'created'):

        
        self.evolution = evolution
        self.generation = generation
        self.parent_1 = parent_1
        self.parent_2 = parent_2
        self.grade = grade
        self.status = status
        self.individual_id = individual_id

        self.set_genome(genome)

        self.mingus_track = Track()
        
        for n in self.note_list:
            self.mingus_track.add_notes(n.mingus_note, n.mingus_duration)

        self.name = self.evolution + '-' + str(self.generation) + '-' + str(self.individual_id)
        return

    @property
    def selected(self):
        return self.status == 'selected'

    def set_genome(self, genome):
        if type(genome) is list:
            self.note_list = genome
            self.genome = rttl.dump(genome)

        elif type(genome) is unicode:
            self.genome = genome
            self.note_list = rttl.parse(genome)

        self.int_list = rttl.to_int(self.note_list)
Beispiel #5
0
class song(object):
    def __init__(
        self, genome, evolution, generation, individual_id, parent_1="", parent_2="", grade=0.0, status="created"
    ):

        self.evolution = evolution
        self.generation = generation
        self.parent_1 = parent_1
        self.parent_2 = parent_2
        self.grade = grade
        self.status = status
        self.individual_id = individual_id

        self.set_genome(genome)

        self.mingus_track = Track()

        for n in self.note_list:
            self.mingus_track.add_notes(n.mingus_note, n.mingus_duration)

        self.name = self.evolution + "-" + str(self.generation) + "-" + str(self.individual_id)
        return

    @property
    def selected(self):
        return self.status == "selected"

    def set_genome(self, genome):
        if type(genome) is list:
            self.note_list = genome
            self.genome = rttl.dump(genome)

        elif type(genome) is unicode:
            self.genome = genome
            self.note_list = rttl.parse(genome)

        self.int_list = rttl.to_int(self.note_list)
Beispiel #6
0
from mingus.midi import fluidsynth
import mingus.core.progressions as progressions
from mingus.containers import NoteContainer
from mingus.containers.Track import Track
import sys

fluidsynth.init(sys.argv[1])

pro = sys.stdin.read().split()

ch = progressions.to_chords(pro, "C")

nc = map(NoteContainer, ch)

t = Track()

for chord in nc:
    t.add_notes(chord)

fluidsynth.play_Track(t)