The latest update to Dew Lab Studio brings comprehensive support for Accelerate framework on Apple devices running iOS, iPad and OS X. The DSP Master has been complemented with cross-platform enabled components for audio playback and recording thus greatly simplifying development and deployment of audio processing/analysis applications to mobile platforms. Additionally mtxVec received a major upgrade for its expression parser/scripting engine bringing it much closer to Matlab/Scilab like capability. It is now possible to write while-loops, for-loops, if-else clauses and make use of the concatenation operator: a = [1,2 ; 3, 4];
The latest update brings support for Rad Studio 10.2 Tokyo and the .NET version delivers support for Visual Studio 2017.NET. Major new features include introduction of integer matrix type and extensive new integer math optimizations. Among other things, the expression parser received a major upgrade and now includes support for integers, integer vectors, integer matrices and boolean vectors and matrices.
The latest release of FFT Properties v6 brings several major enhancements. One is the ability of a real-time high resolution spectrogram with full support for zoom spectrum in Signal Recorder. SignalRecorder now also allows monitoring and recording the output of any playback device. One other very usefull feature is the ability of the SignalAnalyzer to open arbitrary (compressed) audio/video file. This makes it possible to analyze frequency content of audio tracks of any multi-language multi-channel movie file as well.
We are happy to announce availability of Dew Lab Studio 2016 supporting the latest Embarcadero Rad Studio 10.1 Berlin, additional performance improvements due to the updated dlls and many new features.
Latest update of Dew Lab Studio for VS.NET delivers notable performance boost to linear algebra routines, support for VS 2015.NET and support for latest Steema TeeChart. There were multiple improvements across all the products.
Latest version of Dew Lab Studio 2015 adds support for Delphi Rad Studio 10 Seattle and finally delivers comprehensive cross-platform support allowing users to deploy to Windows, Android, OS X and iOS from the same FireMonkey project. Several important issues have only been fixed in Delphi 10 thus making this possible for the very first time.
We are happy to announce the availability of update to Dew Lab Studio 2015 with full support for Android OS and Embarcadero Rad Studio XE8. The new release also gives a significant performance boost through multiple internal optimizations. Gains vary depending on algorithm.
We are happy to inform you of availability of the new major version of our product MtxVec v5. The key new feature of MtxVec v5 is called MtxVec Core Edition. This capability allows you to build your application based on MtxVec using only pure pascal code. The main purpose of this new feature is to allow portability of code based on MtxVec to other platforms like iOS, OSx and Android.
The new RAD Studio XE7 brings some new language syntax which can be helpfull when working with Vectors and Matrices. The Vector and Matrix types below are from our MtxVec numerical library. The new syntax options signifcantly improve code readabilty when creating or assigning arrays in code.
Dew Lab Studio 2014 with support for Rad Studio XE7 is now available. DSP Master received support for the new audio API available from Windows Vista onward. The codebase now also compiles for OSx and Android, although no official support yet.
Dew Lab Studio 2014 with support for Rad Studio XE6 is now available for download. New are methods for "generalized" computation of Eigenvalues, Schur vectors and Singular value decomposition. Eigenvalue calculations are faster, new are methods Eigenvalues and generalized Eigenvalues for symmetric sparse matrices, condition numbers for eigenvalues and more.
Delphi has featured function inlining since 2005. But it was not until XE6 and 2014 when this feature really lived up to its promise. Our MtxVec library uses default array property on records and objects to access individual values of vectors and matrices. Even though we specified the setter and getters to be inlined:
the performance did not match access to a simple dynamic array. Well, here comes the XE6 and the speed for 1D arrays is a match. Performance improvement by 6x. Even more, when accessing elements of 2D dynamic arrays, the 2D inline property for accessing elements on matrices is faster:
var a: TMtx; //our TObject class d: array of array of double; begin .. a[i,j] := 0; ///faster than d[i,j] ... d[i,j] := 0; .. end;
Performance improvement by a total of 4x in compare to XE5 and before. This makes a lot of our code noticably faster simply by making use of the new XE6 Delphi compiler.
New update of Dew Lab Studio 2014 for VS.NET delivers many new features and important bug fixes. Enhancements have also been made to the installer and a new set of dlls is included for faster performance.
Dew Lab Studio for FireMonkey has been made available for registered users for Embarcadero Delphi and C++Builder. Currently only Windows OS is supported. A prerelease version of MtxVec Core is included allowing the products to compile without dependancies upon external dlls.
While working on the next code update, the code example below raised some eyebrows. How much time does it take to compute equidistant histogram? It turnes out, that our old code needed about 3x more time than array copy operation. The current version is a near match, being only 10% slower than best optimized array copy:
Results.SetZero; Data.BlockInit; while not Data.BlockEnd do begin aData.ThresholdGT_LT(Data,Max,Max,Min, Min); aData.Normalize(aData, Min, BinWidth); aData.CopyTo(intData, TRounding.rnTrunc); HistoCount(intData.IData, intData.DataIndex(0), Results.IData, Results.dataIndex(0), intData.Length); Data.BlockNext; end; Data.SetFullRange; //Old code: // for i:=0 to Data.Length-1 do // begin // j:= Trunc((Data.Values[i]-Min)*InvBinWidth); // was round // if (j < 0) then Inc(leftTail) // else if (j >= NumBins) then Inc(righttail) // else Results.IValues[j] := Results.IValues[j] + 1; // end;
While the vectorization seems dominating, it brings only 20% speedup. The other 250% come in to effect only after block processing is applied. (BlockInit, BlockNext, BlockEnd).
An updated version of Dew Lab Studio for Delphi for Embarcadero XE5 has been made available. Most notably the support for 64bit C++Builder has been added. This release also includes an enhanced installer which automatically finds and detects the version of the installed TeeChart.
A new update for Dew Lab Studio for VS.NET has been released. This release features support for concurrent use of double and single precision version of the library. It also contains new set of dlls with support for latest CPU instruction sets a new Cougar Open CL support library and a number of new features and enhancements including support for VS2012 and announcing support for VS2013. Trial version can be downloaded from the download section.