ProfilecortkneeBlogNetwork Tools Help

Blog


    October 28

    Voice over Mobile.

    So I maked this verily self-generated thing last hebdomad because the new lead VP of AOL Local and Maps came downwards from high. I love how that sounds... `` came downward from high ''. It Holds like these executives fall from their cloud cathedrals and bless us mere propellor caputs with a visit. As it turns out, these hombres are not heavenly the least bit. They get irregularity merely like I make when the diet makes n't include an equal supply of fiber and liquid. Hullo, I 'm Drop. You 're here because you make n't conceive it Holds possible to develop a nomadic voice application utilizing nimble patterns. I intend, you ca n't honestly tryout thrust something like text-to-speech or voice acknowledgment... can you? Anyway, like I was telling, I maked a verily `` unforeseen '' thing. I Holded been playing with Text-To-Speech ever since I got peregrine development. I Holded been gulling with it and assay to get a grip on voice acknowledgement too. So when I heard my manager say us that the execs were coming to town I considered, `` This would be an ideal clip to throw my work before of their faces to see what rather reaction I 'd get. '' At this point I holded already taken voice in a twofold round trip from the iPhone to the waiter pinged back as text so ponged to the waiter which re-pings more voice. The illustration was simple and it presented that we could not justly make voice output from Mobile, but that we could concatenate multiple audio watercourses in the client and perform acknowledgment. I likewise holded a good sum of self-confidence in my TTS engine, plenty to pass the weekend prior lassoing in an ugly drudge in one of our PM merchandises. ( We hold two of them now... locomote catch the Navigator from the Apple shop! )

    I haved favorable response from all who saw my image. Suchly favor that a subsequent demonstration was scheduled the following day on my behalf. ( I lost my ain subsequent demonstration. ) That energised me even farther as I determined two darks ago to get officially bundling my thought. It Holds one thing to chop something together but I took a polished solution. I commenced to get back into my comfortableness zone with tryout driven designing. My warm/fuzzy spot. ( Tardily I 'd been combing through mis of haemorrhoid of other people 's non-tested non-reusable codification regurgitating the bad patterns I Holded been swamped with. )

    It got with a tryout. Ordinal It got with a specification.
    Given the text, `` hello Miami! ''
    When I inquire voiceOutput to utter the text
    So I should get an audio response reciprocally.

    I so commenced to chip away at. Zilch was speaking. No sounds or sound files were tied to my codification. It was only how I retrieve it. The sweet odor of JUnit... err... OCUnit... or SenTest... somethin ' or other... I started to daydream while I pent trial after tryout each followed by execution logic. `` What will the terminal icon look like? '' Lower degree items essay to mouse into my caput but I contended them away... each clip refocusing on the tryout before Maine The undertaking was justly to accept text input and respond with an audio watercourse.

    From the oncoming it looks hard if not impractical. How makes one validate that the voice engine is working? How make you verify the thing speaks... with sound your ears can pick upward? How roll in the hay all work with unit tryouts? I run to get stumbled au courant these items even as very much like anyone who picks upwardly TDD. When you look at the same job, the same interrogation with a slightly different perspective ( in contrary even ) it gets obvious. Pose the `` Calciferol '' ahead of TDD. We are n't testing , we 're projecting It Holds Designing Driven-by Tests or Dichlorodiphenyltrichloroethane. If you consider tryout you consider things like `` how can I secure my ear membranophone into SenTestCase? '', or `` how can I wire my second cranial nerve up to the JUnit Trial moon-curser? '' When you conceive designing you no more care if it works right you care if you hold the right plants. So back to my original query, `` How makes one validate that the voice engine is working? '' Permit 's alternatively enquire `` How makes one body-build the right voice engine? '' The voice engine is right when it responds the interrogation. The query go the point of focusing. The enquiry is the spec. So I make n't verify audio output. I verify the interface or logic in between. I maked n't compose the voice engine codification so verifying it is a purposeless workout. I but care about the codification that sits between my telephone and the voice engine.

    On the exterior I cognize that my telephone codification trades with English sentences. I likewise cognize that it is instead perplexed so modifying it to `` accommodate into '' a voice engine would be an exercising in complexness. So now that I 'm not essay audio output or the engine that produces it I can whole bury about what the engine anticipates... for now. I proceed designing with specifications and replies to specifications. equally long as my codification returns an audio watercourse on the exterior, I cognize I 'm finished. The convertor codification is looking much more simple than one would envisage. I so cognize that I'l take to get the watercourse from someplace. So I indite the codification to get the audio data from another thing. ( Here Holds where I do a elusive stumble. ) I get considering about caching. Because I 'm distressed about cell web latency I desire to include an on-device cache.

    I proceed adding a tryout that says ( literally ) that I 'll belike postulate a cache. The trial invites text to be converted to audio without employing a cache so triggers a tryout failure if an elision is n't thrown. The failure message tells something like, `` an elision should be thrown if a cache is not configured. '' I fulfil this demand and add more tryouts that expect cache enquiries prior to any transition. I utilize the self-shunt shape instead than OCMock objects because I make n't desire to add a model ( bed of complexness ) to my labor simply yet. I drive along with more tryouts that finally regulate the cache and too a web information supplier that simply 's as a protocol ( correspondent to a Java interface ). I 'm experiencing good at this point. Not completed, not even shut... but I hold good advancement with a comparatively little sum of codification. I 'm likewise experiencing slightly more comfy with both XCode and Aim C I experience best about the fact that I can really essay drive a characteristic that would likely look impossible to most developers. That along with the fact that I negociated to make an acceptable demonstration to our Senior VP squad, one that got people giving the pollexes upwards. I conceive I can slumber goodly tonight.

    Related posts:
    Heidelberg Catechism Query of the Day
    Wi-fi on charabancs in Eire
    Work in Advancement

    Comments

    Please wait...
    Sorry, the comment you entered is too long. Please shorten it.
    You didn't enter anything. Please try again.
    Sorry, we can't add your comment right now. Please try again later.
    To add a comment, you need permission from your parent. Ask for permission
    Your parent has turned off comments.
    Sorry, we can't delete your comment right now. Please try again later.
    You've exceeded the maximum number of comments that can be left in one day. Please try again in 24 hours.
    Your account has had the ability to leave comments disabled because our systems indicate that you may be spamming other users. If you believe that your account has been disabled in error please contact Windows Live support.
    Complete the security check below to finish leaving your comment.
    The characters you type in the security check must match the characters in the picture or audio.

    To add a comment, sign in with your Windows Live ID (if you use Hotmail, Messenger, or Xbox LIVE, you have a Windows Live ID). Sign in


    Don't have a Windows Live ID? Sign up

    Trackbacks

    The trackback URL for this entry is:
    http://cortkneelnib.spaces.live.com/blog/cns!139F9AB89804875C!107.trak
    Weblogs that reference this entry
    • None