Chord Class

The muspy.Chord class is a container for chords.

Attributes Description Type Default
time Start time int  
duration Chord duration, in time steps int  
pitch Note pitches as MIDI note numbers list of int (0-127) []
velocity Chord velocity int (0-127)  

Hint

muspy.Chord has a property end with setter and getter implemented, which can be handy sometimes.

class muspy.Chord(time: int, pitches: List[int], duration: int, velocity: int = None, pitches_str: List[int] = None)[source]

A container for chords.

time

Start time of the chord, in time steps.

Type:int
pitches

Note pitches, as MIDI note numbers. Valid values are 0 to 127.

Type:list of int
duration

Duration of the chord, in time steps.

Type:int
velocity

Chord velocity. Valid values are 0 to 127.

Type:int, default: muspy.DEFAULT_VELOCITY (64)
pitches_str

Note pitches as strings, useful for distinguishing, e.g., C# and Db.

Type:list of str, optional
adjust_time(func: Callable[[int], int], attr: str = None, recursive: bool = True) → muspy.classes.Chord[source]

Adjust the timing of the chord.

Parameters:
  • func (callable) – The function used to compute the new timing from the old timing, i.e., new_time = func(old_time).
  • attr (str, optional) – Attribute to adjust. Defaults to adjust all attributes.
  • recursive (bool, default: True) – Whether to apply recursively.
Returns:

Return type:

Object itself.

clip(lower: int = 0, upper: int = 127) → muspy.classes.Chord[source]

Clip the velocity of the chord.

Parameters:
  • lower (int, default: 0) – Lower bound.
  • upper (int, default: 127) – Upper bound.
Returns:

Return type:

Object itself.

copy() → BaseType

Return a shallow copy of the object.

This is equivalent to copy.copy(self)().

Returns:
Return type:Shallow copy of the object.
deepcopy() → BaseType

Return a deep copy of the object.

This is equivalent to copy.deepcopy(self)()

Returns:
Return type:Deep copy of the object.
end

End time of the chord.

fix_type(attr: str = None, recursive: bool = True) → BaseType

Fix the types of attributes.

Parameters:
  • attr (str, optional) – Attribute to adjust. Defaults to adjust all attributes.
  • recursive (bool, default: True) – Whether to apply recursively.
Returns:

Return type:

Object itself.

classmethod from_dict(dict_: Mapping[KT, VT_co], strict: bool = False, cast: bool = False) → BaseType

Return an instance constructed from a dictionary.

Instantiate an object whose attributes and the corresponding values are given as a dictionary.

Parameters:
  • dict (dict or mapping) – A dictionary that stores the attributes and their values as key-value pairs, e.g., {“attr1”: value1, “attr2”: value2}.
  • strict (bool, default: False) – Whether to raise errors for invalid input types.
  • cast (bool, default: False) – Whether to cast types.
Returns:

Return type:

Constructed object.

is_valid(attr: str = None, recursive: bool = True) → bool

Return True if an attribute has a valid type and value.

This will recursively apply to an attribute’s attributes.

Parameters:
  • attr (str, optional) – Attribute to validate. Defaults to validate all attributes.
  • recursive (bool, default: True) – Whether to apply recursively.
Returns:

Whether the attribute has a valid type and value.

Return type:

bool

See also

muspy.Base.validate()
Raise an error if an attribute has an invalid type or value.
muspy.Base.is_valid_type()
Return True if an attribute is of a valid type.
is_valid_type(attr: str = None, recursive: bool = True) → bool

Return True if an attribute is of a valid type.

This will apply recursively to an attribute’s attributes.

Parameters:
  • attr (str, optional) – Attribute to validate. Defaults to validate all attributes.
  • recursive (bool, default: True) – Whether to apply recursively.
Returns:

Whether the attribute is of a valid type.

Return type:

bool

See also

muspy.Base.validate_type()
Raise an error if a certain attribute is of an invalid type.
muspy.Base.is_valid()
Return True if an attribute has a valid type and value.
pretty_str(skip_missing: bool = True) → str

Return the attributes as a string in a YAML-like format.

Parameters:skip_missing (bool, default: True) – Whether to skip attributes with value None or those that are empty lists.
Returns:Stored data as a string in a YAML-like format.
Return type:str

See also

muspy.Base.print()
Print the attributes in a YAML-like format.
print(skip_missing: bool = True)

Print the attributes in a YAML-like format.

Parameters:skip_missing (bool, default: True) – Whether to skip attributes with value None or those that are empty lists.

See also

muspy.Base.pretty_str()
Return the the attributes as a string in a YAML-like format.
start

Start time of the chord.

to_ordered_dict(skip_missing: bool = True, deepcopy: bool = True) → collections.OrderedDict

Return the object as an OrderedDict.

Return an ordered dictionary that stores the attributes and their values as key-value pairs.

Parameters:
  • skip_missing (bool, default: True) – Whether to skip attributes with value None or those that are empty lists.
  • deepcopy (bool, default: True) – Whether to make deep copies of the attributes.
Returns:

A dictionary that stores the attributes and their values as key-value pairs, e.g., {“attr1”: value1, “attr2”: value2}.

Return type:

OrderedDict

transpose(semitone: int) → muspy.classes.Chord[source]

Transpose the notes by a number of semitones.

Parameters:semitone (int) – Number of semitones to transpose the notes. A positive value raises the pitches, while a negative value lowers the pitches.
Returns:
Return type:Object itself.
validate(attr: str = None, recursive: bool = True) → BaseType

Raise an error if an attribute has an invalid type or value.

This will apply recursively to an attribute’s attributes.

Parameters:
  • attr (str, optional) – Attribute to validate. Defaults to validate all attributes.
  • recursive (bool, default: True) – Whether to apply recursively.
Returns:

Return type:

Object itself.

See also

muspy.Base.is_valid()
Return True if an attribute has a valid type and value.
muspy.Base.validate_type()
Raise an error if an attribute is of an invalid type.
validate_type(attr: str = None, recursive: bool = True) → BaseType

Raise an error if an attribute is of an invalid type.

This will apply recursively to an attribute’s attributes.

Parameters:
  • attr (str, optional) – Attribute to validate. Defaults to validate all attributes.
  • recursive (bool, default: True) – Whether to apply recursively.
Returns:

Return type:

Object itself.

See also

muspy.Base.is_valid_type()
Return True if an attribute is of a valid type.
muspy.Base.validate()
Raise an error if an attribute has an invalid type or value.