Real-Time Process Compiler
Platform-Independent Real-time Adaptive Process Compiler
In order to facilitate iterative development and performance of local speech apps, we have developed a platform which optimises the deployment multiple parallel real-time processes
Real-time speech applications traditionally involve applying multiple algorithms, serially on a time-window of speech. They also tend to implement each algorithm as a black-box process. Our platform allows for the conversion of such pseudo-real-time processes, into true streamed processes, so that each segment of the signal is only processed once. The sub-processes within each process are analysed, and aggregated, in order to achieve multiple benefits, both to speed up iterative development - allowing new algorithms to be tested within the context of a real-world application, and to improve performance of the deployed application. This is achieved by applying low-level dependency-mapping, eliminating duplication - performing each operation only once on any segment, and by eliminating irrelevant processes, because not every algorithm needs to be applied to every segment. This mapping of sub-process components is combined with fast context-switching, e.g. changing the combination of algorithms being applied, sometimes as quickly as every 10ms. The system allows for the implementation of templated profiles of combined algorithms, which can be triggered by any property within any of the processes. This drives further efficiencies. Traditionally, implementations of different context-specific algorithms duplicate basic signal processing functions, and are applied at every time-frame. Our model allows us to run only those processes needed in the context, ad apply each process only once on any segment of the signal. So, applying this to speech recognition: - when analysing vowels, it is not necessary to apply an algorithm to distinguish between voiced and unvoiced plosives - when normalising average pitch and analysing shifts in pitch, the spectrum is only analysed once, rather than twice
- Shortening R&D and product delivery times. - Improving performance. - Platform independence.
All speech and other complex real-time signal processing applications. The system applies well to complex speech applications where there are multiple contexts, including: - Text alignment - Speech recognition - Accent identification - Speaker identification - Machine translation