示例#1
0
 def test_conversions(self):
     """ of frequencies to midi note numbers and ansi note names.
     """
     from pygame.midi import (frequency_to_midi, midi_to_frequency,
                              midi_to_ansi_note)
     self.assertEqual(frequency_to_midi(27.5), 21)
     self.assertEqual(frequency_to_midi(36.7), 26)
     self.assertEqual(frequency_to_midi(4186.0), 108)
     self.assertEqual(midi_to_frequency(21), 27.5)
     self.assertEqual(midi_to_frequency(26), 36.7)
     self.assertEqual(midi_to_frequency(108), 4186.0)
     self.assertEqual(midi_to_ansi_note(21), 'A0')
     self.assertEqual(midi_to_ansi_note(102), 'F#7')
     self.assertEqual(midi_to_ansi_note(108), 'C8')
示例#2
0
    def test_conversions(self):
        """of frequencies to midi note numbers and ansi note names."""
        from pygame.midi import frequency_to_midi, midi_to_frequency, midi_to_ansi_note

        self.assertEqual(frequency_to_midi(27.5), 21)
        self.assertEqual(frequency_to_midi(36.7), 26)
        self.assertEqual(frequency_to_midi(4186.0), 108)
        self.assertEqual(midi_to_frequency(21), 27.5)
        self.assertEqual(midi_to_frequency(26), 36.7)
        self.assertEqual(midi_to_frequency(108), 4186.0)
        self.assertEqual(midi_to_ansi_note(21), "A0")
        self.assertEqual(midi_to_ansi_note(71), "B4")
        self.assertEqual(midi_to_ansi_note(82), "A#5")
        self.assertEqual(midi_to_ansi_note(83), "B5")
        self.assertEqual(midi_to_ansi_note(93), "A6")
        self.assertEqual(midi_to_ansi_note(94), "A#6")
        self.assertEqual(midi_to_ansi_note(95), "B6")
        self.assertEqual(midi_to_ansi_note(96), "C7")
        self.assertEqual(midi_to_ansi_note(102), "F#7")
        self.assertEqual(midi_to_ansi_note(108), "C8")
示例#3
0
    def update(self):
        """ To be called in a pygame event loop.
        """
        audios = []
        while not self.audio_queue.empty():
            # print('-----audio from queue')
            # print(time.time() - time_start)
            audio = self.audio_queue.get()
            audios.append(audio)

        if audios:
            pg.event.post(pg.event.Event(AUDIOS, audios=audios))

        onsets = []
        while not self.oneset_queue.empty():
            onsets.append(self.oneset_queue.get())

        if onsets:
            pg.event.post(pg.event.Event(ONSETS, onsets=onsets))

        pitches = []
        notes = []
        frequencies = []
        while not self.pitch_queue.empty():

            # print("pitch, confidence", pitch, confidence, midi_to_ansi_note(pitch))
            pitch = self.pitch_queue.get()
            pitches.append(pitch)
            notes.append(midi_to_ansi_note(pitch))
            frequencies.append(midi_to_frequency(pitch))

        if pitches:
            pg.event.post(
                pg.event.Event(PITCHES,
                               pitches=pitches,
                               notes=notes,
                               frequencies=frequencies))