Template:Infobox interval: Difference between revisions

From Xenharmonic Wiki
Jump to navigation Jump to search
Fix spaced and/or newlined ratios for xen-calc (huge ratios still broken from xen-calc's part but this is our part). Prepare to get rid of JI glyph
Fredg999 (talk | contribs)
Add parameter for harmonic entropy (opt-in switch)
 
(13 intermediate revisions by 4 users not shown)
Line 1: Line 1:
<includeonly><div style="
<includeonly>{{#invoke: Infobox_interval | infobox_interval
border: 1px solid #999;
| Ratio={{{1|{{{Ratio|{{PAGENAME}}}}}}}}
margin: 0;
| Ket={{{Ket|{{{Monzo|}}}}}}
margin-left: 1em;
| Cents={{{Cents|}}}
margin-bottom: 0.5em;
| Comma={{{Comma|}}}
padding: 0.25em 0.5em;
| Name={{{Name|}}}
background-color: #fafafa;
| Color name={{{Color name|}}}
min-width: 15em;
| FJS name={{{FJS name|}}}
float: right;
| Sound={{{Sound|}}}
">
| Calc={{{Calc|}}}
{| width="100%" style="border-collapse: collapse;"
| debug={{lc:{{{debug|}}}}}
|+ <u>Interval information</u>
| Harmonic entropy={{lc:{{{Harmonic entropy|}}}}}
{{#if: {{{JI glyph|}}} |
}}</includeonly><noinclude>
  {{!}} style="text-align:right; padding-right: 0.25em; vertical-align: top" {{!}} [[JI glyphs|JI glyph]]
{{documentation}}
  {{!}} style="background-color: white; padding-left: 0.25em" {{!}} {{{JI glyph}}}
}}
|-
{{#if: {{{Ratio|}}} |
  {{!}} style="text-align:right; padding-right: 0.25em" {{!}} Ratio
  {{!}} style="background-color: white; padding-left: 0.25em" {{!}} '''{{{Ratio}}}''' |
  {{!}} style="text-align:right; padding-right: 0.25em" {{!}} Ratio
  {{!}} <span style="color:red"><abbr title="missing value for parameter 'Ratio'">''missing''</abbr></span><sup>[[Template:Infobox Interval| ?&nbsp;]]</sup>[[Category:Todo:add interval ratio]]
}}
|-
{{#if: {{{Monzo|}}} |
  {{!}} style="text-align:right; padding-right: 0.25em" {{!}} [[Monzo]]
  {{!}} style="background-color: white; padding-left: 0.25em" {{!}} '''{{Monzo|{{{Monzo}}}}}''' |
  {{!}} style="text-align:right; padding-right: 0.25em" {{!}} [[Monzo]]
  {{!}} <span style="color:red"><abbr title="missing value for parameter 'Monzo'">''missing''</abbr></span><sup>[[Template:Infobox Interval| ?&nbsp;]]</sup>[[Category:Todo:add interval monzo]]
}}
|-
{{#if: {{{Cents|}}} |
  {{!}} style="text-align:right; padding-right: 0.25em" {{!}} Size in [[cent]]s
  {{!}} style="background-color: white; padding-left: 0.25em" {{!}} '''{{{Cents}}}''' |
  {{!}} style="text-align:right; padding-right: 0.25em" {{!}} Size in [[cent]]s
  {{!}} <span style="color:red"><abbr title="missing value for parameter 'Cents'">''missing''</abbr></span><sup>[[Template:Infobox Interval| ?&nbsp;]]</sup>[[Category:Todo:add interval cents]]
}}
|-
{{#if: {{{Name|{{{Names|}}}}}} |
  {{!}} style="text-align:right; padding-right: 0.25em" {{!}} Name(s)
  {{!}} style="background-color: white; padding-left: 0.25em" {{!}} '''{{{Name|{{{Names}}}}}}''' |
  {{!}} style="text-align:right; padding-right: 0.25em" {{!}} Name
  {{!}} <span style="color:red"><abbr title="missing value for parameter 'Name'">''missing''</abbr></span><sup>[[Template:Infobox Interval| ?&nbsp;]]</sup>[[Category:Todo:add interval name]]
}}
|-
{{#if: {{{Color name|{{{Color Name|}}}}}} |
  {{!}} style="text-align:right; padding-right: 0.25em" {{!}} [[Color notation|Color name]]
  {{!}} style="background-color: white; padding-left: 0.25em" {{!}} '''{{{Color name|{{{Color Name}}}}}}'''
}}
|-
{{#if: {{{FJS name|{{{FJS Name|}}}}}} |
  {{!}} style="text-align:right; padding-right: 0.25em" {{!}} [[Functional Just System|FJS name]]
  {{!}} style="background-color: white; padding-left: 0.25em" {{!}} '''{{{FJS name|{{{FJS Name}}}}}}'''
}}
|-
{{#if: {{{Sound|}}} |
  {{!}} colspan="2" style="text-align: center;" {{!}} [[File:{{{Sound}}}|270px]]<br/><small>[[:File:{{{Sound}}}|[sound info]]]</small>
}}
|-
{{#if: {{{Ratio|}}} |
  {{!}} colspan="2" style="text-align: center;" {{!}} <small>[https://www.yacavone.net/xen-calc/?q={{#regex: {{{Ratio|}}}|/\s+{{!}}<br>/|}} open this interval in ''xen-calc'']</small>
}}
|}
</div><!-- this section is for changing parameter names to regular form -->{{#if: {{{Names|}}}
| [[Category:Todo:normalize interval parameters]]}}{{#if: {{{Color Name|}}}
| [[Category:Todo:normalize interval parameters]]}}{{#if: {{{FJS Name|}}}
| [[Category:Todo:normalize interval parameters]]}}</includeonly><noinclude>


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.
[[Category:Infoboxes]]
 
== Usage ==
The templates supports the following parameters (highly requested parameters in '''bold'''):
 
{| class="wikitable"
! Parameter
! Meaning
! Usage notes, Remarks
|-
| <s>JI glyph</s>
| <s>Just intonation glyph, if one exists</s>
| <s>complete with prefix "File:" and brackets</s>
|-
| '''Ratio'''
| Frequency [[ratio]] of the interval
| pages with missing values go into [[:Category:Todo:add interval ratio]]
|-
| '''Monzo'''
| Parameters of the [[Monzo]] notation
| pages with missing values go into [[:Category:Todo:add interval monzo]]
|-
| '''Cents'''
| Size in [[cent]]s
| pages with missing values go into [[:Category:Todo:add interval cents]]
|-
| '''Name'''
| Name(s) of the interval
| pages with missing values go into [[:Category:Todo:add interval 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]]
|-
| FJS name
| [[Functional Just System]] name
|
|-
| Sound
| Soundfile, if one exists
| only name of the file (no prefix "File:" and of course without brackets)
|}
 
== Example ==
Usage example for the harmonic seventh ([[7/4]]):
<pre>
{{Infobox Interval
| Ratio = 7/4
| Monzo = -2 0 0 1
| Cents = 968.82591
| Name = Harmonic seventh
| Color name = z7, zo 7th
| FJS name = m7<sup>7</sup>
| Sound = jid_7_4_pluck_adu_dr220.mp3
}}
</pre>
 
== Boilerplates ==
'''Empty template''' for copy &amp; paste (to avoid copying wrong values from interval pages):
<pre>
{{Infobox Interval
| Ratio =
| Monzo =
| Cents =
| Name =
| Color name =
| FJS name =
| Sound =
}}
</pre>
 
'''Partlially self-filling''' version for copy &amp; paste (to avoid copying wrong values from interval pages):
<pre>
{{Infobox Interval
| Ratio = {{subst:PAGENAME}}
| Monzo =
| Cents = {{subst:cents|{{subst:PAGENAME}}|5}}
| Name =
| Color name =
| FJS name =
| Sound =
}}
</pre>
 
== See also ==
* [[Template:Infobox ET]]
* [[xen-calc]] – the according page of that tool gets linked automatically if the <code>Ratio</code> parameter is filled in
 
[[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