Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Minor html5 updates
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | trunk
Files: files | file ages | folders
SHA3-256: fec4c599bf1a6d3ffc6d139ae3067ff8c97a0a194b1d2b9bdbe2e6c06eb8ffa7
User & Date: jmcclure 2020-05-30 13:15:43
Context
2020-05-30
13:15
Minor html5 updates Leaf check-in: fec4c599bf user: jmcclure tags: trunk
2019-09-09
01:32
logging revisions; adjustable eraser size check-in: 8550c6eb3d user: jmcclure tags: trunk
Changes

Changes to info.html.

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
..
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
...
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
...
197
198
199
200
201
202
203

204
205
206
207
208
209
210
211
212
213

214
215
216
217
218
219
220
221
222
223
224
225
226
<div class="fossil-doc" data-title="Ain't She Tweet">

<section id="intro">
<h2>Introduction</h2>

<p>TweetyPy is a direct descendant of the FEX frequency excursion calculator<a
class="note-link" href="#intro-note-1">1</a>.  Frequency excursion is the first
(and only in version 1) analysis that TweetyPy is capable of, but there are plans for
adding several additional calculations starting with trill rate and bandwidth
followed by multi-song comparisons for similarity and eventually clustering and
categorization of songs.</p>

<h3>Caution!</h3>

<p>The current code is still in a development state and may not be ready for
large-scale analyses just yet. Please report any bugs, but do not be surprised
if &mdash; while using the early releases &mdash; TweetyPy &ldquo;fall down and
go BOOM!&rdquo;<a class="note-link" href="#intro-note-2">2</a> </p>


<p>Bug reports can be directed to the bug tracker<a class="note-link"
href="#intro-note-3">3</a>.  Any other questions or comments can be sent via
email<a class="note-link" href="#intro-note-4">4</a>.

<h3>What's In A Name?</h3>

<p>As it became clear that this program, formerly known as Fex, would be useful
for doing more than just frequency excursion calculations it became worth
considering new names.  The goal was for a fun name that would be immediately
recognizable as a bird while also potentially referencing the heritage of the
Python language in which the software was written<a class="note-link"
href="#intro-note-5">5</a>.  This lead to Tweety Bird<a class="note-link"
href="#intro-note-6">6</a> also known as Tweety Pie.  Hence the name TweetyPy.
Each minor-version release of TweetyPy will have a codename from the title of a
Tweety Bird short.
</p>
<ol class="notes">
<li id="intro-note-1">Podos J, Moseley DL, Goodwin SE, McClure J, Taft BN,
Strauss AV, Rega-Brodsky C, Lahti DC. A fine-scale, broadly applicable index of
vocal performance: frequency excursion. <em>Animal Behaviour</em>. 2016 Jun
30;116:203-12. (<a href="https://doi.org/10.1016/j.anbehav.2016.03.036">link</a>)</li>
<li id="intro-note-2">Clip from &ldquo;Tale of Two Kitties&rdquo; (<a href="https://www.youtube.com/watch?v=iWtohHwNXoU">video</a>)</li>
<li id="intro-note-3">Bugs are tracked via Fossil VCS tickets (<a href="https://code.jessemcclure.org/tweetypy/ticket">link</a>)</li>
................................................................................
	<a href="#config2-actions"><li>Actions</li></a>
	<a href="#config2-actions"><li>Menus</li></a>
	<a href="#config2-actions"><li>Toolbars</li></a>
	</ol>
<a href="#scripting"><li>Scripting Interface</li></a>
<a href="#roadmap"><li>Development Roadmap</li></a>
</ol>
<!--
<div class="nav">
<a href="#toc">T.O.C.</a>
<a href="#intro">Prev</a>
<a href="#install">Next</a>
</div>
-->
</section>

<section id="install">
<h2>Installation</h2>

<p>TweetyPy will run on any system with Python 3.6<a class="note-link"
href="#install-note-1">1</a> and Qt5<a class="note-link"
href="#install-note-2">2</a>.  TweetyPy is available from the PyPi &ldquo;Cheese
Shop&rdquo;<a class="note-link" href="#install-note=3">3</a> which will be
updated with each minor-version release.  These releases &mdash; as well as the most
recent development code &mdash; can also be obtained directly from the
Fossil VCS source<a class="note-link" href="#install-note=4">4</a>.  Once Python
3.6 is on your system, TweetyPy can be installed directly from PyPi via pip:</p>
<pre><code>pip install tweetypy</code></pre>


<p>Alternatively, TweetyPy can be installed from sources retrieved from PyPi or
Fossil with the following command from within the top-level directory of the
source files:</p>
<pre><code>python setup.py install</code></pre>


<p>In either case <code>setuptools</code> should install the remaining
depdendencies numpy<a class="note-link" href="#install-note-5">5</a>,
scipy<a class="note-link" href="#install-note-6">6</a>, and
PyYAML<a class="note-link" href="#install-note-7">7</a>.  If not, these may need
to be installed separately.</p>

<h3 id="install-mac">Mac OSX</h3>

<p>Mac OSX typically comes with python preinstalled, however it is an older
version of python.  You will need python 3.6 or later<a
class="note-link" href="#install-note-1">1</a>.  Python 3.6 will be installed
along-side the existing python2 installation, however the default python
and pip commands will still use the python2 versions so you will need to use the
-3 suffix for pip.  Once python 3.6 is installed, the following command in a
terminal should suffice to complete the installation of tweetypy:</p>
<pre><code>pip3 install tweetypy</code></pre>


<p>This should install all the dependencies followed by tweetypy itself.
Preliminary testing on a mac resulted in a successful installation and minimal
test of a working tweetypy install.</p>

<h3 id="install-win">Windows</h3>

<p>Windows may come with python preinstalled, however it is likely an older
version of python.  You will need python 3.6 or later<a
class="note-link" href="#install-note-1">1</a>.  Python 3.6 will be installed
along-side any existing python2 installation, however the default python
and pip commands will still use the python2 versions so you will need to use the
-3 suffix for pip.  Once python 3.6 is installed, the following command in a
console / power-shell session should suffice to complete the installation of tweetypy:</p>
<pre><code>pip3 install tweetypy</code></pre>


<p>This should install all the dependencies followed by tweetypy itself.
Preliminary testing on windows 10 resulted in a successful installation and minimal
test of a working tweetypy install.</p>

<h3 id="install-linux">Linux</h3>

<p>A <code>PKGBUILD</code> is provided in the source repository for ArchLinux.
Other distros may use <code>python setup.py install</code> from the root of
the source repository.  If you are able to help package TweetyPy for your
distro, please feel free to open a feature request on the ticket tracker.
Alternatively, tweetypy can be installed directly from PyPi via pip.</p>

<ol class="notes">
<li id="install-note-1">Install Python 3.6 or higher via your package / software
manager or from the <a href="https://www.python.org/">Python website</a>.</li>
<li id="install-note-2">Install Qt5 via your package / software
manager or from the <a href="http://doc.qt.io/qt-5/supported-platforms.html">Qt5 Website</a>.</li>
<li id="install-note-3">TweetyPy on PyPi (<a href="https://pypi.python.org/pypi/tweetypy">link</a>)</li>
<li id="install-note-4">Fossil VCS repository (<a href="https://code.jessemcclure.org/tweetypy/timeline">link</a>)</li>
................................................................................
<li id="install-note-6"><a href="https://www.scipy.org/">SciPy</a></li>
<li id="install-note-7"><a href="http://pyyaml.org/">PyYAML</a></li>
</ol>
</section>

<section id="config1">
<h2>Basic Configuration</h2>

<p>Configuration files are provided with reasonable defaults that should work
&lsquo;out-of-the-box&rsquo; for many analyses.  Configuration files are written
in the YAML markup language<a class="note-link" href="#config1-note-1">1</a>
which for general use can be viewed as simple key-value pairs.  To customize
your configuration, copy config.yaml from the python site-packages directory
where it was installed to your user's configuration directory.</p>


<p>TweetyPy reads configuration from any <code>config.yaml</code> files in
order from the site-packages directory, platform-specific configuration
directories, and the present working directory with settings in each file
taking precedence over previous settings.  On Mac-OSX and Linux, the
configuration directories are <code>$XDG_CONFIG_HOME/tweetypy/</code> or
<code>$HOME/.config/tweetypy/</code> if XDG_CONFIG_HOME is not set and on Windows
<code>%APPDATA%\tweetypy\</code> or <code>%USERPROFILE%\AppData\tweetypy\</code>
if APPDATA is not set.</p>


<p>Details of the configurable settings will be coming soon.  For now, feel free
to review the configuration files as many settings may be self-explanatory.</p>

<ol class="notes">
<li id="config1-note-1"><a
href="https://en.wikipedia.org/wiki/YAML">Wikipedia</a> has a good introduction
to YAML.</li>
</ol>
</section>

<section id="usage">
<h2>Step-By-Step Usage</h2>
<h3 id="usage-fex">Frequency Excursion</h3>

<p>Version 1.0.0 has a minimal set of features for taking measures of frequency
excursion.  Below is an example sequence for analyzing a single song or set of
songs.  Future versions of TweetyPy will allow for numerous modifications to
this workflow including dynamically raising or lowering the threshold for
inclusion in the calculation, changing the shape and/or orientation of the
eraser tool, moving back through the sequence of songs to repeat measures,
cropping of songs, and entering notes to be saved with each song's data.</p>
<ol>
<li>Start TweetyPy.  Currently a list of wave files can be passed on the command
line.  Dropping files on any desktop icon shoul also work but has not yet been
tested.</li>
<li>Add songs via the <code>File -&gt; Add Songs</code> menu or the <code>Add
Songs</code> toolbar button.  Future versions will also allow dropping files
into the main window.</li>
................................................................................
<li>After the last song has been scored, a save-file dialog will be presented.
Select a location for the output data file.</li>
</ol>
</section>

<section id="config2">
<h2>Advanced Configuration</h2>

<p>Coming soon to upcoming releases.</p>
</section>

<section id="scripting">
<h2>Scripting API</h2>
<p>Scripting ability will come with version 3.X releases.</p>
</section>

<section id="roadmap">
<h2>Development Roadmap</h2>

<p>Below is the tentative development roadmap.  Version 1.0 should be fully
functional for frequency excursion calculations.  Useful features for frequence
excursion use will continue to be added through version 1.3 at which point
frequency excursion should be feature-complete.  Any remaining version 1.X
releases will be for bug fixes or for code-refactoring in preparation of the
additional features to come with the 2.X releases.</p>

<h3>Version 1.0 release (Ain't She Tweet)</h3>
<ol type="i">
<li>complete documentation (configuration)</li>
</ol>
<h3>Version 1.1 release (All a Bir-r-r-rd)</h3>
<ol type="i">




>
|




|
>

>
|
<
|
|
>
>
|


>

>
|








|







 







<
<
<
<
<
<
<




>
|






|

>
>
|

|

>
>
|



|
>

>
|





|

>
>
|

|
>

>
|





|

>
>
|

|
>

>
|



|
>







 







>
|




|
>
>
|






|
>
>
|
|
>










>
|





|







 







>
|




|




>
|




|







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
..
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
...
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
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
...
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
<div class="fossil-doc" data-title="Ain't She Tweet">

<section id="intro">
<h2>Introduction</h2>
<p>
TweetyPy is a direct descendant of the FEX frequency excursion calculator<a
class="note-link" href="#intro-note-1">1</a>.  Frequency excursion is the first
(and only in version 1) analysis that TweetyPy is capable of, but there are plans for
adding several additional calculations starting with trill rate and bandwidth
followed by multi-song comparisons for similarity and eventually clustering and
categorization of songs.

<h3>Caution!</h3>
<p>
The current code is still in a development state.  Please report any bugs, but do

not be surprised if &mdash; while using the early releases &mdash; TweetyPy
&ldquo;fall down and go BOOM!&rdquo;<a class="note-link" href="#intro-note-2">2</a>

<p>
Bug reports can be directed to the bug tracker<a class="note-link"
href="#intro-note-3">3</a>.  Any other questions or comments can be sent via
email<a class="note-link" href="#intro-note-4">4</a>.

<h3>What's In A Name?</h3>
<p>
As it became clear that this program, formerly known as Fex, would be useful
for doing more than just frequency excursion calculations it became worth
considering new names.  The goal was for a fun name that would be immediately
recognizable as a bird while also potentially referencing the heritage of the
Python language in which the software was written<a class="note-link"
href="#intro-note-5">5</a>.  This lead to Tweety Bird<a class="note-link"
href="#intro-note-6">6</a> also known as Tweety Pie.  Hence the name TweetyPy.
Each minor-version release of TweetyPy will have a codename from the title of a
Tweety Bird short.

<ol class="notes">
<li id="intro-note-1">Podos J, Moseley DL, Goodwin SE, McClure J, Taft BN,
Strauss AV, Rega-Brodsky C, Lahti DC. A fine-scale, broadly applicable index of
vocal performance: frequency excursion. <em>Animal Behaviour</em>. 2016 Jun
30;116:203-12. (<a href="https://doi.org/10.1016/j.anbehav.2016.03.036">link</a>)</li>
<li id="intro-note-2">Clip from &ldquo;Tale of Two Kitties&rdquo; (<a href="https://www.youtube.com/watch?v=iWtohHwNXoU">video</a>)</li>
<li id="intro-note-3">Bugs are tracked via Fossil VCS tickets (<a href="https://code.jessemcclure.org/tweetypy/ticket">link</a>)</li>
................................................................................
	<a href="#config2-actions"><li>Actions</li></a>
	<a href="#config2-actions"><li>Menus</li></a>
	<a href="#config2-actions"><li>Toolbars</li></a>
	</ol>
<a href="#scripting"><li>Scripting Interface</li></a>
<a href="#roadmap"><li>Development Roadmap</li></a>
</ol>







</section>

<section id="install">
<h2>Installation</h2>
<p>
TweetyPy will run on any system with Python 3.6 or newer<a class="note-link"
href="#install-note-1">1</a> and Qt5<a class="note-link"
href="#install-note-2">2</a>.  TweetyPy is available from the PyPi &ldquo;Cheese
Shop&rdquo;<a class="note-link" href="#install-note=3">3</a> which will be
updated with each minor-version release.  These releases &mdash; as well as the most
recent development code &mdash; can also be obtained directly from the
Fossil VCS source<a class="note-link" href="#install-note=4">4</a>.  Once Python
3.6 is on your system, TweetyPy can be installed directly from PyPi via pip:
<pre><code>pip install tweetypy</code></pre>

<p>
Alternatively, TweetyPy can be installed from sources retrieved from PyPi or
Fossil with the following command from within the top-level directory of the
source files:
<pre><code>python setup.py install</code></pre>

<p>
In either case <code>setuptools</code> should install the remaining
depdendencies numpy<a class="note-link" href="#install-note-5">5</a>,
scipy<a class="note-link" href="#install-note-6">6</a>, and
PyYAML<a class="note-link" href="#install-note-7">7</a>.  If not, these may need
to be installed separately.

<h3 id="install-mac">Mac OSX</h3>
<p>
Mac OSX typically comes with python preinstalled, however it is an older
version of python.  You will need python 3.6 or later<a
class="note-link" href="#install-note-1">1</a>.  Python 3.6 will be installed
along-side the existing python2 installation, however the default python
and pip commands will still use the python2 versions so you will need to use the
-3 suffix for pip.  Once python 3.6 is installed, the following command in a
terminal should suffice to complete the installation of tweetypy:
<pre><code>pip3 install tweetypy</code></pre>

<p>
This should install all the dependencies followed by tweetypy itself.
Preliminary testing on a mac resulted in a successful installation and minimal
test of a working tweetypy install.

<h3 id="install-win">Windows</h3>
<p>
Windows may come with python preinstalled, however it is likely an older
version of python.  You will need python 3.6 or later<a
class="note-link" href="#install-note-1">1</a>.  Python 3.6 will be installed
along-side any existing python2 installation, however the default python
and pip commands will still use the python2 versions so you will need to use the
-3 suffix for pip.  Once python 3.6 is installed, the following command in a
console / power-shell session should suffice to complete the installation of tweetypy:
<pre><code>pip3 install tweetypy</code></pre>

<p>
This should install all the dependencies followed by tweetypy itself.
Preliminary testing on windows 10 resulted in a successful installation and minimal
test of a working tweetypy install.

<h3 id="install-linux">Linux</h3>
<p>
A <code>PKGBUILD</code> is provided in the source repository for ArchLinux.
Other distros may use <code>python setup.py install</code> from the root of
the source repository.  If you are able to help package TweetyPy for your
distro, please feel free to open a feature request on the ticket tracker.
Alternatively, tweetypy can be installed directly from PyPi via pip.

<ol class="notes">
<li id="install-note-1">Install Python 3.6 or higher via your package / software
manager or from the <a href="https://www.python.org/">Python website</a>.</li>
<li id="install-note-2">Install Qt5 via your package / software
manager or from the <a href="http://doc.qt.io/qt-5/supported-platforms.html">Qt5 Website</a>.</li>
<li id="install-note-3">TweetyPy on PyPi (<a href="https://pypi.python.org/pypi/tweetypy">link</a>)</li>
<li id="install-note-4">Fossil VCS repository (<a href="https://code.jessemcclure.org/tweetypy/timeline">link</a>)</li>
................................................................................
<li id="install-note-6"><a href="https://www.scipy.org/">SciPy</a></li>
<li id="install-note-7"><a href="http://pyyaml.org/">PyYAML</a></li>
</ol>
</section>

<section id="config1">
<h2>Basic Configuration</h2>
<p>
Configuration files are provided with reasonable defaults that should work
&lsquo;out-of-the-box&rsquo; for many analyses.  Configuration files are written
in the YAML markup language<a class="note-link" href="#config1-note-1">1</a>
which for general use can be viewed as simple key-value pairs.  To customize
your configuration, copy config.yaml from the python site-packages directory
where it was installed to your user's configuration directory.

<p>
TweetyPy reads configuration from any <code>config.yaml</code> files in
order from the site-packages directory, platform-specific configuration
directories, and the present working directory with settings in each file
taking precedence over previous settings.  On Mac-OSX and Linux, the
configuration directories are <code>$XDG_CONFIG_HOME/tweetypy/</code> or
<code>$HOME/.config/tweetypy/</code> if XDG_CONFIG_HOME is not set and on Windows
<code>%APPDATA%\tweetypy\</code> or <code>%USERPROFILE%\AppData\tweetypy\</code>
if APPDATA is not set.

<p>
Details of the configurable settings will be coming soon.  For now, feel free
to review the configuration files as many settings may be self-explanatory.

<ol class="notes">
<li id="config1-note-1"><a
href="https://en.wikipedia.org/wiki/YAML">Wikipedia</a> has a good introduction
to YAML.</li>
</ol>
</section>

<section id="usage">
<h2>Step-By-Step Usage</h2>
<h3 id="usage-fex">Frequency Excursion</h3>
<p>
Version 1.0.0 has a minimal set of features for taking measures of frequency
excursion.  Below is an example sequence for analyzing a single song or set of
songs.  Future versions of TweetyPy will allow for numerous modifications to
this workflow including dynamically raising or lowering the threshold for
inclusion in the calculation, changing the shape and/or orientation of the
eraser tool, moving back through the sequence of songs to repeat measures,
cropping of songs, and entering notes to be saved with each song's data.
<ol>
<li>Start TweetyPy.  Currently a list of wave files can be passed on the command
line.  Dropping files on any desktop icon shoul also work but has not yet been
tested.</li>
<li>Add songs via the <code>File -&gt; Add Songs</code> menu or the <code>Add
Songs</code> toolbar button.  Future versions will also allow dropping files
into the main window.</li>
................................................................................
<li>After the last song has been scored, a save-file dialog will be presented.
Select a location for the output data file.</li>
</ol>
</section>

<section id="config2">
<h2>Advanced Configuration</h2>
<p>
Coming soon to upcoming releases.
</section>

<section id="scripting">
<h2>Scripting API</h2>
<p>Scripting ability will come with version 3.X releases.
</section>

<section id="roadmap">
<h2>Development Roadmap</h2>
<p>
Below is the tentative development roadmap.  Version 1.0 should be fully
functional for frequency excursion calculations.  Useful features for frequence
excursion use will continue to be added through version 1.3 at which point
frequency excursion should be feature-complete.  Any remaining version 1.X
releases will be for bug fixes or for code-refactoring in preparation of the
additional features to come with the 2.X releases.

<h3>Version 1.0 release (Ain't She Tweet)</h3>
<ol type="i">
<li>complete documentation (configuration)</li>
</ol>
<h3>Version 1.1 release (All a Bir-r-r-rd)</h3>
<ol type="i">