summaryrefslogtreecommitdiff
path: root/index.html
blob: 434e6c8b53d98c7294693b9dd5e83aaf29d767e6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
<!doctype html>
<html>
    <head>
        <title>One tøp song</title>
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <link rel="stylesheet" href="index.css">
    </head>
    <body>
        <div id="main">
            <header>
                <h1>This word only appears in one twenty&nbsp;øne&nbsp;piløts song</h1>
            </header>
            <article>
                <div class="block" id="word"></div>
                <div class="block" id="interaction">
                    <p>What song is it? (acronym works too)</p>
                    <input id="input" autocomplete="off" autofocus />
                    <div hidden id="candidate-container">
                        <table id="candidate-list">
                            <!-- to be filled with javascript -->
                        </table>
                    </div>
                    <div hidden id="report"></div>
                    <div id="controls">
                        <button id="next">Next</button> <br />
                        <button id="hint">Hint</button> <br />
                        <button id="show-answer">Show answer</button>
                    </div>
                </div>
                <div hidden class="block" id="answer">
                    <div id="album"></div>
                    <div id="track"></div>
                    <div id="lines"></div>
                </div>
            </article>
            <footer>
                <details>
                    <summary>How to play?</summary>
                    <p>
                        A word is shown above the textbox, where you try to guess which song the
                        word came from. The textbox will guess what you mean (for example, typing
                        "ho" narrows down the possibilities to House Of Gold, HOTY and Hometown).
                    </p>
                    <p>
                        Press Enter to select the first song listed (it should work on mobile
                        keyboards too, just beware of autocorrect), or just click on any of them.
                    </p>
                    <p>
                        Click Next to see a new, random word.
                        Click Hint to reveal which album the song is in (Self-Titled, RaB, RaB &amp;
                        Vessel, Vessel, Blurryface, Trench, SAI, Single); click again to reveal the
                        words surrounding the one shown.
                        Click Show Answer to reveal everything, including album, track, and the
                        line(s) the word is taken from.
                    </p>
                </details>
                <details>
                    <summary>List of songs included</summary>
                    <ul>
                        <li>All of Self-Titled</li>
                        <li>All of Regional at Best</li>
                        <li>All of Vessel</li>
                        <li>All of Blurryface</li>
                        <li>All of Trench</li>
                        <li>All of Scaled And Icy</li>
                        <li>Time To Say Goodbye</li>
                        <li>Cancer</li>
                        <li>Heathens</li>
                        <li>Level Of Concern</li>
                        <li>Christmas Saves The Year</li>
                    </ul>
                    <p>These songs, however, are not included:</p>
                    <ul>
                        <li>Any of No Phun Intended</li>
                        <li>Coconut Sharks in the Water</li>
                        <li>"Mexico City Song", which apparently exists according to azlyrics but I never heard</li>
                        <li>Can't Help Falling In Love (Elvis cover)</li>
                        <li>Any cover other than Cancer</li>
                        <li>The Hype (Berlin)</li>
                        <li>Level Of Concern (live from outside)</li>
                    </ul>
                </details>
                <details>
                    <summary>How many words are there?</summary>
                    <p>
                        <strong>1000.</strong>
                        You can see a full list <a href="words.html">here</a>.
                    </p>
                    <p>Whether or not this is a lot is left as an exercise for the reader.</p>
                    <p>Trivia:</p>
                    <ul>
                        <li>These 1000 words come from 78 songs.</li>
                        <li>1000 / 78 = 12.82.</li>
                        <li>The song that contributed the most words is Neon Gravestones (51).</li>
                        <li>
                            The songs on this list that contributed the fewest are Before You Start
                            Your Day and Trees (2).
                        </li>
                        <li>The only song not on this list is Truce.</li>
                    </ul>
                </details>
                <details>
                    <summary>Where did the words come from?</summary>
                    <p>
                        I downloaded lyrics to all tøp songs from azlyrics.com with Python (which
                        in retrospect seemed like a violation of their terms of service), saved
                        them in .txt files, and wrote another Python script to locate words that
                        appear in only one song.
                    </p>
                    <p>
                        If inflections of the same word are found in any other song, all of them,
                        including the original form, are removed (with a third Python script of
                        course), unless they are semantically or phonetically distinguishable. The
                        criteria for phonetically indistinguishable inflections are -s, -es, -d,
                        -ed and -ing. However, if they only appear in one song, all inflections are
                        preserved.
                    </p>
                    <p>
                        For example, "sons" only appears in Addict With A Pen ("I haven't been the
                        best of sons"), but because "son" appears in Taxi Cab, Clear, Polarize and
                        No Chances, "sons" is removed from the dataset. "Weathered" (Chlorine) is
                        semantically distinguishable from "weather" (Good Day, Migraine), so it is
                        preserved. "Buy" (House of Gold) is phonetically distinguishable from
                        "bought" (Car Radio, Levitate), so it is also preserved.
                    </p>
                    <p>
                        Also, words that are just track titles (e.g. heavydirtysoul) are removed.
                    </p>
                </details>
                <details>
                    <summary>Disclaimer</summary>
                    <p>
                        "One tøp song" is made by fkfd entirely for entertainment purposes. I make
                        absolutely no warranty. It is not a tool for gatekeeping. Not knowing
                        lyrics to some tøp songs does not make you a fake fan (not knowing any,
                        however, does). It is not a tool for scientific purposes either.
                    </p>
                    <p>
                        This website collects absolutely no data. I do not sell your information in
                        those terms of agreement. No cookies either. Well in theory I <i>could</i>
                        see your IP in the server logs, but I never bothered to check.
                    </p>
                    <p>
                        Twenty One Pilots and/or Fueled By Ramen are copyright owners of both the
                        lyrics and the album covers. Fair use or something I'm not American.
                    </p>
                    <p>
                        This is not legally binding, but I feel I have the obligation to say this:
                        pet cheetah. Thank you.
                    </p>
                </details>
                <details>
                    <summary>Feedback</summary>
                    <p>
                        Found an issue? Feature request?
                        You can contact me via email: <pre>fkfd at fkfd dot me</pre>
                    </p>
                </details>
                <details>
                    <summary>Changelog</summary>
                    <ul>
                        <li>2022-04-18: Released to public</li>
                        <li>2022-04-19: Fix Migraine lyrics, remove "lumber-down"</li>
                        <li>2022-04-19: Remove "tree-house" (Stressed Out)</li>
                        <li>2022-04-30: Disable Hint button after answer is shown</li>
                        <li>2022-04-30: Remove trailing periods and commas from lyrics</li>
                        <li>2022-04-30: Misc lyric fixes</li>
                        <li>2022-04-30: Add trivia</li>
                        <li>2022-05-07: Remove "beast" (Migraine)</li>
                        <li>2022-05-10: Add the final "." in "We Don't Believe What's On T.V."</li>
                        <li>2022-05-13: Remove "ripped" (Redecorate)</li>
                        <li>2022-07-11: Remove "version" (Lovely)</li>
                        <li>2022-07-11: Remove redundant lyric for "rather" in Glowing Eyes</li>
                    </ul>
                </details>
                <details>
                    <summary>Source Code</summary>
                    <p><a href="https://git.sr.ht/~fkfd/one_top_song">Git repo on SourceHut</a></p>
                </details>
            </footer>
        </div>
        <script src="words.js"></script>
        <script src="albums.js"></script>
        <script src="index.js"></script>
    </body>
</html>