.. _ttos: ===== TTO's ===== TTO is an acronym for "Twelve Tone Operators." Using TTO's in place -------------------- To modify a ToneRow, PCSet, or PSet by TTO in place, use the t, i, m, mi, and t_m methods. The table below shows each method's associated TTO, arguments and defaults. Arguments enclosed in brackets are optional, and use the default if not provided. ====== ===== =========== ========= Name TTO Arguments Defaults ====== ===== =========== ========= t Tn n NA i TnI [n] n=0 m TnM [n] n=0 mi TnMI [n] n=0 t_m TnMm n, m NA ====== ===== =========== ========= * m, mi, and t_m are not possible for pitch sets. Therefore, these methods are only available for ToneRow and PCSet instances. Below are some examples:: a = PCSet(0, 4, 9) a.t(1) print a Out: [1, 5, 10] a.i() print a Out: [2, 7, 11] a.m() print a Out: [7, 10, 11] a.mi() print a Out: [1, 5, 10] a.t_m(1, 11) print a Out: [0, 3, 8] Returning new instances via a TTO --------------------------------- To return new set or row instances modified by a TTO, import and use the following functions: >>> from sator.core import transpose, invert, multiply, transpose_multiply The table below shows each function's assocatied TTO, arguments and defaults. Arguments enclosed in brackets are optional, and use the default if not provided. ==================== ============== ============= ======== Name TTO Arguments Defaults ==================== ============== ============= ======== transpose Tn object, n NA invert TnI object, [n] n=0 multiply T0Mm object, [m] m=5 transpose_multiply TnMm object, n, m NA ==================== ============== ============= ======== The following are some examples of each:: a = PCSet(0, 4, 9) b = transpose(a, 1) print b Out: [1, 5, 10] c = invert(a) print c Out: [0, 3, 8] d = transpose_multiply(a, 3, 7) print d Out: [3, 6, 7] * Multiply and transpose_multiply will raise an InvalidTTO exception if they are called with a PSet