voice

class roqba.voice.Voice(id, composer, note_range=[24, 48], register=None, behaviour=None, note=None, real_note=None, note_length_grouping=[1, 1, 3, 3])[source]
add_setters_for_behaviour_dict()[source]
apply_overhanging_notes()[source]

applies overhanging notes of a registered melody

to the next <on_off_pattern>

exceeds(note)[source]

returns min/max limits and a bounce back direction coefficient

if incoming int exceeds limits, returns False otherwise

in_the_middle(note)[source]

returns true if int is in the center area of the range

make_wavetable()[source]

assembles a wavetable

using the registered wavetable-related params

manage_melody_note(meter_pos)[source]

retrieves next note-delta and length belonging to the melody.

sets the following ‘bits’ of the off-on-pattern according to the specified length of the note. returns the pitch-related move (delta) and sets eventual modifier attribute on the composer

new_microvolume_sine()[source]
next_note(state)[source]

the next note is calculated/read here

register_other_voices()[source]

returns the other voices registered in the app

reload_register()[source]

reloads the current register and reapplies its settings

  • in voice
  • in the controller
reset_slave(change_master=False)[source]

resets values for slave voices.

if <change_master> is an int:
  • it is used as the id new master-voice
if <change_master> is ‘True’:
  • a new random master is chosen,
search_suitable_melody(speed)[source]
set_note_length_groupings(mapping={'BASS': 'HEAVY_GROUPINGS', 'FLAT_MID': 'FAST_GROUPINGS', 'MID': 'DEFAULT_GROUPINGS', 'HIGH': 'TERNARY_GROUPINGS', 'LOW_MID': 'DEFAULT_GROUPINGS', 'ROCK_BASS': 'FAST_GROUPINGS'})[source]

sets the note_length_groupings attribute on self

by reading the current value from the composer

set_pan_pos(gateway, pan_pos)[source]
set_rhythm_grouping(grouping)[source]

setter method which creates also the on/off pattern

update_current_microvolume()[source]
voice()[source]

the generator method of the Voice-class