tag:blogger.com,1999:blog-150648782024-03-05T03:41:54.491-08:00Alexandre R.J. FrancoisEvery step is a first step if it’s a step in the right direction (Terry Pratchett)Alexhttp://www.blogger.com/profile/15069741200575263982noreply@blogger.comBlogger373125tag:blogger.com,1999:blog-15064878.post-34959332637806066082022-06-24T10:34:00.001-07:002022-06-24T10:34:56.766-07:00New Website and BlogAll moving to: <a href="https://www.alexandrefrancois.org">www.alexandrefrancois.org</a>Alexhttp://www.blogger.com/profile/15069741200575263982noreply@blogger.com0tag:blogger.com,1999:blog-15064878.post-5870444312777057642021-01-31T13:23:00.010-08:002021-01-31T14:06:16.123-08:00Thoughts on MuSA_RT 2.0<img border="0" data-original-height="600" data-original-width="800" height="600" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhdza-tjjnt9kKHKQ6WX8n9PbUG_vZYRyL_y1_kxxNokXa0ydfLn7dm0aKQJ1DmpQV39liJHYKsd5vVPqSRWUUQal0sTom5RJUqk_hCPs02pKn6LqIwiiBCgigKxo3bA2a46qr7TQ/s800/Rectangle.png" style="display: none;" width="800" />
<p style="text-align: left;"></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0yXhZZ57VUKJCa2NV48oszUEcqZ0x7-4fcB26t3m-AsiozjbIKxXCeTe5my1VPq-ny7VdW6RrR8p5OcmFS-6VgoRX0oYm56SjlsGh1RJu7ZYJzybbMW2H1TcWQXWdVQRuslRWOw/s800/Square.png" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" data-original-height="800" data-original-width="800" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi0yXhZZ57VUKJCa2NV48oszUEcqZ0x7-4fcB26t3m-AsiozjbIKxXCeTe5my1VPq-ny7VdW6RrR8p5OcmFS-6VgoRX0oYm56SjlsGh1RJu7ZYJzybbMW2H1TcWQXWdVQRuslRWOw/s320/Square.png" /></a></div>The objective for <a href="https://sites.google.com/site/alexandrerjfrancois/apps/musa_rt" target="_blank">MuSA_RT 2.0</a> as a holiday project was to use cutting edge software development tools and frameworks/packages to put MuSA.RT in the hands of anyone with a phone, tablet or computer (limited to the Apple ecosystem because of resource and time constraints). The version currently <a href="https://apps.apple.com/app/musa-rt/id506866959" target="_blank">in the Apple App Store</a>, although quite crude in many respects, achieves this goal, and will serve, time permitting, as a starting point for exciting explorations.<p></p><h4 style="text-align: left;">3D graphics and Augmented Reality</h4><p style="text-align: left;">Rendering 3D geometry that approximates the original MuSA_RT graphics was almost too easy, and as a result hasn't yet received the attention it deserves. There is much to explore and improve in terms of geometry and appearance (materials and lighting), and then efficiency.</p><p style="text-align: left;">Similarly, the Augmented Reality (AR) mode is but a bare proof of concept, which only sets the stage for exciting explorations. The first question is of course: what, if anything, can an AR experience of MuSA_RT bring to the performer and to listeners? For example, MuSA_RT has been used as an educational tool to visually support explanations of tonality, both in private and in concert settings. For concerts, the graphics were typically projected on a large screen. What if the model was on stage instead?</p><p></p><h4 style="text-align: left;">Audio processing for music analysis</h4><p style="text-align: left;">Efficient Fast Fourier Transform (FFT) computation available on virtually any device with a microphone, and the quasi-ubiquity of microphones in computing devices, from phones to tablets to laptops, made possible an implementation of MuSA_RT that does not require exotic or cumbersome equipment (such as MIDI devices) and can truly run out of anyone's pocket (provided they have a reasonably recent Apple device). This was an unexpected but in retrospect predictable bonus, which was not part of the initial goals for MuSA_RT 2.0.</p><p style="text-align: left;">Processing unrestricted audio signal from a phone's microphone to estimate tonal context allows some interesting experiments. In natural contexts, complete silence does not exist, and ambient sounds (light bulbs or refrigerator buzzing, rain falling, people talking, birds singing, dogs barking) all contribute to a tonal context, whether musical or not.</p><p style="text-align: left;">In a more focused musical context, the app passes the "Let It Be" test: start the app, put the device on the piano, play the chords - MuSA_RT gets it right (in the key of C major: C G Am F C G F C). MuSA_RT should work with most musical instruments and even with voice. It is worth noting here that the Spiral Array model only accounts for major and minor triads (it does not account for other chords such as 7th's, etc.) so even though the model tracks the tonal context generated by such chords, it does not recognise/name them.</p><p style="text-align: left;">Playing recorded music from a speaker usually yields disappointing results in terms of chord tracking, for a number of reasons. Of course the quality of the speakers and the microphone will have an impact. The spectrum for music in which drums are a feature tends to be heavily dominated by those drums (they are the loudest). The audio engineers' magic in modern professional music recording often results in a sound whose spectrum is quite different from that obtained directly from an acoustic musical instrument.</p><p style="text-align: left;">All this to lower expectations, but also to point to the fact that the FFT is probably not the best tool for this type of audio analysis (humans do hear chords over drums, even in modern recordings...). The FFT is undeniably a wonderful tool for audio signal processing, elegant and efficient, and because of that it is widely available and widely used... even when it is not the right tool. Unfortunately, for the moment the FFT remains the easiest (and only?) way to approximate human-like low-level audio signal analysis in an interactive system.</p>Alexhttp://www.blogger.com/profile/15069741200575263982noreply@blogger.com0tag:blogger.com,1999:blog-15064878.post-21327627768549970622021-01-07T12:46:00.004-08:002021-01-08T08:55:25.208-08:00MuSA_RT 2.0<img border="0" data-original-height="574" data-original-width="574" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLhyphenhyphen8RQTiNteRleqt6BvgiuIEBEXLD2AkZ0MO-6ctBa4uNz2OH3rr8yxsgVpMRh7VTbLaR6IoiWEBLCV_UtVb9vWNkjk7ZIvG-p4Pe1X9uG1Drkq_jwiryJHzJwsI_ODV5S8_YUA/w400-h400/Screenshot+2021-01-06+at+21.00.48.png" style="display: none;" width="400" />
<img border="0" data-original-height="1024" data-original-width="1024" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjp8RRwUyk5pYJtkhzEwf8VYeEkPWhCYTF_wsi8dlg5eiDChbmtPIwMNa1s_T76XGKdwE-T2MUGGjHX3wfK4Tyu5guLCs4QVGwfPiGuzNwozRLxE_FWBwQgc9-RS6rExWlQ2DBoWw/s320/Icon.png" style="display: none;" />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLhyphenhyphen8RQTiNteRleqt6BvgiuIEBEXLD2AkZ0MO-6ctBa4uNz2OH3rr8yxsgVpMRh7VTbLaR6IoiWEBLCV_UtVb9vWNkjk7ZIvG-p4Pe1X9uG1Drkq_jwiryJHzJwsI_ODV5S8_YUA/s574/Screenshot+2021-01-06+at+21.00.48.png" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" data-original-height="574" data-original-width="574" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLhyphenhyphen8RQTiNteRleqt6BvgiuIEBEXLD2AkZ0MO-6ctBa4uNz2OH3rr8yxsgVpMRh7VTbLaR6IoiWEBLCV_UtVb9vWNkjk7ZIvG-p4Pe1X9uG1Drkq_jwiryJHzJwsI_ODV5S8_YUA/w400-h400/Screenshot+2021-01-06+at+21.00.48.png" width="400" /></a>
</div>
<div><p style="text-align: left;">The <a href="http://musa-rt.blogspot.com/" target="_blank">Music on the Spiral Array . Real Time (MuSA.RT)</a> project started almost 20 years ago. My first collaboration with <a href="https://en.wikipedia.org/wiki/Elaine_Chew" target="_blank">Elaine Chew</a>, MuSA_RT applies music analysis algorithms rooted in her <a href="https://en.wikipedia.org/wiki/Spiral_array_model" target="_blank">Spiral Array model</a> of tonality, which also provides the 3D geometry for the interactive visualization space.</p><p></p><p>The MuSA.RT project lasted many years, produced numerous publications, and various versions of the system featured in lectures and performances all around the world.</p><p>The software produced for this project was a constantly evolving research prototype (not something to put in the hands of a general public user), and subject to contemporary technical limitations. A Mac App released in 2012, intended as companion software for the book <a href="https://www.springer.com/gp/book/9781461494744" target="_blank"><i>Mathematical and Computational Modeling of Tonality: Theory and Applications</i>, Elaine Chew (2014)</a>, made the system accessible to general users.</p><p><a href="https://sites.google.com/site/alexandrerjfrancois/apps/musa_rt" target="_blank">MuSA_RT 2.0</a> is a universal iOS/iPadOS/macOS app that analyses the audio signal from a microphone, and offers an experimental Augmented Reality experience on devices that support it, <a href="https://apps.apple.com/app/musa-rt/id506866959" target="_blank">available for download on the Apple Store</a> for your favorite device (and it's free).</p><p></p></div>
<div style="text-align: center;"><iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="" frameborder="0" height="315" src="https://www.youtube.com/embed/hZ2kJdeRo_Q" width="560"></iframe></div>Alexhttp://www.blogger.com/profile/15069741200575263982noreply@blogger.com0tag:blogger.com,1999:blog-15064878.post-64838771647486400802020-09-20T07:44:00.004-07:002021-01-07T03:01:54.590-08:00Priorities App 2.0<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigwKJxAIHD1U_0H1I39-n27zI5MSgnnEAOQmdXPn0PzVTg574L3BPjB-PxlI_8-ThlofoLyVa6IkaPnqDl0-ZfzNAuMCYnpGT36GpjkTNh_Ld-tYPVNPjCmKLtAQAuqfXmQoT7Yg/" style="display: none;" />
<br />
<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRjzXscaLWYh9p9EXu-mFFR8gzo475I-fyujlqqaJmHnWxyYSPNl7BQ5HYOVj5CbO8MlHx3CVtdWmYEwLOedK8uoHEssCRcVowL9g0n7EvXFL_INKsBjZdLr5Rhs927Q-4Ns4BCQ/s1600/Priorities.png" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><br class="Apple-interchange-newline" /><img border="0" data-original-height="360" data-original-width="360" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRjzXscaLWYh9p9EXu-mFFR8gzo475I-fyujlqqaJmHnWxyYSPNl7BQ5HYOVj5CbO8MlHx3CVtdWmYEwLOedK8uoHEssCRcVowL9g0n7EvXFL_INKsBjZdLr5Rhs927Q-4Ns4BCQ/s200/Priorities.png" width="200" /></a></div><h2>Simply manage lists of prioritized items</h2>The second iteration of the Priorities App pushes further the minimalistic UX design and adds a new feature: lists of lists. I presented the motivation behind the app and the design of the first version in a <a href="https://alexandrefrancois.blogspot.com/2019/08/priorities-app-simply-manage-list-of.html" target="_blank">previous post</a>. Priorities App 2.0 is <a href="https://apps.apple.com/us/app/priorities-sorted/id1469567351?ls=1" target="_blank">available for download on the App Store</a>.</div><div class="separator" style="clear: both; text-align: left;">The home screen looks exactly the same as in the first iteration. The model is completely backward compatible, and users who do not need the lists of lists feature will not even be aware of it. This was a strong design requirement for 2.0.</div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-YD7h2-W3yAmrQ3Qpv7IOOv3OThmzHAbGHB7CMtSuia0CE5hLrRFCAkeQWydcTIjspTLsCkaBqjT5EBvNYrOYiLHv55wzUfShfHz7YZvYkQg3QPjwAnxIJuc10uv_d4EqnyyVxQ/" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2208" data-original-width="1242" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-YD7h2-W3yAmrQ3Qpv7IOOv3OThmzHAbGHB7CMtSuia0CE5hLrRFCAkeQWydcTIjspTLsCkaBqjT5EBvNYrOYiLHv55wzUfShfHz7YZvYkQg3QPjwAnxIJuc10uv_d4EqnyyVxQ/s320/Simulator+Screen+Shot+-+iPhone+8+Plus+-+2019-11-16+at+10.09.06.png" /></a></div><div class="separator" style="clear: both; text-align: left;"><br /></div>The new feature is the ability to define inclusion relationships between any one item and any number of other existing items.<div><br /></div><div style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigwKJxAIHD1U_0H1I39-n27zI5MSgnnEAOQmdXPn0PzVTg574L3BPjB-PxlI_8-ThlofoLyVa6IkaPnqDl0-ZfzNAuMCYnpGT36GpjkTNh_Ld-tYPVNPjCmKLtAQAuqfXmQoT7Yg/" style="text-align: center;"><img border="0" data-original-height="2208" data-original-width="1242" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigwKJxAIHD1U_0H1I39-n27zI5MSgnnEAOQmdXPn0PzVTg574L3BPjB-PxlI_8-ThlofoLyVa6IkaPnqDl0-ZfzNAuMCYnpGT36GpjkTNh_Ld-tYPVNPjCmKLtAQAuqfXmQoT7Yg/w180-h320/Simulator+Screen+Shot+-+iPhone+8+Plus+-+2019-11-16+at+10.09.25.png" width="180" /></a></div><div><div><br />From a user perspective, this mechanism provides a way to organize items hierarchically.</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWLo-5xSRieL5iKoO19uPzPnle5RFAh0nU1Q1PXhTWpqKliGukXz5TojUI23skq7MIV1v3kFAZj0qjWOm8boodtJWqucAL8Xd5dK-Kdy5_UrPhz2J8WffZjLrr_jkpj96UatkAEg/s2048/Simulator+Screen+Shot+-+iPhone+8+Plus+-+2020-08-09+at+11.34.16.png" style="display: inline; margin-left: 1em; margin-right: 1em; padding: 1em 0px; text-align: center;"><img border="0" data-original-height="2048" data-original-width="1152" height="328" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWLo-5xSRieL5iKoO19uPzPnle5RFAh0nU1Q1PXhTWpqKliGukXz5TojUI23skq7MIV1v3kFAZj0qjWOm8boodtJWqucAL8Xd5dK-Kdy5_UrPhz2J8WffZjLrr_jkpj96UatkAEg/w184-h328/Simulator+Screen+Shot+-+iPhone+8+Plus+-+2020-08-09+at+11.34.16.png" width="184" /></a></div><div></div><div><div><br /></div><div>Technically, it only amounts to a display/navigation convenience, as the underlying model is still a single master list of items. In practice an item can be a "subitem" of any existing item. This also means that the same item can appear in multiple other items.<h4 style="clear: both; text-align: left;">Search, add remove, create</h4>While there is still a "create" button displayed when searching for an item from the root list, this is only to preserve the user flow from the last version. The new streamlined model for adding items ties into searching:<div>When in search mode:</div><div><ul style="text-align: left;"><li>the first section lists all the matching sub-items in alphabetical order,</li><li>the next section lists all the existing matching items that are not currently subitems; each item has an action button to be added as sub-item,</li><li>the last section offers a "Create and Add Item" button automatically set to the search string</li></ul></div><div>The suggested flow is for the user to look for the item they want to add, and create it if it does not exist yet. The creation is done in context, as the item is automatically registered as a sub-item of the list in which the user searched for it.</div><div><br /></div><div class="separator" style="clear: both; text-align: left;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhApCVmcZkIYbbxr0MrAsIqpvhQT2sWX-Ms_yOKeSIiCBCnGUMjyEGn5eUTgsneQ6vtU0yxS8JPKEQIWTYXqH5WQMt9FFDKz8rZoKC7EkISu01k7ASxXsslulEoZyxvLELfLc3jMw/s2048/Simulator+Screen+Shot+-+iPhone+8+Plus+-+2020-08-09+at+18.17.08.png" style="clear: left; display: inline; float: left; margin-bottom: 1em; margin-right: 1em; padding: 1em 0px; text-align: left;"></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihHAmR5DYwXoYYDSW3jvhNL2weAahFZZvyNwZZcLut1L0SOr3tCO8yXlUP4QliAm8gEjZ4VY6VUQeJa0ySRKP2ZzlQoXXKqo1kn3PfeN-IOdmYtvw3UzAP-P70U9nohee3htAFwg/s2048/Simulator+Screen+Shot+-+iPhone+8+Plus+-+2020-08-09+at+18.16.23.png" style="clear: left; display: inline; margin-bottom: 1em; margin-right: 1em; padding: 1em 0px;"><img border="0" data-original-height="2048" data-original-width="1152" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihHAmR5DYwXoYYDSW3jvhNL2weAahFZZvyNwZZcLut1L0SOr3tCO8yXlUP4QliAm8gEjZ4VY6VUQeJa0ySRKP2ZzlQoXXKqo1kn3PfeN-IOdmYtvw3UzAP-P70U9nohee3htAFwg/w180-h320/Simulator+Screen+Shot+-+iPhone+8+Plus+-+2020-08-09+at+18.16.23.png" width="180" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhX1p0AC40eyHjX8tK8U9sdQWWhaJzX5EVYnjml8IkOWAhqY20f_wiPmlZxsO9IeMK9OvWJWkr7LeFXjorJgZzhLWzYpFSuXqFMNAgs28XSmNVfKmX2gKxbg7dlE996eZfrRVyiSw/s2048/Simulator+Screen+Shot+-+iPhone+8+Plus+-+2020-08-09+at+18.16.42.png" style="clear: left; display: inline; margin-bottom: 1em; margin-right: 1em; padding: 1em 0px;"><img border="0" data-original-height="2048" data-original-width="1152" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhX1p0AC40eyHjX8tK8U9sdQWWhaJzX5EVYnjml8IkOWAhqY20f_wiPmlZxsO9IeMK9OvWJWkr7LeFXjorJgZzhLWzYpFSuXqFMNAgs28XSmNVfKmX2gKxbg7dlE996eZfrRVyiSw/w179-h320/Simulator+Screen+Shot+-+iPhone+8+Plus+-+2020-08-09+at+18.16.42.png" width="179" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3wmxeiYckF_1gKPrmX2xCUzg7UN6AbxBGqN6pGJWYBi_eWxzL9kcKPJKedHUB2fZTOWZhd3o_5erh-YYea_2DJj69J_6-zznl3oVOheT4W2_PjdgcmTwsxUHmIyNpJ0v_xZd0dg/s2048/Simulator+Screen+Shot+-+iPhone+8+Plus+-+2020-08-09+at+18.16.48.png" style="clear: left; display: inline; margin-bottom: 1em; margin-right: 1em; padding: 1em 0px;"><img border="0" data-original-height="2048" data-original-width="1152" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3wmxeiYckF_1gKPrmX2xCUzg7UN6AbxBGqN6pGJWYBi_eWxzL9kcKPJKedHUB2fZTOWZhd3o_5erh-YYea_2DJj69J_6-zznl3oVOheT4W2_PjdgcmTwsxUHmIyNpJ0v_xZd0dg/w180-h320/Simulator+Screen+Shot+-+iPhone+8+Plus+-+2020-08-09+at+18.16.48.png" width="180" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhApCVmcZkIYbbxr0MrAsIqpvhQT2sWX-Ms_yOKeSIiCBCnGUMjyEGn5eUTgsneQ6vtU0yxS8JPKEQIWTYXqH5WQMt9FFDKz8rZoKC7EkISu01k7ASxXsslulEoZyxvLELfLc3jMw/s2048/Simulator+Screen+Shot+-+iPhone+8+Plus+-+2020-08-09+at+18.17.08.png" style="clear: left; display: inline; float: left; margin-bottom: 1em; margin-right: 1em; padding: 1em 0px; text-align: left;"></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7X14NTn0T2W3GpF6ep_p0LIU1ccoHeWdaliVGGhwT7RZVBFgzY9gh9MjD-GDH8kKnpMPe4kifk2Pkt2xczXWuTy1BnRWbZWJb1vG3aRvOlolYX1oxAC6sCmvfViTGBZ7SFBOXeQ/s2048/Simulator+Screen+Shot+-+iPhone+8+Plus+-+2020-08-09+at+18.17.01.png" style="clear: left; display: inline; margin-bottom: 1em; margin-right: 1em; padding: 1em 0px;"><img border="0" data-original-height="2048" data-original-width="1152" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7X14NTn0T2W3GpF6ep_p0LIU1ccoHeWdaliVGGhwT7RZVBFgzY9gh9MjD-GDH8kKnpMPe4kifk2Pkt2xczXWuTy1BnRWbZWJb1vG3aRvOlolYX1oxAC6sCmvfViTGBZ7SFBOXeQ/w180-h320/Simulator+Screen+Shot+-+iPhone+8+Plus+-+2020-08-09+at+18.17.01.png" width="180" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhApCVmcZkIYbbxr0MrAsIqpvhQT2sWX-Ms_yOKeSIiCBCnGUMjyEGn5eUTgsneQ6vtU0yxS8JPKEQIWTYXqH5WQMt9FFDKz8rZoKC7EkISu01k7ASxXsslulEoZyxvLELfLc3jMw/s2048/Simulator+Screen+Shot+-+iPhone+8+Plus+-+2020-08-09+at+18.17.08.png" style="clear: left; display: inline !important; margin-bottom: 1em; margin-right: 1em; padding: 1em 0px;"><img border="0" data-original-height="2048" data-original-width="1152" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhApCVmcZkIYbbxr0MrAsIqpvhQT2sWX-Ms_yOKeSIiCBCnGUMjyEGn5eUTgsneQ6vtU0yxS8JPKEQIWTYXqH5WQMt9FFDKz8rZoKC7EkISu01k7ASxXsslulEoZyxvLELfLc3jMw/w180-h320/Simulator+Screen+Shot+-+iPhone+8+Plus+-+2020-08-09+at+18.17.08.png" width="180" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLqVdjLGUENAsKV2OpUBqLZjUnqFmeZius1McTfVAPvw8rhH2J8sxdjxQHVHIaIkhRfy7ivf10UpDK0NS0h0ecb-87ez4ZAM2KWRKlK-7QQupPkXmg3iHfLI5YSb8ABMmnfMPU4Q/s2048/Simulator+Screen+Shot+-+iPhone+8+Plus+-+2020-08-09+at+18.17.27.png" style="clear: left; display: inline; margin-bottom: 1em; margin-right: 1em; padding: 1em 0px;"><img border="0" data-original-height="2048" data-original-width="1152" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLqVdjLGUENAsKV2OpUBqLZjUnqFmeZius1McTfVAPvw8rhH2J8sxdjxQHVHIaIkhRfy7ivf10UpDK0NS0h0ecb-87ez4ZAM2KWRKlK-7QQupPkXmg3iHfLI5YSb8ABMmnfMPU4Q/w180-h320/Simulator+Screen+Shot+-+iPhone+8+Plus+-+2020-08-09+at+18.17.27.png" width="180" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7X14NTn0T2W3GpF6ep_p0LIU1ccoHeWdaliVGGhwT7RZVBFgzY9gh9MjD-GDH8kKnpMPe4kifk2Pkt2xczXWuTy1BnRWbZWJb1vG3aRvOlolYX1oxAC6sCmvfViTGBZ7SFBOXeQ/s2048/Simulator+Screen+Shot+-+iPhone+8+Plus+-+2020-08-09+at+18.17.01.png" style="clear: left; display: inline; float: left; margin-bottom: 1em; margin-right: 1em; padding: 1em 0px; text-align: left;"><br /><br /></a><br /><br /></div></div><div><div><br /></div><div><h4 style="clear: both;">Edit</h4></div><div>The item view offers an edit mode for the user to update the item's name and description, and to manage the sub-items:</div><div style="text-align: left;"><ul style="text-align: left;"><li>the first section lists all current sub-items with an action to remove as sub-item of the current item (this does not delete the item from the general pool or from other items where it is currently a sub-item),</li><li>the second section lists all existing items that are not currently sub-items, with an action to add as sub-item,</li><li>in search mode, the first two sections only display matching items in the relevant category, and the last section offers a "Create and Add Item" button automatically set to the search string</li></ul></div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidS2fgePSMYGdmcK6DhOVZFPKfnzgB4BVOYSN6ufn-OnFQofpUu0kWWgDOPEBqjUSb55JSCQM7tMWoI8bRmtD26ASVHkEn114wmg9k2XwIhEIWcabWOzkx9tFwlE0NjtwckbDDZw/" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2208" data-original-width="1242" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidS2fgePSMYGdmcK6DhOVZFPKfnzgB4BVOYSN6ufn-OnFQofpUu0kWWgDOPEBqjUSb55JSCQM7tMWoI8bRmtD26ASVHkEn114wmg9k2XwIhEIWcabWOzkx9tFwlE0NjtwckbDDZw/s320/Simulator+Screen+Shot+-+iPhone+8+Plus+-+2019-11-16+at+10.09.30.png" /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6v7VRSf2vkr_XMMwvqagTLJ5-U2oi5JnJQZe5rFXmMxIpCnjiDoX5a6mDWZaQQnBFMW3NXrgpFl3P8XwrKzc5k1SXuYJyIzYvreml8BqBMcUBJ4koG7asCui4T1HD3_e9YvDd_A/" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2208" data-original-width="1242" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6v7VRSf2vkr_XMMwvqagTLJ5-U2oi5JnJQZe5rFXmMxIpCnjiDoX5a6mDWZaQQnBFMW3NXrgpFl3P8XwrKzc5k1SXuYJyIzYvreml8BqBMcUBJ4koG7asCui4T1HD3_e9YvDd_A/s320/Simulator+Screen+Shot+-+iPhone+8+Plus+-+2019-11-16+at+10.09.43.png" /></a></div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">Adding or removing an item from a list of sub-items does not destroy the item itself - this is done by tapping the bin icon in the top left of the item edit screen, and requires confirmation as this is a destructive operation. A deleted item will be removed from all sub-item lists in which it appears.</div><h4 style="clear: both; text-align: left;">Simplify!</h4><div>Updating the priority of an item is best done in place while browsing the list, by swiping left or right.</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijsTe7Y2sL_KwDOxGZwoSw6Jtjh29iWZkb9p8L65aQCgRr_9qwSmxnwaAScUcXnTIGcdLC6xNvexFF87-LgbGjwRytgjHygQpModyW2P2bf_TyIDE8S2ZZ2tgUHdMahPSmKAfk3A/" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2208" data-original-width="1242" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijsTe7Y2sL_KwDOxGZwoSw6Jtjh29iWZkb9p8L65aQCgRr_9qwSmxnwaAScUcXnTIGcdLC6xNvexFF87-LgbGjwRytgjHygQpModyW2P2bf_TyIDE8S2ZZ2tgUHdMahPSmKAfk3A/s320/Simulator+Screen+Shot+-+iPhone+8+Plus+-+2019-11-16+at+10.16.12.png" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: justify;"><span style="text-align: left;">The pretty(?) but redundant and space-filling custom control featured in the first version's item view makes way for the sub-item list in this new version.</span></div><h4 style="clear: both; text-align: left;">Summary</h4><div>This version introduces a new feature, some simplification. Since the app design relies so much on finding and using the search, the main question remains whether those features are easily discoverable by a first time user. As for the next steps, SwiftUI enters the scene and everything is up for rethinking.</div></div></div><div class="separator" style="clear: both;"><br /></div><br /><div class="separator" style="clear: both;"><br /></div><br /><div class="separator" style="clear: both;"><br /></div><br /><div class="separator" style="clear: both;"><br /></div><br /><div class="separator" style="clear: both;"><br /></div><br /><div class="separator" style="clear: both;"><br /></div><br /></div></div>Alexhttp://www.blogger.com/profile/15069741200575263982noreply@blogger.com0tag:blogger.com,1999:blog-15064878.post-49901139655352990132019-08-29T13:03:00.002-07:002020-08-09T03:08:49.518-07:00Priorities App<img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg70tb8GB_-jL6xiOSsK01vhUt08AQ4Y_91GJ63iKTNPIHPpZ95rBLrMUfQ2NTtCxEBGzO8ChMhUQa46NVJhXHETiQ4VbNNMrMLqAJCgOVMOXjbf4cbYIHwFPy67wt-s16nfILYcA/s1600/View.png" style="display: none;" />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRjzXscaLWYh9p9EXu-mFFR8gzo475I-fyujlqqaJmHnWxyYSPNl7BQ5HYOVj5CbO8MlHx3CVtdWmYEwLOedK8uoHEssCRcVowL9g0n7EvXFL_INKsBjZdLr5Rhs927Q-4Ns4BCQ/s1600/Priorities.png" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="360" data-original-width="360" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRjzXscaLWYh9p9EXu-mFFR8gzo475I-fyujlqqaJmHnWxyYSPNl7BQ5HYOVj5CbO8MlHx3CVtdWmYEwLOedK8uoHEssCRcVowL9g0n7EvXFL_INKsBjZdLr5Rhs927Q-4Ns4BCQ/s200/Priorities.png" width="200" /></a></div>
<h2>Simply manage a list of prioritized items</h2>
With a little bit of free time on my hands, I decided to get up to date on how to make an iOS app from scratch in Swift and publish it in the App Store (as a paying App, which turned out to be an interesting experience in itself). This blog post is about the motivation behind the app and the design of the first version (well, technically version 1.2 - <a href="https://apps.apple.com/us/app/priorities-sorted/id1469567351?ls=1" target="_blank">Download on the App Store!</a>).<br />
<br />
<h4>
A list of prioritized items?</h4>
I have been thinking for a long time about a simple app to facilitate my grocery/essentials shopping: I always buy the same basic items (milk, bread, cheese, tomatoes, chicken, yogurt, etc.), all I need to know when I am shopping is which items I will need again soon (or urgently). When I realize I will need something soon, I need a simple way to find the item (if already in the list) and put it back in the list of things to get. If it's a new item, I should be able to add it easily, and not have to add it again in the future.<br />
Until now I have been using Apple's Reminders app but I cannot automatically prioritize items and I cannot search, so it is not well suited for this approach. There is very likely some list app out there that can do what I need, but in this case I wanted to design my own.<br />
<h4>
Priorities</h4>
The app defines items characterized by a name (string) and optional details (other string), and a priority level. There are 4 priority levels: low, medium, high and critical. The prioritized list only shows items that are at priority critical, high and medium, sorted by decreasing level of priority (and alphabetically by name in each priority level). For my shopping I think of medium as "get some if on sale," high as "we're running out soon," and critical as "we needed some yesterday."<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsX3tTMTcvNKz78TTgEgkGfsitEJK76GbAacB216ZRwFmxU160ocRIiHRco0M3wcpPR2Vc_YCBv-nVR6B-FX6dlx78vZWqmy1L4LehC1kep0qIgCCzAl1L3xaLl3BQarpFmxYXGA/s1600/Simulator+Screen+Shot+-+iPhone+8+Plus+-+2019-08-28+at+17.38.13.png" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="1600" data-original-width="900" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhsX3tTMTcvNKz78TTgEgkGfsitEJK76GbAacB216ZRwFmxU160ocRIiHRco0M3wcpPR2Vc_YCBv-nVR6B-FX6dlx78vZWqmy1L4LehC1kep0qIgCCzAl1L3xaLl3BQarpFmxYXGA/s320/Simulator+Screen+Shot+-+iPhone+8+Plus+-+2019-08-28+at+17.38.13.png" width="180" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Prioritized list</td></tr>
</tbody></table>
<h4>
Lower Priority</h4>
When shopping, I look at the prioritized list. When I get an item on the list, I swipe left to lower its priority back to low (which removes it from the list).<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhteS0v0p0qrjAVw0FbIa8HdGXKhIMeYfNJ92NKMk-6cnI4jLGp04MBFX1EmenhkFQzsK05YIc6zDX18EGbyrxrd1a5nOH9McIyhva2SCVJKH21mlyxBYJ11zyzkewvIslhIpBP8A/s1600/Simulator+Screen+Shot+-+iPhone+8+Plus+-+2019-08-28+at+17.38.50.png" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="1600" data-original-width="900" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhteS0v0p0qrjAVw0FbIa8HdGXKhIMeYfNJ92NKMk-6cnI4jLGp04MBFX1EmenhkFQzsK05YIc6zDX18EGbyrxrd1a5nOH9McIyhva2SCVJKH21mlyxBYJ11zyzkewvIslhIpBP8A/s320/Simulator+Screen+Shot+-+iPhone+8+Plus+-+2019-08-28+at+17.38.50.png" width="180" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Change priority with a swipe</td></tr>
</tbody></table>
<h4>
Search and Create Items</h4>
When I need more of something, I search the list of existing items (pull down to reveal the Search bar and tap in it). I can see the list of all items sorted alphabetically.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjC_oO6jE_GM0S0BqvvO72Kw1yshYBPRCyNOLXKd4aJRGUe1L8z7LUbu6gCqhVIaUIsd9_a2eN-Ud0VXwS4nEE2ZCejJf-YJDff6jgl0stNr5e5VVhYDjVGyA6EHqtI9X-j2Il_KA/s1600/Simulator+Screen+Shot+-+iPhone+8+Plus+-+2019-08-28+at+17.38.59.png" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="1600" data-original-width="900" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjC_oO6jE_GM0S0BqvvO72Kw1yshYBPRCyNOLXKd4aJRGUe1L8z7LUbu6gCqhVIaUIsd9_a2eN-Ud0VXwS4nEE2ZCejJf-YJDff6jgl0stNr5e5VVhYDjVGyA6EHqtI9X-j2Il_KA/s320/Simulator+Screen+Shot+-+iPhone+8+Plus+-+2019-08-28+at+17.38.59.png" width="180" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Search existing items or browse alphabetically</td></tr>
</tbody></table>
<br />
If I type something in the search, the list gets restricted to items whose name contains the search string. I am also presented with a "create item" button that uses the search string as the initial name for the new item. If the item I am looking for already exists, I can simply swipe right and select a higher priority level for the item. I can also adjust the priority by tapping on the item and changing the priority in the item view.<br />
<br />
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHVuljXR_E7hcRr-Fa2xL9bm9Cktsz3AsoJCq8jcWUQdAQaWmEVFz758ii2fMyB8lruUmnVsPr4xOcDGQxnJS4_cdVunUactM46_lTMhp1RzlkGuCWcyz8O0anwzfvq868ebVoQw/s1600/Simulator+Screen+Shot+-+iPhone+8+Plus+-+2019-08-28+at+17.39.04.png" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="1600" data-original-width="900" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHVuljXR_E7hcRr-Fa2xL9bm9Cktsz3AsoJCq8jcWUQdAQaWmEVFz758ii2fMyB8lruUmnVsPr4xOcDGQxnJS4_cdVunUactM46_lTMhp1RzlkGuCWcyz8O0anwzfvq868ebVoQw/s320/Simulator+Screen+Shot+-+iPhone+8+Plus+-+2019-08-28+at+17.39.04.png" width="180" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Create or edit an item</td></tr>
</tbody></table>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
If I tap the button to create a new item, I get to the item view where I can edit the name, details and set the item's priority. The item view also offers the option to delete the item entirely but that would be a rare occurrence for me since I don't want to have to create it again next time I need it.<br />
<h4>
And that's it!</h4>
<div>
These are the basic operations - all that's needed to capture the requirements stated at the beginning.</div>
<div>
<br /></div>
<div>
Priorities is <a href="https://apps.apple.com/us/app/priorities-sorted/id1469567351?ls=1" target="_blank">available for download on the app store</a>.</div>
<div>
App web page: <a href="https://sites.google.com/site/alexandrerjfrancois/apps/priorities" target="_blank">https://sites.google.com/site/alexandrerjfrancois/apps/priorities</a></div>
<br />
<br />Alexhttp://www.blogger.com/profile/15069741200575263982noreply@blogger.com0tag:blogger.com,1999:blog-15064878.post-49617352108219772052019-07-30T00:56:00.000-07:002019-08-29T13:20:50.917-07:00Every step is a first step if it's a step in the right direction.<br />
- Terry Pratchett, <i>I Shall Wear Midnight</i>Alexhttp://www.blogger.com/profile/15069741200575263982noreply@blogger.com0tag:blogger.com,1999:blog-15064878.post-57148527192089672252019-07-11T06:54:00.000-07:002019-07-11T07:55:02.201-07:00<h2>
Rabbit</h2>
The Rabbit adventure came to an end - read about it <a href="https://www.linkedin.com/pulse/hitting-wall-amanda-richardson/" target="_blank">here</a> and <a href="https://www.linkedin.com/pulse/rabbit-rip-michael-temkin/" target="_blank">here</a>. It's been an incredible journey and I will be forever grateful to have been part of it. I got to work with extremely talented people on really challenging problems, and yes, it did (and does) feel like a family. Thank you Rabbits!Alexhttp://www.blogger.com/profile/15069741200575263982noreply@blogger.com0tag:blogger.com,1999:blog-15064878.post-45641516216922726672014-08-19T08:57:00.000-07:002014-08-19T08:57:30.949-07:00<div style="text-align: center;">
Where have I been these past 2 years? Helping create this...</div>
<h3 style="text-align: center;">
<b><span style="font-size: x-large;"> <a href="http://rabb.it/" target="_blank">rabb.it</a></span></b></h3>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="http://photos.prnewswire.com/prnvar/20140815/136671" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img alt="Rabbit video chat" border="0" src="http://photos.prnewswire.com/prnvar/20140815/136671" title="Rabbit Video Chat" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">One-click togetherness - the world just got flatter.</td></tr>
</tbody></table>
Alexhttp://www.blogger.com/profile/15069741200575263982noreply@blogger.com0tag:blogger.com,1999:blog-15064878.post-76615764526048572632012-07-04T05:13:00.000-07:002019-07-11T06:46:03.522-07:00MuSA_RT available for download in the App Store<h2 style="text-align: center;">
<div class="separator" style="clear: both; text-align: center;">
<a href="http://itunes.apple.com/us/app/musa-rt/id506866959?mt=12" target="_blank"><img alt=" Check it out!" border="0" data-original-height="800" data-original-width="800" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjj5Xbi5YPvsRwn8pZKHJZ6O7q7f8TZ4rDqxZJqhkgyZZr6RMcMniGPVL8GKTdQ8weAs9xyppdaK5j-jPGElEutOa5-P_g1SaaVQiSntK-4tqLaJZRC2I6FfdTJFGYT7aPp1_Qulg/s200/spiral_array_space_800x800.png" width="200" /></a></div>
<a href="http://itunes.apple.com/us/app/musa-rt/id506866959?mt=12" target="_blank">Check it out!</a></h2>
Alexhttp://www.blogger.com/profile/15069741200575263982noreply@blogger.com0tag:blogger.com,1999:blog-15064878.post-42109484537919393972012-01-12T07:07:00.000-08:002012-01-12T07:07:56.751-08:00So True..."People understand static relationships better than dynamic relationships because the latter requires their understanding to change constantly."<br />
<br />
Andrew Koenig, <a href="http://drdobbs.com/cpp/232300573" target="_blank">Destructors Considered Harmful</a> (Dr. Dobbs, 8 January 2012)Alexhttp://www.blogger.com/profile/15069741200575263982noreply@blogger.com0tag:blogger.com,1999:blog-15064878.post-39232641706779809222011-11-09T11:37:00.000-08:002011-11-09T11:39:08.597-08:00Run First, Think Later"The matter of time is especially worth raising in a biological context, since for organisms making a living in a world 'red in tooth and claw,' timing is of the essence. The organism's nervous system cannot afford the luxury of taking several days or even several minutes to decide whether and where to flee from a predator. [...] Biologically speaking, a quick and dirty solution is better than a slow and perfect one." (p.50)<br />
<br />
<div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;">
Patricia s. Churchland, Christof Koch, Terence J. Sejnowski, "What Is Computational Neuroscience," in Computational Neuroscience pp. 46-55. Edited by Eric L. Schwartz. 1993. MIT Press.</div>Alexhttp://www.blogger.com/profile/15069741200575263982noreply@blogger.com0London, UK51.5001524 -0.126236251.1838419 -0.7579502 51.8164629 0.5054778tag:blogger.com,1999:blog-15064878.post-80213954870477792892011-10-27T16:20:00.000-07:002011-10-27T08:19:37.609-07:00Individuals and Interactions over Processes and Tools"[...] Through this work we have come to value:<br />
Individuals and interactions over processes and tools [...]"<br />
<br />
<a href="http://agilemanifesto.org/">Manifesto for Agile Software Development</a>Alexhttp://www.blogger.com/profile/15069741200575263982noreply@blogger.com0tag:blogger.com,1999:blog-15064878.post-14853879631304576852011-10-17T03:04:00.000-07:002011-10-17T03:06:30.858-07:00Time in Computers and Neural Networks"[...] the timing of computers and networks is rigidly coupled to regular cycles of an underlying clock; the wide variation in impulse timings in neuronal systems, often with a strong apparently random component, contrasts markedly with the temporal regimen in these computational devices." (p. 42)<div><br /><div>Donald H. Perkel, "Computational Neuroscience: Scope and Structure," in <i>Computational Neuroscience,</i> pp.38-45. Edited by Eric L. Schwartz. 1993. MIT Press.</div></div>Alexhttp://www.blogger.com/profile/15069741200575263982noreply@blogger.com0tag:blogger.com,1999:blog-15064878.post-16113839102307450912011-07-19T19:41:00.000-07:002011-07-19T19:50:36.847-07:00Ethics of Science"I took a required class about the ethics of science as an undergrad at UCLA, and it was all about who gets the funding."<br /><br /><a href="http://www.wired.com/magazine/2011/07/ff_qa_franco/">James Franco, Wired Aug. 2011: Ethics, Shmetics, p.118</a>Alexhttp://www.blogger.com/profile/15069741200575263982noreply@blogger.com0tag:blogger.com,1999:blog-15064878.post-64966078212809836362010-09-28T09:57:00.000-07:002010-09-28T10:02:07.615-07:00Science and Perception"It is very easy to confound what science says about the characteristics of reality and our perception of it."<br /><br />Peter Gärdenfors, Conceptual Spaces, 2000, p.9.Alexhttp://www.blogger.com/profile/15069741200575263982noreply@blogger.com0tag:blogger.com,1999:blog-15064878.post-64833381417615804212010-02-25T14:45:00.000-08:002010-02-25T14:50:01.539-08:00Emily Howell“The question isn’t whether computers have a soul, but whether humans have a soul.”<br /><br />David Cope <a href="http://www.miller-mccune.com/culture-society/triumph-of-the-cyborg-composer-8507/">discussing a computer's ability to compose music</a>.Alexhttp://www.blogger.com/profile/15069741200575263982noreply@blogger.com0tag:blogger.com,1999:blog-15064878.post-49992365518787438262009-11-20T18:00:00.000-08:002009-12-02T00:21:11.205-08:00My First PreziToday I gave my first <a href="http://www.prezi.com/">Prezi.com</a> presentation, at the Workshop for Young French Scientists organized at USC by the<a href="http://www.france-science.org/"> Office for Science and Technology of the French Embassy in the US</a>. I was introduced to this new presentation tool at the recent ACM Creativity & Cognition Conference. The zooming presentation model seems very promising, although I still have a lot to learn to fully utilize the medium. The non-powerpointness of the presentation was refreshing and, I believe, appreciated.<br />Check out the presentation at: <a href="http://prezi.com/9gk_dql_-ife/">prezi.com/9gk_dql_-ife</a>Alexhttp://www.blogger.com/profile/15069741200575263982noreply@blogger.com0tag:blogger.com,1999:blog-15064878.post-82069035478936716942009-11-11T21:57:00.000-08:002009-11-11T22:02:50.352-08:00Bien Faire et Laisser Braire<span style="font-family:georgia, bookman old style, palatino linotype, book antiqua, palatino, trebuchet ms, helvetica, garamond, sans-serif, arial, verdana, avante garde, century gothic, comic sans ms, times, times new roman, serif;">"Better to write for yourself and have no public, than to write for the public and have no self." -- Cyril Connolly<br /><br />Or like my mother liked to say: "Bien faire et laisser braire" (Do good and let (them) bray).<br /></span>Alexhttp://www.blogger.com/profile/15069741200575263982noreply@blogger.com0tag:blogger.com,1999:blog-15064878.post-76947882323633975352009-09-13T18:45:00.000-07:002009-09-17T10:29:42.271-07:00New Book: New Computational Paradigms for Computer Music<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.ircam.fr/uploads/tx_ircamboutique/assayag001.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 136px; height: 200px;" src="http://www.ircam.fr/uploads/tx_ircamboutique/assayag001.jpg" alt="" border="0" /></a><br /><a href="http://www.ircam.fr/598.html?&tx_ircamboutique_pi1[showUid]=223&cHash=0fb72b1bf5"><span style="font-style: italic;">New Computational Paradigms for Computer Music</span></a>, G. Assayag and A. Gerzso Eds., Editions Delatour France / IRCAM, 2009, ISBN 978-2-7521-0054-2.<br />Check out the flyer (<a href="http://www.editions-delatour.com/extrait/presseusdlt1632.pdf">pdf</a>).<br />I authored the chapter titled "Time and Perception in Music and Computation," pp. 125-146, excerpts of which appeared in this blog earlier this year - see <a href="http://alexandrefrancois.blogspot.com/2009/03/brain-time-music-computing.html">Brain - Time - Music - Computing</a>.Alexhttp://www.blogger.com/profile/15069741200575263982noreply@blogger.com0tag:blogger.com,1999:blog-15064878.post-48055874573384827442009-07-30T15:00:00.000-07:002009-07-30T15:20:38.268-07:00An Ant's Life at SIGGRAPH 2009!<a href="http://www.cs.tufts.edu/%7Ealex/comp150cis-spring2009/AnAntsLife">An Ant's Life</a> will be <a href="http://www.siggraph.org/s2009/performances_special_events/research_challenge_results/index.php"> one of four projects presented to a panel of distinguished judges in competition for final awards</a> in the <a href="http://www.siggraph.org/s2009">SIGGRAPH 2009</a> <a href="http://www.siggraph.org/s2009/contests_competitions/research_challenge/index.php">Research Challenge competition</a>, during the conference, on August 4, 2009, 1:45-3:00pm, at the Ernest N. Morial Convention Center in New Orleans, LA. <p> The first person interactive game was collectively designed and prototyped by the 13 students in the Spring session of the course <a href="http://www.cs.tufts.edu/%7Ealex/comp150cis-spring2009">Collaborative Development of Interactive Software Systems</a> (COMP150-CIS) at <a href="http://www.tufts.edu/">Tufts University</a>, under the guidance of visiting assistant professor <a href="http://www.cs.tufts.edu/%7Ealex">Alexandre R.J. François</a>, who created the course. </p><p> The SIGGRAPH 2009 competition challenged participants to "choose a specific animal, or a specific animal's sense, and develop a system that will enable a person to experience the physical or social world as that animal does." </p><p> In An Ant's Life, the players experience the world as members of an ant colony, from hatching through successive life phases in and around the nest. </p><p> The game's interface maps the ant's dominant senses, namely smell, taste and touch, to a first-person interactive audiovisual display, conveying a localized and qualitative perception of the environment. Textures and colors characterize the tactile and chemical properties of world elements such as terrain, rocks, bits of food and other ants. </p><p> The game takes place in a fully accessible and interactive simulation of the colony and its environment, populated by other ants and critters. In order to progress in the game, the player must ensure her immediate well-being, interact with her sister ants, and fulfill the tasks that characterize the roles she undertakes as her life develops.<br /></p><p><br /></p><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZ4hs97M_q4-cC62d-K8gcU2L64Rh253QoLEfyVBOc_Vi5EBOftzKkqb0F7OoPGJ_MQuPDlgYMQb7XgDq6YV0cVZr_zhp1-sLLDYGEObXETOJmeWA3lZggUN-l9PWoxduYXcj6MA/s1600-h/screen3.jpg"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 220px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjZ4hs97M_q4-cC62d-K8gcU2L64Rh253QoLEfyVBOc_Vi5EBOftzKkqb0F7OoPGJ_MQuPDlgYMQb7XgDq6YV0cVZr_zhp1-sLLDYGEObXETOJmeWA3lZggUN-l9PWoxduYXcj6MA/s320/screen3.jpg" alt="" id="BLOGGER_PHOTO_ID_5364379551072591602" border="0" /></a><br /><h3>project participants</h3> <p>Ian Altgilbers, Jessie Berlin, Alissa Cooper, Eric Gustavson, Greg Harris, Matthew Knowles, Huy Ngu, Gregory Scott, Rashmi Singhal, Eric Stewart, Daniel Thayer, Lindsay Verola, Sonny Zhao (students)<br /><a href="http://www.cs.tufts.edu/%7Ealex">Alexandre François</a> (faculty) </p><h3>links</h3> <p>Project website:<br /><a href="http://www.cs.tufts.edu/%7Ealex/comp150cis-spring2009/AnAntsLife">www.cs.tufts.edu/~alex/comp150cis-spring2009/AnAntsLife</a><br /></p><p>Course website:<br /><a href="http://www.cs.tufts.edu/%7Ealex/comp150cis-spring2009">www.cs.tufts.edu/~alex/comp150cis-spring2009</a><br /></p><p>Siggraph 2009:<br /><a href="http://www.siggraph.org/s2009">www.siggraph.org/s2009</a><br /></p><p>Research Challenge Results:<br /><a href="http://www.siggraph.org/s2009/performances_special_events/research_challenge_results/index.php">www.siggraph.org/s2009/performances_special_events/research_challenge_results</a><br /><a href="http://www.siggraph.org/s2009"></a> </p>Alexhttp://www.blogger.com/profile/15069741200575263982noreply@blogger.com1tag:blogger.com,1999:blog-15064878.post-86109300141087298812009-04-28T20:00:00.008-07:002009-05-02T11:15:37.418-07:00Time in Computation<span style="font-style: italic;">This is the last post in the series </span><a style="font-style: italic;" href="http://alexandrefrancois.blogspot.com/2009/03/brain-time-music-computing.html">Brain - Time - Music - Computing</a><span style="font-style: italic;">.<br />Previous: <a href="http://alexandrefrancois.blogspot.com/2009/04/time-and-brain.html">Time and the Brain</a><br /><br /></span>The notion of computation was explicitly created for use outside of the flow of MWT. Models of computation provide primitives for describing processes in a purely timeless context (computability), or in an artificial and abstract flow of time marked by computational operations (algorithmic complexity). The resulting abstract manifestation of time in computing is enforced as a strong invariant, universally and implicitly relied upon.<br /><br />This state of affairs has serious implications for the design and use of computing artifacts in MW. Music exists at the confluence of creation, representation and performance, where inherent limitations of time representations in computation become evident. Music systems fall into two broad categories: online or real-time systems, and off-line system. The significance of these categories in the context of interaction is explored in [1]. Henkjan Honing more specifically analyses and classifies the issues related to the representation of time in music computing [2].<br /><br />Process-oriented systems, which address real-time needs such as sound synthesis or performance (sequencing), adopt either tacit or implicit representations of time. Tacit representations restrict the notion of time to the “now,” the flow of MWT. Implicit representations tie the flow of time in the system to that of MWT in a direct, fixed and inescapable relation. For example, the Max paradigm in its various forms, e.g. <a href="http://www.cycling74.com/">Max/MSP</a> and<span style="text-decoration: underline;"> </span><a href="http://puredata.info/">Pure Data</a>, embraces this approach. Composition and editing systems, on the other hand, manipulate static representations of music, with explicit modeling of time relationships in their mathematical abstraction, outside of any flow of time. <a href="http://recherche.ircam.fr/equipes/repmus/OpenMusic/">OpenMusic</a> is a representative member of this category. The dataflow model of OpenMusic maps to the functional programming model, and does not provide for the creation and manipulation of a flow of time in relation to MWT.<br /><br />These orthogonal representations of time, and the computational models they support, serve their particular needs well. However, the dichotomy they introduce with respect to time representations seems irreversible. Puckette for example denounces the divide between processing and representation paradigms as a major obstacle to creating a comprehensive system for music making [3]. Musical improvisation requires a seamless blend of composition (representation) and real-time performance (processing), the ability to move freely in and out of flows of PT and MWT. The design of a real-time interactive musical improvisation system, such as the multimodal interactive improvisation system <a href="http://www-rcf.usc.edu/%7Emucoaco/MIMI/">MIMI</a>, requires to bridge the representation/processing gap. Past efforts in this area have leveraged existing programming models to produce ad hoc solutions; MIMI benefits from the use of a new computational paradigm that offers a general solution.<br /><br /><span style="font-size:130%;"><span style="font-weight: bold;">The </span><a style="font-weight: bold;" href="http://www.cs.tufts.edu/%7Ealex/hermesdl/">Hermes/dl design language</a></span><br /><br />Hermes/dl adopts an asynchronous concurrent computation model. Its data model distinguishes volatile data, in a flow of time, from persistent data outside of any flow of time. As a result, the language primitives afford the modeling of concurrent flows of time and computation, and of processes that take information in and out of these flows.<br /><br />Arrangements of language primitives consistently associated with specific functionalities or behavior constitute patterns of the language; they can be used as models or guides for system design. The patterns of primitives and interactions that characterize the transfer of information from a flow of time into persistent form constitute instances of the Aggregator pattern. The patterns of primitives and their interactions that characterize the transfer of information from persistent form into a specific flow of time constitute instances of the Sampler pattern. The next section introduces the Hermes/dl design language in the wider context of the motivations that lead to its creation.<br /><br /><span style="font-weight: bold;font-size:130%;" >References</span><br />[1] Alexandre R.J. Francois and Elaine Chew. An architectural framework for interactive music systems. In <span style="font-style: italic;">Proceedings of the International Conference on New </span><span style="font-style: italic;">Interfaces for Musical Expression</span>, Paris, France, June 2006.<br />[2] Henkjan Honing. Issues in the representation of time and structure in music.<span style="font-style: italic;"> Contemporary Music Review</span>, 9:221–239, 1993.<br />[3] Miller S. Puckette. A divide between ‘compositional’ and ‘performative’ aspects of Pd. In <span style="font-style: italic;">Proceedings of the First International Pd Convention</span>, Graz, Austria, 2004.Alexhttp://www.blogger.com/profile/15069741200575263982noreply@blogger.com0tag:blogger.com,1999:blog-15064878.post-845303048771168482009-04-18T20:00:00.006-07:002009-05-02T11:14:25.012-07:00Time and the Brain<span style="font-style: italic;">This is part 4 of 5 in the series </span><a style="font-style: italic;" href="http://alexandrefrancois.blogspot.com/2009/03/brain-time-music-computing.html">Brain - Time - Music - Computing</a><span style="font-style: italic;">.<br />Previous: <a href="http://alexandrefrancois.blogspot.com/2009/04/time-and-perception.html">Time and Perception</a><br />Next: <a href="http://alexandrefrancois.blogspot.com/2009/04/time-in-computation.html">Time in Computation</a></span><br /><br />If the flow of MWT is immutable, the human brain hardly perceives it as such. Gooddy, in his book <span style="font-style: italic;">Time and the Nervous System</span> [3], distinguishes between Personal Time (PT) and Government Time (GT). The former marks the flow of time (MWT) as perceived by the individual brain; the latter refers to the passage of time as measured by a collectively recognized reference clock, from the brain’s perspective an external synchronization device to MWT. Alteration in the perception of time, of the flow of one’s PT, occur within the perceiving agent’s mind.<br /><br />Fraisse emphasizes the necessity to separate the perception of duration, which takes place in the psychological present, and the estimation of duration which “takes place when memory is used either to associate a moment in the past with a moment in the present or to link two past event” [2]. Memory frees the mind from the continuous, irreversible flow of MWT. The mind can manipulate memories, events taken out of MWT, and place them in flows of time, that extend in the past and future (including the flow of MWT). Gooddy captures this ability in his observation that “the [human] brain is the place or mechanism or medium by which time is converted into space and space into time.”<br /><br />Musical tasks constantly engage the ability of the brain to move information in and out of the flows of times (going back and forth between time and space): memorizing a piece of music, performing it from memory, writing a piece of music as a score, performing a piece of music from a score. A musical notation system affords spatial representation of the perception of time through music; a performance is the re-creation of this perception from its spatial representation. The goal of a music notation system that effectively supports total communication between the composer and the performer remains elusive. Technology relatively recently afforded exact recording and recreation of performances. But a recording only captures one single, permanently frozen, physical manifestation of the musical material, with no place for re-creation or re-interpretation. The recording is super-naturally faithful to the performance, but does not explicitly encode, nor allows the full recovery of, the full depth of intent of the source material. Furthermore, the exactness of the reproduction is not necessarily a significant, or desirable, feature from the listener’s point of view. The human brain is approximate; memory is event-based and selective. Each experience, each performance are different, and bring the prospect of renewed excitement to the listening brain. Successive re-experiences of a recording only remain interesting to a listener as long as she herself keeps changing from the experience.<br /><br />Considerations about the nature and meaning of notation extend to the performing arts, such as dance and theater, and beyond. The thinking brain in MW finds itself in a constant struggle between the desire to stop time and the necessity to live (and experience) in the present. Bamberger has studied extensively the evolution of the spatialization (notation) of temporal patterns (rhythms) during child development. She reflects [1]:<br /><blockquote><span style="font-style: italic;">We necessarily experience the world in and through time. How and why, then, do we step off these temporal action paths to selectively and purposefully interrupt, stop, and contain the natural passage of continuous actions/events?</span><br /><br /><span style="font-style: italic;">How do we transform the elusiveness of actions that take place continuously through time, into representations that hold still to be looked at and upon which to reflect?</span><br /><span style="font-style: italic;"> </span><br /><span style="font-style: italic;">Perhaps the very notion of complexity lies in engaging the resilient paradoxes that emerge when we confront the implications of our static, discrete symbolic conventions with our immediate experience of always “going on.”</span><br /></blockquote>The ability to control the flow of one’s PT allows the brain to take temporal experiences out of the immutable flow of MWT, contemplate or otherwise manipulate these experiences outside of MWT, and later re-create them in the flow of MWT. This ability enables individuals to adapt, learn, generalize, create. Without it, symbolic thought would be impossible, or at least completely detached from, and therefore irrelevant to, life in MW.<br /><br /><span style="font-weight: bold;font-size:130%;" >References</span><br />[1] Jeanne Bamberger. Evolving meanings: Revisiting Luria and Vygotsky. In G. O. Mazur, editor, <span style="font-style: italic;">Thirty Year Commemoration to the Life of A. R. Luria</span>. Semenenko Foundation, New York, 2008.<br />[2] Paul Fraisse. Perception and estimation of time. <span style="font-style: italic;">Annual Review of Psychology</span>, 35:1–36, 1984.<br />[3] William Gooddy. <span style="font-style: italic;">Time and the Nervous System</span>. Praeger Pub, 1988.Alexhttp://www.blogger.com/profile/15069741200575263982noreply@blogger.com0tag:blogger.com,1999:blog-15064878.post-6349876694400256972009-04-08T20:00:00.007-07:002009-04-23T10:08:35.846-07:00Time and Perception<span style="font-style: italic;">This is part 3 of 5 in the series </span><a style="font-style: italic;" href="http://alexandrefrancois.blogspot.com/2009/03/brain-time-music-computing.html">Brain - Time - Music - Computing</a><span style="font-style: italic;">.<br />Previous: <a href="http://alexandrefrancois.blogspot.com/2009/03/brain-in-middle-world.html">The Brain in Middle World</a><br />Next: <a href="http://alexandrefrancois.blogspot.com/2009/04/time-and-brain.html">Time and the Brain</a><br /><br /></span>Scales of time in MW play a crucial role in the recognition and interpretation of temporal patterns, by the brain, as symbolic relationships such as causality and synchrony.<br /><br />Events that are perceived as shortly following each other in time tend to be interpreted in a causality relationship. Brains learn the range of latencies that may separate an action and the perception of its effect in MW. The quantitative characterization of acceptable latencies is crucial to the understanding of interaction. Human-computer interaction researchers [4][1] categorize acceptable time delays into three orders of magnitude, which coincide with Newell’s cognitive band in his time scale of human actions [5]: the 0.1s (100ms) scale characterizes perceptual processing, perceived instantaneous reaction; the 1s scale characterizes immediate response, continuous flow of thought (consistent with the notion of psychological present [3]); and, the 10s scale characterizes unit tasks, continued and sustained attention. These orders of magnitude define relatively narrow ranges of applicability for different levels of cognitive activities, especially when compared with the longer time order ranges that characterize other activities in MW: the rational band (100-10000s, i.e. minutes to hours), the social band (100000-10000000s, i.e. days to months) and the historical band (100000000-10000000000s, i.e. years to millenia).<br /><br />Ensemble musical performance requires both interaction and synchronization. Synchrony, defined as the exact co-occurrence of several observations, is a perceptual abstraction. The different, and finite, speeds at which light and sound travel imply that events whose percepts occur in absolute synchrony would hardly ever have occurred synchronously in MW, or would never have occurred naturally at all. For example, explosions in movies usually occur as if sound and light traveled at the same speed in the air. In MW, sound travels quite slowly, about 33cm in 1ms, whereas light travels so fast that travel times are negligible. Events that do occur simultaneously cause in an observer a variety of percepts that are not received synchronously, but that exhibit specific - and predictable - temporal patterns, which brains learn to understand as signs of a common cause, and thus synchronous origin in MWT. This is especially relevant in music making (and enjoying), due to the relatively low speed of sound travel in air.<br /><br />Fraisse offers a comprehensive analysis of psychophysical experiments that aim to characterize the perceptual limits of time properties: event succession and duration [3]. Exact numbers depend on many factors, including task modality, and stimulus type, intensity, and duration. Pierce places the time resolution of the ear on the order of 1ms [6], which leads him to question whether human’s acute time resolution is actually of any use in music. Certainly the brain perceives as simultaneous auditory events that the ear detects as distinct. Pierce cites, among others, an experiment by Rasch, which revealed that synchronization in performed small ensemble music is only accurate to 30-50ms [7]. Incidentally, this range also characterizes the travel time of sound between the opposite end of an orchestral stage. Each individual musician in the orchestra experiences the performance in a necessarily specific and unique way. Yet the musicians are collectively capable, under the direction of the conductor, of producing an expert and consistent ensemble rendering of a musical piece. Recent experiments by Chew et al. [2] on sound latency in ensemble performance have shown that, under favorable conditions, professional musicians can deliver a meaningful musical performance while experiencing delays as high as 65ms. This number recalls the experimental fact, also reported by Pierce, that humans perceive no echo when a strong reflected sound occurs within 60-70ms after the direct sound.<br /><br />These experimental results illustrate the impressive plasticity of brain processes with respect to the perception of MWT. Abstract temporal concepts, such as synchrony, bear limited relevance to the modeling of the MW perceptual and cognitive phenomena that inspired their invention.<br /><br /><span style="font-weight: bold;font-size:130%;" >References</span><br />[1] Stuart K. Card, George G. Robertson, and Jock D. Mackinlay. The information visualizer, an information workspace. In <span style="font-style: italic;">Proceedings of the SIGCHI Conference on Human Factors in Computing Systems (CHI)</span>, pages 181–186, 1991.<br />[2] E. Chew, A.A. Sawchuk, R. Zimmermann, V. Stoyanova, I. Tosheff, C. Kyriakakis, C. Papadopoulos, A.R.J. Francois, and A. Volk. Distributed Immersive Performance. In <span style="font-style: italic;">Proceedings of the 2004 Annual NASM Meeting</span>, San Diego, CA, USA, November 2004.<br />[3] Paul Fraisse. Perception and estimation of time. <span style="font-style: italic;">Annual Review of Psychology</span>, 35:1–36, 1984.<br />[4] Robert B. Miller. Response time in man-computer conversational transactions. In <span style="font-style: italic;">Proceedings of the AFIPS Fall Joint Computer Conference</span>, volume 33, pages 267–277, 1968.<br />[5] Allen Newell. <span style="font-style: italic;">Unified Theories of Cognition</span>. Harvard University Press, 1990.<br />[6] John R. Pierce. The nature of musical sound. In Diana Deutsch, editor, <span style="font-style: italic;">The Psychology of Music, Second Edition (Cognition and Perception)</span>, pages 1–24. Academic Press, 1998.<br />[7] R. A. Rasch. Synchronization in performed ensemble music. <span style="font-style: italic;">Acustica</span>, 43:121–131, 1979.Alexhttp://www.blogger.com/profile/15069741200575263982noreply@blogger.com0tag:blogger.com,1999:blog-15064878.post-48105526058875797742009-03-28T20:00:00.014-07:002009-04-22T07:49:08.168-07:00The Brain in Middle World<span style="font-style: italic;">This is part 2 of 5 in the series </span><a style="font-style: italic;" href="http://alexandrefrancois.blogspot.com/2009/03/brain-time-music-computing.html">Brain - Time - Music - Computing</a>.<br />Previous: <a href="http://alexandrefrancois.blogspot.com/2009/03/middle-world.html">Middle World</a><br />Next: <a href="http://alexandrefrancois.blogspot.com/2009/04/time-and-perception.html">Time and Perception</a><br /><br />Even though perpetual contingency characterizes <a href="http://alexandrefrancois.blogspot.com/2009/03/middle-world.html">Middle World</a>, the underlying dynamics are not random. On the contrary, their complexity thinly veils a rich variety of spatio-temporal patterns [4]. The term pattern, here, denotes “a regular and intelligible form or sequence discernible in certain actions or situations; esp. one on which the prediction of successive or future events may be based” (Oxford English Dictionary). Under such conditions, the brain has evolved into a highly effective spatio-temporal pattern detection and prediction system [2]. Moreover, the brain exhibits an “infovorous” behavior [1]: it craves for new experiences. More specifically, studies have linked sensory novelty and surprise to pleasure and reward activity in the brain. This is consistent with the continuous refinement of the prediction system through acquisition of new knowledge.<br /><br />Both the creation and performance of music play directly into these fundamental brain mechanisms [3], taking advantage of the pleasure systems wired in the brain. From rhythmic patterns to more intangible tonality systems, the brain naturally picks-up, processes, and responds to, spatio-temporal structures in music. If too predictable, a piece of music or a performance are simply boring; on the other hand, the listener might not be able to make sense of a piece or a performance that is "too" unexpected. The art of creating music, or any other artifact intended to stimulate human interest, hinges on striking a delicate balance between familiarity and surprise; establishing a frame of anticipation, and venturing outside of this frame in such a way that prompts the listener to adapt her own frame of reference.<br /><br />These observations point to a highly dynamic notion of music making and listening. If the musical expertise, and expectations, of brains change every time they experience music, then what constitutes interesting music and interesting performance changes constantly, both at the individual and at the cultural levels. The computational modeling of such concepts as musical appreciation must therefore characterize how context, both individual and collective, plays out in the dynamics of the particular perceptual and cognitive processes involved.<br /><br /><span style="font-weight: bold;font-size:130%;" >References</span><br />[1] I. Biederman and E. A. Vessel. Perceptual pleasure and the brain. <span style="font-style: italic;">American </span> <span style="font-style: italic;">Scientist</span>, 94:249–255, 2006.<br />[2] Jeff Hawkins and Sandra Blakeslee. <span style="font-style: italic;">On Intelligence</span>. Times Books, 2004.<br />[3] David Huron. <span style="font-style: italic;">Sweet Anticipation: Music and the Psychology of Expectation</span>. MIT<br />Press, 2006.<br />[4] Ken Richardson. <span style="font-style: italic;">A Mind for Structure: Exploring the Roots of Intelligent Systems</span>.<br />Brown Walker Press, 2006.Alexhttp://www.blogger.com/profile/15069741200575263982noreply@blogger.com0tag:blogger.com,1999:blog-15064878.post-19020321616667467892009-03-18T20:00:00.010-07:002009-03-29T05:24:57.786-07:00Middle World<span style="font-style: italic;">This is part 1 of 5 in the series </span><a style="font-style: italic;" href="http://alexandrefrancois.blogspot.com/2009/03/brain-time-music-computing.html">Brain - Time - Music - Computing</a><span style="font-style: italic;">.</span><br />Next: <a href="http://alexandrefrancois.blogspot.com/2009/03/brain-in-middle-world.html">The Brain in Middle World</a><br /><br /><a href="http://richarddawkins.net/">Dawkins</a> remarks that brains have evolved to help animals survive within the orders of magnitude of size and speed at which their bodies operate. He calls Middle World (MW) this relatively narrow range of phenomena directly and intuitively accessible to perceptual and cognitive processes [2]. Dawkins invokes the human brain’s evolutionary entanglement with MW to explain humans' difficulty in grasping, and coping with, the physical realities of the universe outside of its familiar confines, from the sub-atomic scales of quantum physics to the universe-size scales of relativity. But the fundamental properties of MW can also help characterize the nature of the tasks at which brains came to excel, in particular the fundamentally dynamic nature of these tasks.<br /><br />Everything in MW is subject to what the human brain perceives and understands as time, “the continuum of experience in which events pass from the future through the present to the past” (<a href="http://wordnet.princeton.edu/">Wordnet</a>). MW time (MWT) cannot be altered in any way: in particular, its flow cannot be slowed, stopped or reversed. The implications are deep. First, nothing in MW can ever happen again, every and any experience is that of an ever changing environment, by an ever changing observer. Exact reproduction of an experience, such as a musical performance, is a practical impossibility both for the performer and for the listener. Second, mathematical abstractions, such as randomness, synchrony, or infinity, do not exist in MW (<a href="http://arts.ucsc.edu/faculty/cope/biography.htm">David Cope</a> discusses randomness in [1]). Mathematics define an idealized world of spatio-temporal invariants, which in some respects models aspects of MW, and aspects of the universe outside of MW that are difficult for MW-evolved brains to grasp.<br /><br />Mathematics provide a framework for MW brains to characterize and manipulate invariants in a way that is consistent, completely and absolutely predictable, independent of time and space; in particular, these invariants are not sub ject to, and allow the abstraction of, the flow of MWT. The theory of computation came about to formalize actions and operations in the mathematical world, where they must abide by the principles of consistency, predictability, universality. This requires not only that the notion of time be abstracted, but also that the resulting abstract manifestation of time in computing be enforced as a strong invariant. The mathematical properties of computation, especially the abstraction and immutable crystallization of the flow of time, constitute major obstacles to the useful computational modeling of many important MW phenomena.<br /><br /><span style="font-weight: bold;font-size:130%;" >References</span><br />[1] David Cope. <span style="font-style: italic;">Computer Models of Musical Creativity</span>. MIT Press, 2005.<br />[2] Richard Dawkins. <span style="font-style: italic;">The God Delusion</span>. Houghton Mifflin Harcourt, 2006. See also Dawkins' <a href="http://www.ted.com/">TED</a> Talk: <a href="http://www.ted.com/index.php/talks/richard_dawkins_on_our_queer_universe.html"><span style="font-style: italic;">The Universe Is Queerer Than We Can Suppose</span></a>Alexhttp://www.blogger.com/profile/15069741200575263982noreply@blogger.com0