Template:Infobox interval: Difference between revisions

From Xenharmonic Wiki
Jump to navigation Jump to search
Plumtree (talk | contribs)
Merging changes from User:Plumtree/Infobox Interval
Fredg999 (talk | contribs)
Add parameter for harmonic entropy (opt-in switch)
 
(9 intermediate revisions by 4 users not shown)
Line 1: Line 1:
<includeonly>{{#invoke:Infobox Interval|infobox_interval
<includeonly>{{#invoke: Infobox_interval | infobox_interval
|Ratio={{{1|{{{Ratio|{{PAGENAME}}}}}}}}
| Ratio={{{1|{{{Ratio|{{PAGENAME}}}}}}}}
|Ket={{{Ket|{{{Monzo|}}}}}}
| Ket={{{Ket|{{{Monzo|}}}}}}
|Cents={{{Cents|}}}
| Cents={{{Cents|}}}
|Comma={{{Comma|}}}
| Comma={{{Comma|}}}
|Name={{{Name|}}}
| Name={{{Name|}}}
|Color name={{{Color name|}}}
| Color name={{{Color name|}}}
|FJS name={{{FJS name|}}}
| FJS name={{{FJS name|}}}
|Sound={{{Sound|}}}
| Sound={{{Sound|}}}
|Calc={{{Calc|}}}}}</includeonly><noinclude>
| Calc={{{Calc|}}}
The template '''Infobox Interval''' was built to help presenting basic information about [[interval]]s in a unified form, to make them obvious by glance. Also the formatting of the wiki text itself is easier to read and improve when it is obviously structured by this template.
| debug={{lc:{{{debug|}}}}}
| Harmonic entropy={{lc:{{{Harmonic entropy|}}}}}
}}</includeonly><noinclude>
{{documentation}}


== Usage ==
[[Category:Infoboxes]]
There are three different ways to use this template:
* Small ratios: <code><nowiki>{{Infobox Interval}}</nowiki></code> (the ratio is inferred from page name), <code><nowiki>{{Infobox Interval|7/4}}</nowiki></code>, <code><nowiki>{{Infobox Interval|Ratio=7/4}}</nowiki></code>.
** When use this form? In most cases - whenever both numerator and denominator of the ratio are small enough to fit within Lua numbers as integers. You should not encounter any problems when those are <math>\leq 2^{32}</math>, and you might happen to not encounter any problems when those are <math>\leq 2^{53}</math>. With larger numbers, you are almost guaranteed to get inaccurate results.
* Large ratios: <code><nowiki>{{Infobox Interval|Ket=-2 0 0 1}}</nowiki></code>, <code><nowiki>{{Infobox Interval|Monzo=-2 0 0 1}}</nowiki></code>.
** In this form, '''Ratio''' (unless you specify it explicitly, in which case it will be printed as is) and most norms are omitted.
** When use this form? Whenever numerator or denominator are too large.
* Irrational intervals: <code><nowiki>{{Infobox Interval|Ratio=\pi|Cents=1981.795}}</nowiki></code>.
** In this form, '''Factorization''', '''Subgroup''', '''Monzo''' (unless you specify it explicitly), '''FJS name''', norms are omitted.
** When use this form? Whenever the interval is irrational.
 
The template will add the page to the categories when appropriate:
* [[:Category:Rational intervals]] and [[:Category:Irrational intervals]];
* [[:Category:2-limit]], [[:Category:3-limit]], ...;
* [[:Category:Unnoticeable commas]], [[:Category:Small commas]], [[:Category:Medium commas]], [[:Category:Large commas]];
* [[:Category:Superparticular]];
* [[:Category:Harmonics]], [[:Category:Octave-reduced harmonics]], [[:Category:Subharmonics]], [[:Category:Octave-reduced subharmonics]];
* [[:Category:Pages with internal sound examples]];
* [[:Category:Todo:add interval ratio]], [[:Category:Todo:add interval name]], [[:Category:Todo:add color name]], [[:Category:Todo:remove explicit ket notation]], [[:Category:Todo:remove explicit cents]], [[:Category:Todo:initialise Infobox Interval]], [[:Category:Todo:replace sup and sub with LaTeX]], [[:Category:Todo:remove manual line breaks]].
 
The template supports the following parameters:
 
{| class="wikitable"
! Entry
! Parameter
! Meaning, usage notes.
|-
| Ratio
| 1, Ratio
| Frequency [[ratio]] of the interval. Specified explicitly, derived from page name or omitted. For irrational intervals, a LaTeX expression describing the interval (without <nowiki><math></nowiki>).
|-
| Factorization
|
| Prime factorization of the ratio. Derived either from '''Ratio''' or '''Monzo''' or omitted for irrational intervals.
|-
| [[Monzo]]
| Ket, Monzo
| Coefficients of the [[Monzo]] notation, separated by whitespaces. Derived from '''Ratio''' or specified or omitted for irrational intervals. If you specify one for an irrational interval, [[Template:Monzo]] with the provided argument will be printed.
|-
| [[Smonzos and svals|Subgroup monzo]]
|
| Shown instead of '''Factorization''' and '''Monzo''' when there is a sequence of 4+ zeros in ket notation. Derived either from '''Ratio''' or '''Monzo''' or omitted for irrational intervals.
|-
| [[Cent]]s
| Cents
| Size in [[cent]]s. Either derived from '''Ratio''' or '''Monzo''' or specified for irrational intervals.
|-
| [[Comma|Comma size]]
| Comma
| Pass a non-empty string (for example, <code>yes</code> or <code>1</code>) to enable this entry. For specific values of '''Cents''', an interval is considered a comma. <math>(0; 3.5] \to</math> unnoticeable, <math>(3.5; 30] \to</math> small, <math>(30; 100] \to</math> medium, <math>(100; +∞) \to</math> large. If the interval is rational and is an integer power of another rational number, the entry is omitted.
|-
| [[Square superparticular|S-expression]]s
|
| For a rational '''Comma''', a search for S-expressions of specific forms is done.
|-
| Name
| Name
| Name(s) of the interval. Pages with missing values go into [[:Category:Todo:add interval name]]. You should not put any <nowiki><br/></nowiki> tags between names here; it will be done automatically.
|-
| [[Kite's color notation|Color name]]
| Color name
| Color name after [[Kite's color notation]] in the form: <code>written form, spoken form</code>. For color names see also [[Gallery of just intervals]]. Pages with missing values go into [[:Category:Todo:add color name]]. Default: omitted.
|-
| [[Functional Just System|FJS name]]
| FJS name
| [[Functional Just System]] name. Provided, derived from '''Ratio''' or '''Monzo''' or omitted for irrational intervals. Use LaTeX syntax to provide custom names: <code>P5^{11}_{5}</code>.
|-
| Special properties
|
| Currently implemented: [[Superparticular interval|superparticular]] and [[square superparticular]] for small ratios, [[harmonic]]s and [[subharmonic]]s, including reduced ones, whether a ratio is [[octave reduction|reduced]].
|-
| [[Tenney height]]
|
| Derived from '''Ratio''' or '''Monzo''' or omitted.
|-
| [[Weil height]]
|
| Derived from '''Ratio''' or omitted.
|-
| [[Benedetti height]]
|
| Derived from '''Ratio''', if the result is small, or omitted.
|-
| [[Harmonic entropy]]
|
| Harmonic entropy approximation (Shannon, <math>\sqrt{n\cdot d}</math> weights, <math>200\text{-integer limit}\cap\{x\mid\left|\left|x\right|\right|\leq 100\}</math>). Derived from '''Ratio''', '''Monzo''' or '''Cents'''.
|-
| Sound
| Sound
| Soundfile, if one exists. Only name of the file is required (no prefix "File:" and of course without brackets). Default: omitted.
|-
| [[Xen-calc]]
| Calc
| A link to xen-calc. Provided or derived from '''Ratio''' or '''Monzo''' or omitted. When provided (you should do that only for irrational intervals recognised by xen-calc, such as <code>sqrt(25/24)</code>), '''Calc''' is interpreted as the query, not the full link. It is urlencoded automatically.
|}
 
== Examples ==
{{#invoke:Infobox Interval|infobox_interval|Ratio=7/4|Name=harmonic seventh|Color name=z7, zo 7th|Sound=jid_7_4_pluck_adu_dr220.mp3|debug=hide}}
Usage example for a small ratio ([[7/4]]):
<pre>
{{Infobox Interval
| Name = harmonic seventh
| Color name = z7, zo 7th
| Sound = jid_7_4_pluck_adu_dr220.mp3
}}
</pre>
 
Usage example for a large ratio ([[septimal ruthenia]]), which is also considered to be a comma:
<pre>
{{Infobox Interval
| Monzo = -263 88 0 44
| Name = septimal ruthenia, septiruthenia
| Comma = yes
}}
</pre>
 
Usage example for an irrational interval ([[sqrt(25/24)]]):
<pre>
{{Infobox Interval
| Ratio = \sqrt{25/24}
| Monzo = -3/2 -1/2 1
| Cents = 35.336213
| Name = square root of 25/24
| Calc = sqrt(25/24)
}}
</pre>
 
== Boilerplate ==
'''Empty template''' for copy &amp; paste (to avoid copying wrong values from interval pages):
<pre>
{{Infobox Interval
| Name =
| Color name =
| Sound =
}}
</pre>
 
== See also ==
* [[Template:Infobox ET]]
* [[xen-calc]] – the according page of that tool gets linked automatically for rational intervals
 
[[Category:Templates]]
 
<!-- interwiki -->
[[de:Vorlage:Infobox Intervall]]
</noinclude>
</noinclude>

Latest revision as of 19:00, 4 August 2025

Template documentation[view] [edit] [history] [purge]

The Infobox Interval template was built to help presenting basic information about intervals in a unified form, to make them obvious by glance. Also the formatting of the wiki text itself is easier to read and improve when it is obviously structured by this template.

Usage

The template should be placed at the beginning of an interval page. There are three different ways to use this template:

  • Small ratios: {{Infobox Interval}} (the ratio is inferred from page name), {{Infobox Interval|7/4}}, {{Infobox Interval|Ratio=7/4}}.
    • When use this form? In most cases, whenever both numerator and denominator of the ratio are small enough to fit within Lua numbers as integers. You should not encounter any problems with integers up to 232 − 1, and you might happen to not encounter any problems when those are 253. With larger numbers, you are almost guaranteed to get inaccurate results.
  • Large ratios: {{Infobox Interval|Ket=-2 0 0 1}}, {{Infobox Interval|Monzo=-2 0 0 1}}.
    • In this form, Ratio (unless you specify it explicitly, in which case it will be printed as is) and most norms are omitted.
    • When use this form? Whenever numerator or denominator are too large.
  • Irrational intervals: {{Infobox Interval|Ratio=\pi|Cents=1981.795}}.
    • In this form, Factorization, Subgroup, Monzo (unless you specify it explicitly), FJS name, norms are omitted.
    • When use this form? Whenever the interval is irrational.

The template will add the page to the categories when appropriate:

The template supports the following parameters:

Entry Parameter Meaning and usage notes
Ratio 1, Ratio Frequency ratio of the interval. Specified explicitly, derived from page name or omitted. For irrational intervals, a LaTeX expression describing the interval (without <math>).
Factorization Prime factorization of the ratio. Derived either from Ratio or Monzo or omitted for irrational intervals.
Monzo Ket, Monzo Coefficients of the monzo notation, separated by whitespaces. Derived from Ratio or specified or omitted for irrational intervals. If you specify one for an irrational interval, Template: Monzo with the provided argument will be printed.
Subgroup monzo Shown instead of Factorization and Monzo when there is a sequence of 4 or more zeros in ket notation. Derived either from Ratio or Monzo or omitted for irrational intervals.
Cents Cents Size in cents. Either derived from Ratio or Monzo or specified for irrational intervals.
Name Name Name(s) of the interval. Pages with missing values go into Category:Todo:add interval name. You should not put any <br> tags between names here; it will be done automatically.
Color name Color name Color name after Kite's color notation in the form: written form, spoken form. For color names see also Gallery of just intervals. Pages with missing values go into Category:Todo:add color name. Default: omitted.
FJS name FJS name Functional Just System name. Provided, derived from Ratio or Monzo or omitted for irrational intervals. Use LaTeX syntax to provide custom names: P5^{11}_{5}.
Special properties Currently implemented: superparticular and square superparticular for small ratios, harmonics and subharmonics, including reduced ones, whether a ratio is reduced.
Tenney height Derived from Ratio or Monzo or omitted.
Weil height Derived from Ratio or omitted.
Wilson height Derived from Ratio, or omitted.
Harmonic entropy Harmonic entropy Harmonic entropy approximation (Shannon, [math]\displaystyle{ \sqrt{nd} }[/math] weights, [math]\displaystyle{ 200\text{-integer limit} \cap \left\lbrace x \mid \left\Vert x \right\Vert \leq 100 \right\rbrace }[/math]). Derived from Ratio, Monzo, or Cents. Harmonic entropy is hidden by default, pass the value of yes to display it.
Comma size Comma Pass a non-empty string (for example, yes or 1) to enable this entry. For specific values of Cents, an interval is considered a comma. [math]\displaystyle{ (0; 3.5] \to }[/math] unnoticeable, [math]\displaystyle{ (3.5; 30] \to }[/math] small, [math]\displaystyle{ (30; 100] \to }[/math] medium, [math]\displaystyle{ (100; +∞) \to }[/math] large. If the interval is rational and is an integer power of another rational number, the entry is omitted.
S-expressions For a rational Comma, a search for S-expressions of specific forms is done.
Sound Sound Soundfile, if one exists. Only name of the file is required (no prefix "File:" and of course without brackets). Default: omitted.
Xen-calc Calc A link to xen-calc. Provided or derived from Ratio or Monzo or omitted. When provided (you should do that only for irrational intervals recognised by xen-calc, such as sqrt(25/24)), Calc is interpreted as the query, not the full link. It is urlencoded automatically.

Examples

Interval information
Ratio 7/4
Factorization 2-2 × 7
Monzo [-2 0 0 1
Size in cents 968.8259¢
Name harmonic seventh
Color name z7, zo 7th
FJS name [math]\displaystyle{ \text{m7}^{7} }[/math]
Special properties reduced,
reduced harmonic
Tenney height (log2 nd) 4.80735
Weil height (log2 max(n, d)) 5.61471
Wilson height (sopfr(nd)) 11

[sound info]
Open this interval in xen-calc

Usage example for a small ratio (7/4):

{{Infobox Interval
| Name = harmonic seventh
| Color name = z7, zo 7th
| Sound = jid_7_4_pluck_adu_dr220.mp3
}}

Usage example for a large ratio (septimal ruthenia), which is also considered to be a comma:

{{Infobox Interval
| Monzo = -263 88 0 44
| Name = septimal ruthenia, septiruthenia
| Comma = yes
}}

Usage example for an irrational interval (sqrt(25/24)):

{{Infobox Interval
| Ratio = \sqrt{25/24}
| Monzo = -3/2 -1/2 1
| Cents = 35.336213
| Name = square root of 25/24
| Calc = sqrt(25/24)
}}

Boilerplate

Empty template for copy & paste (to avoid copying wrong values from interval pages):

{{Infobox Interval
| Name = 
| Color name = 
| Sound = 
}}

See also