Tag Archives: Apps

Voxette nearly sings

Voxette256I’ve been transferring the code for Voxette from IOS to OS X. This has been very time consuming, but not unrewarding.

For the IOS app, all I had to do was form up the text, choose a voice, set the desired pitch, rate and volume of the speech, and tell it to go. This worked very well up to a point, but the only way to get more control over the  sound was to change the words into non-words which worked better. Also I couldn’t find a way to save the output to a file.

On OS X everything is different, and I have had to learn about everything I wish to assert control over. This starts with controlling the window system, which is not a concern on IOS as the app owns the whole screen whilst running. Every part of the creation and management of windows and views, and the controls they use is different and harder in OS X.

Having got a ramshackle outline working, I started with the speech synthesis libraries and functions, which are again different, much more sophisticated, but requiring a fairly comprehensive set of new things to be learned at least partly before getting it to do what I want.

What I am trying to produce is an OS X app that will speak text expressively, in a selection of voices, and allow the output to be recorded to file, so it can be added, say, to a presentation, which can then be sent as a movie file for someone else to run. There are, I suspect, many people like me who find listening to recordings of their own voice uncomfortable, which makes the performance at recording worse than it should be, and always leaves the recordings feeling unsatisfactory. To get the expression, I have had to learn about phonemes and prosody, and the way they can be affected, so that the user won’t have to but can make some selections or move some controls on screen which will give them what they want without having to learn a lot of esoteric terms and symbols just to get their task done.

I am using the built in Apple voices, (You can download quite a few of them above and beyond the standard installation), because they will almost certainly work best with the software I am writing. Some, but not all of the voices, allow you into a fine level of control of the phonemes used (The components of the sounds of each word, analogous to syllables but with an accent embedded) including providing the flow of pitch across the word or phrase. This means you can, to a certain extent, make the voice sing.

I have just got everything else working well enough to have arrived at the stage where I can work on the interface and mechanics to make this happen.

somnus

somnus iconI have just uploaded my most recent app to the iTunes app store for approval and sale. The app combines two pieces of music I wrote specifically for it, drifting away and falling upwards with some simple visual prompts which guide the user through a series of muscle activities which promote relaxation.

I’ve been using the procedure myself since I heard it described on the radio many, many years ago as “Saying goodnight to my toes …” or similar.

Except at times of extreme duress, exams I’ve not properly prepared for, family illnesses and such, it’s always worked for me.

You can read about it here should you wish.

Head Spinning

Image from ffffound.com

Being a child of the TV age, I often find it difficult to just listen to music without closing my eyes. It sometimes seems necessary for sounds to have an accompanying visual element, anything will do and I get distracted and realise I’ve not been listening. This happens more often on more familiar music so perhaps I’m just getting bored with listening to some things too often … or so I thought.

I bought some new earbuds on eBay, and trying them out I found that things were different somehow. There was nothing wrong with the sound quality, far from it, but there was something new and fresh about what I was listening to. Then I realised that the earbuds were mis-wired left to right. As they were of this new anatomically correct type that engages right into the ear canal, it is not possible to merely put them in the wrong ears. I shall keep them as they are, however, rather than sending them back or attempting to re-wire them as they make a diverting change. For those of you with swappable earpieces, I suggest trying it.

I had a quick search on the iTunes app store to see if there were any apps that let you swap stereo channels and couldn’t find any, so I have been playing with the IOS audio playing interface to see if I can produce an app which allows you to swap channels whilst playing your iTunes music. Whilst fiddling about I’ve managed once not only to get the channels swapped but also to get the impression of flying over the music, turning and coming back again from the other side. I’m now working on a suitable interface, preferably one that doesn’t involve rotating a cube on screen as those make my head swim.

Sensitive not critical

With the greater part of the input and modelling parts of the project planning app complete, I came to a bit of a hiatus. As an iPad app I wanted it to have a lot more in common with finger painting than technical drawing, encouraging the playing with and testing of ideas. The first part of making a plan is done usually with a logic diagram, and that’s what I’ve included. It is on this one screen that you set up all the main bits of work and their relationships. To illustrate with the banal example of making a decent cup of tea you have :- Fill kettle, boil water, warm teapot, add tea to pot, add water to pot, brew, get cups, pour tea, add milk. These resolve themselves into dependency chains thus:-

Logic diagram

In this example I have rather daringly assumed a preference for MIF (Milk in first). If you have a NON-MIF preference, then “Add milk” needs to follow “Pour tea”.

For each of these activities, you need to estimate how long it will take and add a list of people who need to be present to execute it.

 

Make tea now

This being done, the app can generate a timeline like this.

The great benefit of diagrams like this is that you can see at an instant that you can faff around a bit collecting cups and milk without any problem, but any time wasted filling the kettle, adding the tea or any of those activities which are back to back from the beginning to the end, will delay the tea, and that wouldn’t do.

This is what project planners call the concept of float. The two activities of getting cups and adding milk have between them four time units of float. The others have none and are therefore considered critical and the route through them is the critical path. Any delay to any of these delays the whole project commensurately. For large organisations using contracts that they either have prepared themselves or are familiar with, this is all good stuff as it provides some sport for their teams of quantity surveyors and lawyers to take on another team and issue legal claims and counter claims to enforce the doing of the work on time, or to gain compensation.

For most of us dealing with an in-house team, or a small local contractor we tend to adopt the same means of control and influence as a Falconer does with his bird; we aim to become the preferred source of food / money / kudos, and then keep it in short / controlled supply. We are generally not interested in building a case we can take to the county court when the plumber’s wife has to go to hospital and he won’t be in on monday, rather we want to know what the impact of the delay will be on the work of others and on the project as a whole. In other words we want a tool that doesn’t quantify and document problems, so much as help us manage them.

It was whilst looking at this that I decided that :-

a). my users wouldn’t be overly interested in critical paths per se (After all they are dull aren’t they?), and

b). not all critical activities are the same.

To explain, suppose in the example above each unit of time is a day, and each task is done by a specialist. If the teapot warmer only comes in on Wednesdays, a delay in boiling the water doesn’t cause a delay of one day, it causes a delay of a week.

The app has a calendar attached to each project, so that you can set the project to work weekdays only for instance. In addition, each person has their own calendar so that their working weeks, leave and planned absences can be included in the calculations.

Instead of showing users the usual charts and lists showing critical paths and float, my app shows a simple timeline for the plan, and a diary type report for each person, and the project as a whole. As soon as the plumber’s calendar is updated with his forthcoming absence on monday, the delays will show and can be dealt with.

To try to locate problems beforehand, rather than flagging up critical path items the app concentrates on the activities and people which will cause the biggest headaches when they fall behind or let you down. What the app does is model and re-model the project with delays of one to five days on each activity in turn to see which are the most “sensitive” i.e. more than critical. These are the ones it flags up for attention. I haven’t yet figured out the best way to test which people the project is most reliant on, a hot bath should help.

Cryptoimagery

Pensive Hay Resident
Pensive Hay Resident

 

In an entirely unexpected and atypical burst of productivity, the updated universal version of Almanac was submitted to the app store over the weekend  and resuming Lifemodel, which had been put aside, I found it almost complete and have added the missing bits.

Providing the testing doesn’t uncover any egregious errors it should be submitted by the weekend.

In sharp contrast to Almanac, which has four selectable interfaces with lots of graphic elements, it has very little artwork. There is considerably more code and it is very calculation intensive but should be a small, quick loading app. This means that the splash screens which pop up while it is loading are only visible briefly and may not be noticed at all.

That gives the opportunity, for those afflicted by the imp of the perverse like me, to be a little playful with the images used. I have therefore picked one of my favourite local pictures as the landscape screen. I don’t suppose anyone will notice it in the app, so here it is.

Ars gratia artis

I’ve probably spent far too much time already on the artwork for the universal version of Almanac, and today had to do a bit of tidying that came up during testing.
Taking a break, I updated the become-apps.com website and in preparation I used Fuzel, a collage making app to produce this image. I didn’t use / haven’t yet used it on the website but thought I’d post it here as :-
a) I think it is pretty, and
b) If it’s the sort of thing you like, you might want to look at Fuzel for yourself.