|
**Welcome to Wiki pages of the Digital Signal Processing Engine library (DSPElib)**
|
|
**Welcome to Wiki pages of the Digital Signal Processing Engine library (DSPElib)**
|
|
|
|
|
|
The DSPElib is a C++ library for rapid multirate digital signal processing (DSP) standalone applications development.
|
|
The DSPElib is a C++ library for rapid multirate digital signal processing (DSP) standalone applications development.
|
|
The library provides extensive support for standalone DSP applications debugging It has been prepared for the use with gcc compiler in Windows with MinGW and Linux. Nevertheless, it is possible to use the library with the Microsoft Visual Studio.
|
|
The library provides extensive support for standalone DSP applications implementation and debugging.
|
|
Linux compilation incorporates the initial implementation of audio input and output blocks.
|
|
It has been prepared maily for the use with open gcc compiler in Windows (with MinGW) and Linux.
|
|
|
|
Recent library version provide initial implementation of audio input and output blocks also for Linux based on ALSA library.
|
|
|
|
Nevertheless, the library is also compatible with the Microsoft Visual Studio and its compiler.
|
|
|
|
|
|
The main idea of the library is that DSP algorithm blocks correspond directly to C++ objects
|
|
The main idea of the library is that DSP algorithm blocks correspond directly to C++ objects
|
|
and the DSP algorithm is implemented by clocks definitions, objects creation, and definition of connections between particular inputs and outputs.
|
|
which allows the DSP algorithm to be implemented based on their block diagrams in a simplified manner.
|
|
|
|
The algorithm is implemented by clocks definitions, objects (procesisng blocks) creation, and definition of connections between particular inputs and outputs.
|
|
|
|
|
|
[[_TOC_]]
|
|
[[_TOC_]]
|
|
|
|
|
... | @@ -14,10 +17,10 @@ and the DSP algorithm is implemented by clocks definitions, objects creation, an |
... | @@ -14,10 +17,10 @@ and the DSP algorithm is implemented by clocks definitions, objects creation, an |
|
int main(void)
|
|
int main(void)
|
|
{
|
|
{
|
|
long int Fp;
|
|
long int Fp;
|
|
DSP_clock_ptr MasterClock;
|
|
DSP::Clock_ptr MasterClock;
|
|
|
|
|
|
// mater clock declaration
|
|
// mater clock declaration
|
|
MasterClock = DSP_clock::CreateMasterClock();
|
|
MasterClock = DSP::Clock::CreateMasterClock();
|
|
|
|
|
|
// DSP blocks creation
|
|
// DSP blocks creation
|
|
DSP::u::WaveInput AudioIn(MasterClock, "test.wav", ".");
|
|
DSP::u::WaveInput AudioIn(MasterClock, "test.wav", ".");
|
... | @@ -29,11 +32,11 @@ int main(void) |
... | @@ -29,11 +32,11 @@ int main(void) |
|
|
|
|
|
// processing loop
|
|
// processing loop
|
|
do {
|
|
do {
|
|
DSP_clock::Execute(MasterClock, Fp/8);
|
|
DSP::Clock::Execute(MasterClock, Fp/8);
|
|
} while (AudioIn.GetBytesRead() != 0);
|
|
} while (AudioIn.GetBytesRead() != 0);
|
|
|
|
|
|
// final cleanup
|
|
// final cleanup
|
|
DSP_clock::FreeClocks();
|
|
DSP::Clock::FreeClocks();
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
~~~
|
|
~~~
|
... | @@ -62,3 +65,4 @@ int main(void) |
... | @@ -62,3 +65,4 @@ int main(void) |
|
- [Library presentation (in English)](docs/DSPE_leaflet_04_2010_v_2022.pdf)
|
|
- [Library presentation (in English)](docs/DSPE_leaflet_04_2010_v_2022.pdf)
|
|
- [Library presentation (in Polish)](docs/DSPElib prezentacja 2022_01_19.pdf)
|
|
- [Library presentation (in Polish)](docs/DSPElib prezentacja 2022_01_19.pdf)
|
|
- [Notes on library use with Visual Studio Code](VSCode-DSPElib-readme)
|
|
- [Notes on library use with Visual Studio Code](VSCode-DSPElib-readme)
|
|
|
|
- [Notes on library use with Visual Studio 2019](VS2019-DSPElib-readme) |