parent
a11e026e4f
commit
8e4c71fd0d
@ -1,6 +1,6 @@
|
|||||||
# RingBuffer
|
# RingBuffer
|
||||||
|
|
||||||
It is a way to connect the SDF graph to an audio source or sink.
|
It is a way to connect the compute graph with static flow to an audio source or sink.
|
||||||
|
|
||||||
The node part is implemented in the AudioSource and AudioSink parts.
|
The node part is implemented in the AudioSource and AudioSink parts.
|
||||||
|
|
||||||
@ -1,7 +1,7 @@
|
|||||||
/* ----------------------------------------------------------------------
|
/* ----------------------------------------------------------------------
|
||||||
* Project: CMSIS DSP Library
|
* Project: CMSIS DSP Library
|
||||||
* Title: RingBuffer.h
|
* Title: RingBuffer.h
|
||||||
* Description: Ring buffer to connect the SDF to audio sources and sinks
|
* Description: Ring buffer to connect the compute graph with static flow to audio sources and sinks
|
||||||
*
|
*
|
||||||
* $Date: 30 July 2021
|
* $Date: 30 July 2021
|
||||||
* $Revision: V1.10.0
|
* $Revision: V1.10.0
|
||||||
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
|
|
||||||
Generated with CMSIS-DSP SDF Scripts.
|
Generated with CMSIS-DSP Compute Graph Scripts.
|
||||||
The generated code is not covered by CMSIS-DSP license.
|
The generated code is not covered by CMSIS-DSP license.
|
||||||
|
|
||||||
The support classes and code is covered by CMSIS-DSP license.
|
The support classes and code is covered by CMSIS-DSP license.
|
||||||
@ -1,4 +1,4 @@
|
|||||||
from cmsisdsp.sdf.scheduler import *
|
from cmsisdsp.cg.static.scheduler import *
|
||||||
|
|
||||||
### Define new types of Nodes
|
### Define new types of Nodes
|
||||||
|
|
||||||
File diff suppressed because it is too large
Load Diff
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
|
|
||||||
Generated with CMSIS-DSP SDF Scripts.
|
Generated with CMSIS-DSP Compute Graph Scripts.
|
||||||
The generated code is not covered by CMSIS-DSP license.
|
The generated code is not covered by CMSIS-DSP license.
|
||||||
|
|
||||||
The support classes and code is covered by CMSIS-DSP license.
|
The support classes and code is covered by CMSIS-DSP license.
|
||||||
@ -1,4 +1,4 @@
|
|||||||
from cmsisdsp.sdf.scheduler import *
|
from cmsisdsp.cg.static.scheduler import *
|
||||||
|
|
||||||
|
|
||||||
AUDIO_INTERRUPT_LENGTH = 160
|
AUDIO_INTERRUPT_LENGTH = 160
|
||||||
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
|
|
||||||
Generated with CMSIS-DSP SDF Scripts.
|
Generated with CMSIS-DSP Compute Graph Scripts.
|
||||||
The generated code is not covered by CMSIS-DSP license.
|
The generated code is not covered by CMSIS-DSP license.
|
||||||
|
|
||||||
The support classes and code is covered by CMSIS-DSP license.
|
The support classes and code is covered by CMSIS-DSP license.
|
||||||
@ -1,6 +1,6 @@
|
|||||||
import numpy as np
|
import numpy as np
|
||||||
|
|
||||||
from cmsisdsp.sdf.scheduler import *
|
from cmsisdsp.cg.static.scheduler import *
|
||||||
|
|
||||||
|
|
||||||
FS=16000
|
FS=16000
|
||||||
@ -0,0 +1,143 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
digraph structs {
|
||||||
|
node [shape=plaintext]
|
||||||
|
rankdir=LR
|
||||||
|
edge [arrowsize=0.5]
|
||||||
|
fontname="times"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
arm_mult_f321 [label=<
|
||||||
|
<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" CELLPADDING="4">
|
||||||
|
<TR>
|
||||||
|
<TD PORT="ia"><FONT POINT-SIZE="9.0">ia</FONT></TD>
|
||||||
|
<TD ALIGN="CENTER" ROWSPAN="2">arm_mult_f32<BR/>(CMSIS-DSP)</TD>
|
||||||
|
<TD PORT="o"><FONT POINT-SIZE="9.0">o</FONT></TD>
|
||||||
|
</TR>
|
||||||
|
<TR>
|
||||||
|
<TD PORT="ib"><FONT POINT-SIZE="9.0">ib</FONT></TD>
|
||||||
|
|
||||||
|
|
||||||
|
<TD></TD></TR>
|
||||||
|
|
||||||
|
</TABLE>>];
|
||||||
|
|
||||||
|
audioOverlap [label=<
|
||||||
|
<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" CELLPADDING="4">
|
||||||
|
<TR>
|
||||||
|
<TD ALIGN="CENTER" PORT="i">audioOverlap<BR/>(OverlapAdd)</TD>
|
||||||
|
</TR>
|
||||||
|
</TABLE>>];
|
||||||
|
|
||||||
|
audioWin [label=<
|
||||||
|
<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" CELLPADDING="4">
|
||||||
|
<TR>
|
||||||
|
<TD ALIGN="CENTER" PORT="i">audioWin<BR/>(SlidingBuffer)</TD>
|
||||||
|
</TR>
|
||||||
|
</TABLE>>];
|
||||||
|
|
||||||
|
cfft [label=<
|
||||||
|
<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" CELLPADDING="4">
|
||||||
|
<TR>
|
||||||
|
<TD ALIGN="CENTER" PORT="i">cfft<BR/>(CFFT)</TD>
|
||||||
|
</TR>
|
||||||
|
</TABLE>>];
|
||||||
|
|
||||||
|
icfft [label=<
|
||||||
|
<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" CELLPADDING="4">
|
||||||
|
<TR>
|
||||||
|
<TD ALIGN="CENTER" PORT="i">icfft<BR/>(ICFFT)</TD>
|
||||||
|
</TR>
|
||||||
|
</TABLE>>];
|
||||||
|
|
||||||
|
sink [label=<
|
||||||
|
<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" CELLPADDING="4">
|
||||||
|
<TR>
|
||||||
|
<TD ALIGN="CENTER" PORT="i">sink<BR/>(FileSink)</TD>
|
||||||
|
</TR>
|
||||||
|
</TABLE>>];
|
||||||
|
|
||||||
|
src [label=<
|
||||||
|
<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" CELLPADDING="4">
|
||||||
|
<TR>
|
||||||
|
<TD ALIGN="CENTER" PORT="i">src<BR/>(FileSource)</TD>
|
||||||
|
</TR>
|
||||||
|
</TABLE>>];
|
||||||
|
|
||||||
|
toCmplx [label=<
|
||||||
|
<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" CELLPADDING="4">
|
||||||
|
<TR>
|
||||||
|
<TD ALIGN="CENTER" PORT="i">toCmplx<BR/>(ToComplex)</TD>
|
||||||
|
</TR>
|
||||||
|
</TABLE>>];
|
||||||
|
|
||||||
|
toReal [label=<
|
||||||
|
<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" CELLPADDING="4">
|
||||||
|
<TR>
|
||||||
|
<TD ALIGN="CENTER" PORT="i">toReal<BR/>(ToReal)</TD>
|
||||||
|
</TR>
|
||||||
|
</TABLE>>];
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
src:i -> audioWin:i [label="f32(256)"
|
||||||
|
,headlabel=<<TABLE BORDER="0" CELLPADDING="2"><TR><TD><FONT COLOR="blue" POINT-SIZE="12.0" >128</FONT>
|
||||||
|
</TD></TR></TABLE>>
|
||||||
|
,taillabel=<<TABLE BORDER="0" CELLPADDING="2"><TR><TD><FONT COLOR="blue" POINT-SIZE="12.0" >192</FONT>
|
||||||
|
</TD></TR></TABLE>>]
|
||||||
|
|
||||||
|
audioWin:i -> arm_mult_f321:ia [label="f32(256)"
|
||||||
|
,headlabel=<<TABLE BORDER="0" CELLPADDING="2"><TR><TD><FONT COLOR="blue" POINT-SIZE="12.0" >256</FONT>
|
||||||
|
</TD></TR></TABLE>>
|
||||||
|
,taillabel=<<TABLE BORDER="0" CELLPADDING="2"><TR><TD><FONT COLOR="blue" POINT-SIZE="12.0" >256</FONT>
|
||||||
|
</TD></TR></TABLE>>]
|
||||||
|
|
||||||
|
arm_mult_f321:o -> toCmplx:i [label="f32(256)"
|
||||||
|
,headlabel=<<TABLE BORDER="0" CELLPADDING="2"><TR><TD><FONT COLOR="blue" POINT-SIZE="12.0" >256</FONT>
|
||||||
|
</TD></TR></TABLE>>
|
||||||
|
,taillabel=<<TABLE BORDER="0" CELLPADDING="2"><TR><TD><FONT COLOR="blue" POINT-SIZE="12.0" >256</FONT>
|
||||||
|
</TD></TR></TABLE>>]
|
||||||
|
|
||||||
|
toCmplx:i -> cfft:i [label="f32(512)"
|
||||||
|
,headlabel=<<TABLE BORDER="0" CELLPADDING="2"><TR><TD><FONT COLOR="blue" POINT-SIZE="12.0" >512</FONT>
|
||||||
|
</TD></TR></TABLE>>
|
||||||
|
,taillabel=<<TABLE BORDER="0" CELLPADDING="2"><TR><TD><FONT COLOR="blue" POINT-SIZE="12.0" >512</FONT>
|
||||||
|
</TD></TR></TABLE>>]
|
||||||
|
|
||||||
|
cfft:i -> icfft:i [label="f32(512)"
|
||||||
|
,headlabel=<<TABLE BORDER="0" CELLPADDING="2"><TR><TD><FONT COLOR="blue" POINT-SIZE="12.0" >512</FONT>
|
||||||
|
</TD></TR></TABLE>>
|
||||||
|
,taillabel=<<TABLE BORDER="0" CELLPADDING="2"><TR><TD><FONT COLOR="blue" POINT-SIZE="12.0" >512</FONT>
|
||||||
|
</TD></TR></TABLE>>]
|
||||||
|
|
||||||
|
icfft:i -> toReal:i [label="f32(512)"
|
||||||
|
,headlabel=<<TABLE BORDER="0" CELLPADDING="2"><TR><TD><FONT COLOR="blue" POINT-SIZE="12.0" >512</FONT>
|
||||||
|
</TD></TR></TABLE>>
|
||||||
|
,taillabel=<<TABLE BORDER="0" CELLPADDING="2"><TR><TD><FONT COLOR="blue" POINT-SIZE="12.0" >512</FONT>
|
||||||
|
</TD></TR></TABLE>>]
|
||||||
|
|
||||||
|
toReal:i -> audioOverlap:i [label="f32(256)"
|
||||||
|
,headlabel=<<TABLE BORDER="0" CELLPADDING="2"><TR><TD><FONT COLOR="blue" POINT-SIZE="12.0" >256</FONT>
|
||||||
|
</TD></TR></TABLE>>
|
||||||
|
,taillabel=<<TABLE BORDER="0" CELLPADDING="2"><TR><TD><FONT COLOR="blue" POINT-SIZE="12.0" >256</FONT>
|
||||||
|
</TD></TR></TABLE>>]
|
||||||
|
|
||||||
|
audioOverlap:i -> sink:i [label="f32(256)"
|
||||||
|
,headlabel=<<TABLE BORDER="0" CELLPADDING="2"><TR><TD><FONT COLOR="blue" POINT-SIZE="12.0" >192</FONT>
|
||||||
|
</TD></TR></TABLE>>
|
||||||
|
,taillabel=<<TABLE BORDER="0" CELLPADDING="2"><TR><TD><FONT COLOR="blue" POINT-SIZE="12.0" >128</FONT>
|
||||||
|
</TD></TR></TABLE>>]
|
||||||
|
|
||||||
|
HANN [label=<
|
||||||
|
<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" CELLPADDING="4">
|
||||||
|
<TR>
|
||||||
|
<TD ALIGN="CENTER" PORT="i">HANN</TD>
|
||||||
|
</TR>
|
||||||
|
</TABLE>>];
|
||||||
|
|
||||||
|
HANN:i -> arm_mult_f321:ib
|
||||||
|
|
||||||
|
}
|
||||||
@ -1,6 +1,6 @@
|
|||||||
import numpy as np
|
import numpy as np
|
||||||
|
|
||||||
from cmsisdsp.sdf.scheduler import *
|
from cmsisdsp.cg.static.scheduler import *
|
||||||
|
|
||||||
|
|
||||||
FS=16000
|
FS=16000
|
||||||
@ -0,0 +1,143 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
digraph structs {
|
||||||
|
node [shape=plaintext]
|
||||||
|
rankdir=LR
|
||||||
|
edge [arrowsize=0.5]
|
||||||
|
fontname="times"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
arm_mult_f321 [label=<
|
||||||
|
<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" CELLPADDING="4">
|
||||||
|
<TR>
|
||||||
|
<TD PORT="ia"><FONT POINT-SIZE="9.0">ia</FONT></TD>
|
||||||
|
<TD ALIGN="CENTER" ROWSPAN="2">arm_mult_f32<BR/>(CMSIS-DSP)</TD>
|
||||||
|
<TD PORT="o"><FONT POINT-SIZE="9.0">o</FONT></TD>
|
||||||
|
</TR>
|
||||||
|
<TR>
|
||||||
|
<TD PORT="ib"><FONT POINT-SIZE="9.0">ib</FONT></TD>
|
||||||
|
|
||||||
|
|
||||||
|
<TD></TD></TR>
|
||||||
|
|
||||||
|
</TABLE>>];
|
||||||
|
|
||||||
|
audioOverlap [label=<
|
||||||
|
<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" CELLPADDING="4">
|
||||||
|
<TR>
|
||||||
|
<TD ALIGN="CENTER" PORT="i">audioOverlap<BR/>(OverlapAdd)</TD>
|
||||||
|
</TR>
|
||||||
|
</TABLE>>];
|
||||||
|
|
||||||
|
audioWin [label=<
|
||||||
|
<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" CELLPADDING="4">
|
||||||
|
<TR>
|
||||||
|
<TD ALIGN="CENTER" PORT="i">audioWin<BR/>(SlidingBuffer)</TD>
|
||||||
|
</TR>
|
||||||
|
</TABLE>>];
|
||||||
|
|
||||||
|
cfft [label=<
|
||||||
|
<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" CELLPADDING="4">
|
||||||
|
<TR>
|
||||||
|
<TD ALIGN="CENTER" PORT="i">cfft<BR/>(CFFT)</TD>
|
||||||
|
</TR>
|
||||||
|
</TABLE>>];
|
||||||
|
|
||||||
|
icfft [label=<
|
||||||
|
<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" CELLPADDING="4">
|
||||||
|
<TR>
|
||||||
|
<TD ALIGN="CENTER" PORT="i">icfft<BR/>(ICFFT)</TD>
|
||||||
|
</TR>
|
||||||
|
</TABLE>>];
|
||||||
|
|
||||||
|
sink [label=<
|
||||||
|
<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" CELLPADDING="4">
|
||||||
|
<TR>
|
||||||
|
<TD ALIGN="CENTER" PORT="i">sink<BR/>(FileSink)</TD>
|
||||||
|
</TR>
|
||||||
|
</TABLE>>];
|
||||||
|
|
||||||
|
src [label=<
|
||||||
|
<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" CELLPADDING="4">
|
||||||
|
<TR>
|
||||||
|
<TD ALIGN="CENTER" PORT="i">src<BR/>(FileSource)</TD>
|
||||||
|
</TR>
|
||||||
|
</TABLE>>];
|
||||||
|
|
||||||
|
toCmplx [label=<
|
||||||
|
<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" CELLPADDING="4">
|
||||||
|
<TR>
|
||||||
|
<TD ALIGN="CENTER" PORT="i">toCmplx<BR/>(ToComplex)</TD>
|
||||||
|
</TR>
|
||||||
|
</TABLE>>];
|
||||||
|
|
||||||
|
toReal [label=<
|
||||||
|
<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" CELLPADDING="4">
|
||||||
|
<TR>
|
||||||
|
<TD ALIGN="CENTER" PORT="i">toReal<BR/>(ToReal)</TD>
|
||||||
|
</TR>
|
||||||
|
</TABLE>>];
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
src:i -> audioWin:i [label="f32(256)"
|
||||||
|
,headlabel=<<TABLE BORDER="0" CELLPADDING="2"><TR><TD><FONT COLOR="blue" POINT-SIZE="12.0" >128</FONT>
|
||||||
|
</TD></TR></TABLE>>
|
||||||
|
,taillabel=<<TABLE BORDER="0" CELLPADDING="2"><TR><TD><FONT COLOR="blue" POINT-SIZE="12.0" >192</FONT>
|
||||||
|
</TD></TR></TABLE>>]
|
||||||
|
|
||||||
|
audioWin:i -> arm_mult_f321:ia [label="f32(256)"
|
||||||
|
,headlabel=<<TABLE BORDER="0" CELLPADDING="2"><TR><TD><FONT COLOR="blue" POINT-SIZE="12.0" >256</FONT>
|
||||||
|
</TD></TR></TABLE>>
|
||||||
|
,taillabel=<<TABLE BORDER="0" CELLPADDING="2"><TR><TD><FONT COLOR="blue" POINT-SIZE="12.0" >256</FONT>
|
||||||
|
</TD></TR></TABLE>>]
|
||||||
|
|
||||||
|
arm_mult_f321:o -> toCmplx:i [label="f32(256)"
|
||||||
|
,headlabel=<<TABLE BORDER="0" CELLPADDING="2"><TR><TD><FONT COLOR="blue" POINT-SIZE="12.0" >256</FONT>
|
||||||
|
</TD></TR></TABLE>>
|
||||||
|
,taillabel=<<TABLE BORDER="0" CELLPADDING="2"><TR><TD><FONT COLOR="blue" POINT-SIZE="12.0" >256</FONT>
|
||||||
|
</TD></TR></TABLE>>]
|
||||||
|
|
||||||
|
toCmplx:i -> cfft:i [label="f32(512)"
|
||||||
|
,headlabel=<<TABLE BORDER="0" CELLPADDING="2"><TR><TD><FONT COLOR="blue" POINT-SIZE="12.0" >512</FONT>
|
||||||
|
</TD></TR></TABLE>>
|
||||||
|
,taillabel=<<TABLE BORDER="0" CELLPADDING="2"><TR><TD><FONT COLOR="blue" POINT-SIZE="12.0" >512</FONT>
|
||||||
|
</TD></TR></TABLE>>]
|
||||||
|
|
||||||
|
cfft:i -> icfft:i [label="f32(512)"
|
||||||
|
,headlabel=<<TABLE BORDER="0" CELLPADDING="2"><TR><TD><FONT COLOR="blue" POINT-SIZE="12.0" >512</FONT>
|
||||||
|
</TD></TR></TABLE>>
|
||||||
|
,taillabel=<<TABLE BORDER="0" CELLPADDING="2"><TR><TD><FONT COLOR="blue" POINT-SIZE="12.0" >512</FONT>
|
||||||
|
</TD></TR></TABLE>>]
|
||||||
|
|
||||||
|
icfft:i -> toReal:i [label="f32(512)"
|
||||||
|
,headlabel=<<TABLE BORDER="0" CELLPADDING="2"><TR><TD><FONT COLOR="blue" POINT-SIZE="12.0" >512</FONT>
|
||||||
|
</TD></TR></TABLE>>
|
||||||
|
,taillabel=<<TABLE BORDER="0" CELLPADDING="2"><TR><TD><FONT COLOR="blue" POINT-SIZE="12.0" >512</FONT>
|
||||||
|
</TD></TR></TABLE>>]
|
||||||
|
|
||||||
|
toReal:i -> audioOverlap:i [label="f32(256)"
|
||||||
|
,headlabel=<<TABLE BORDER="0" CELLPADDING="2"><TR><TD><FONT COLOR="blue" POINT-SIZE="12.0" >256</FONT>
|
||||||
|
</TD></TR></TABLE>>
|
||||||
|
,taillabel=<<TABLE BORDER="0" CELLPADDING="2"><TR><TD><FONT COLOR="blue" POINT-SIZE="12.0" >256</FONT>
|
||||||
|
</TD></TR></TABLE>>]
|
||||||
|
|
||||||
|
audioOverlap:i -> sink:i [label="f32(256)"
|
||||||
|
,headlabel=<<TABLE BORDER="0" CELLPADDING="2"><TR><TD><FONT COLOR="blue" POINT-SIZE="12.0" >192</FONT>
|
||||||
|
</TD></TR></TABLE>>
|
||||||
|
,taillabel=<<TABLE BORDER="0" CELLPADDING="2"><TR><TD><FONT COLOR="blue" POINT-SIZE="12.0" >128</FONT>
|
||||||
|
</TD></TR></TABLE>>]
|
||||||
|
|
||||||
|
HANN [label=<
|
||||||
|
<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" CELLPADDING="4">
|
||||||
|
<TR>
|
||||||
|
<TD ALIGN="CENTER" PORT="i">HANN</TD>
|
||||||
|
</TR>
|
||||||
|
</TABLE>>];
|
||||||
|
|
||||||
|
HANN:i -> arm_mult_f321:ib
|
||||||
|
|
||||||
|
}
|
||||||
@ -1,6 +1,6 @@
|
|||||||
import numpy as np
|
import numpy as np
|
||||||
|
|
||||||
from cmsisdsp.sdf.scheduler import *
|
from cmsisdsp.cg.static.scheduler import *
|
||||||
|
|
||||||
|
|
||||||
from sharedconfig import *
|
from sharedconfig import *
|
||||||
@ -0,0 +1,960 @@
|
|||||||
|
#
|
||||||
|
# Generated with CMSIS-DSP Compute Graph Scripts.
|
||||||
|
# The generated code is not covered by CMSIS-DSP license.
|
||||||
|
#
|
||||||
|
# The support classes and code is covered by CMSIS-DSP license.
|
||||||
|
#
|
||||||
|
|
||||||
|
import sys
|
||||||
|
|
||||||
|
|
||||||
|
import numpy as np
|
||||||
|
import cmsisdsp as dsp
|
||||||
|
from cmsisdsp.cg.static.nodes.simu import *
|
||||||
|
from appnodes import *
|
||||||
|
from custom import *
|
||||||
|
|
||||||
|
DEBUGSCHED=False
|
||||||
|
|
||||||
|
#
|
||||||
|
# FIFO buffers
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
FIFOSIZE0=384
|
||||||
|
|
||||||
|
buf0=np.empty(FIFOSIZE0,dtype=np.int16)
|
||||||
|
for i in range(FIFOSIZE0):
|
||||||
|
buf0[i] = 0
|
||||||
|
|
||||||
|
FIFOSIZE1=768
|
||||||
|
|
||||||
|
buf1=np.empty(FIFOSIZE1,dtype=np.int16)
|
||||||
|
for i in range(FIFOSIZE1):
|
||||||
|
buf1[i] = 0
|
||||||
|
|
||||||
|
FIFOSIZE2=1024
|
||||||
|
|
||||||
|
buf2=np.empty(FIFOSIZE2,dtype=np.int16)
|
||||||
|
for i in range(FIFOSIZE2):
|
||||||
|
buf2[i] = 0
|
||||||
|
|
||||||
|
FIFOSIZE3=377
|
||||||
|
|
||||||
|
buf3=np.empty(FIFOSIZE3,dtype=np.int16)
|
||||||
|
for i in range(FIFOSIZE3):
|
||||||
|
buf3[i] = 0
|
||||||
|
|
||||||
|
FIFOSIZE4=754
|
||||||
|
|
||||||
|
buf4=np.empty(FIFOSIZE4,dtype=np.int16)
|
||||||
|
for i in range(FIFOSIZE4):
|
||||||
|
buf4[i] = 0
|
||||||
|
|
||||||
|
|
||||||
|
def scheduler(mfccConfig,dispbuf):
|
||||||
|
cgStaticError=0
|
||||||
|
nbSchedule=0
|
||||||
|
debugCounter=12
|
||||||
|
|
||||||
|
#
|
||||||
|
# Create FIFOs objects
|
||||||
|
#
|
||||||
|
fifo0=FIFO(FIFOSIZE0,buf0)
|
||||||
|
fifo1=FIFO(FIFOSIZE1,buf1)
|
||||||
|
fifo2=FIFO(FIFOSIZE2,buf2)
|
||||||
|
fifo3=FIFO(FIFOSIZE3,buf3)
|
||||||
|
fifo4=FIFO(FIFOSIZE4,buf4)
|
||||||
|
|
||||||
|
#
|
||||||
|
# Create node objects
|
||||||
|
#
|
||||||
|
audioWin = SlidingBuffer(1024,256,fifo1,fifo2)
|
||||||
|
mfcc = MFCC(1024,13,fifo2,fifo3,mfccConfig)
|
||||||
|
mfccWin = SlidingBuffer(754,377,fifo3,fifo4)
|
||||||
|
sink = NumpySink(754,fifo4,dispbuf)
|
||||||
|
src = WavSource(384,fifo0,True,"test_stereo.wav")
|
||||||
|
toMono = StereoToMono(384,192,fifo0,fifo1)
|
||||||
|
|
||||||
|
while((cgStaticError==0) and (debugCounter > 0)):
|
||||||
|
nbSchedule = nbSchedule + 1
|
||||||
|
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = audioWin.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = mfcc.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = audioWin.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = mfcc.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = audioWin.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = mfcc.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = audioWin.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = mfcc.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = audioWin.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = mfcc.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = audioWin.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = mfcc.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = audioWin.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = mfcc.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = audioWin.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = mfcc.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = audioWin.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = mfcc.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = audioWin.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = mfcc.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = audioWin.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = mfcc.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = audioWin.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = mfcc.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = audioWin.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = mfcc.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = audioWin.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = mfcc.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = audioWin.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = mfcc.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = audioWin.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = mfcc.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = audioWin.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = mfcc.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = audioWin.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = mfcc.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = audioWin.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = mfcc.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = audioWin.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = mfcc.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = audioWin.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = mfcc.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = audioWin.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = mfcc.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = audioWin.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = mfcc.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = audioWin.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = mfcc.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = audioWin.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = mfcc.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = audioWin.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = mfcc.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = audioWin.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = mfcc.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = audioWin.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = mfcc.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = src.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = toMono.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = audioWin.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = mfcc.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = mfccWin.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
cgStaticError = sink.run()
|
||||||
|
if cgStaticError < 0:
|
||||||
|
break
|
||||||
|
|
||||||
|
debugCounter = debugCounter - 1
|
||||||
|
return(nbSchedule,cgStaticError)
|
||||||
@ -0,0 +1,87 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
digraph structs {
|
||||||
|
node [shape=plaintext]
|
||||||
|
rankdir=LR
|
||||||
|
edge [arrowsize=0.5]
|
||||||
|
fontname="times"
|
||||||
|
|
||||||
|
|
||||||
|
audioWin [label=<
|
||||||
|
<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" CELLPADDING="4">
|
||||||
|
<TR>
|
||||||
|
<TD ALIGN="CENTER" PORT="i">audioWin<BR/>(SlidingBuffer)</TD>
|
||||||
|
</TR>
|
||||||
|
</TABLE>>];
|
||||||
|
|
||||||
|
mfcc [label=<
|
||||||
|
<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" CELLPADDING="4">
|
||||||
|
<TR>
|
||||||
|
<TD ALIGN="CENTER" PORT="i">mfcc<BR/>(MFCC)</TD>
|
||||||
|
</TR>
|
||||||
|
</TABLE>>];
|
||||||
|
|
||||||
|
mfccWin [label=<
|
||||||
|
<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" CELLPADDING="4">
|
||||||
|
<TR>
|
||||||
|
<TD ALIGN="CENTER" PORT="i">mfccWin<BR/>(SlidingBuffer)</TD>
|
||||||
|
</TR>
|
||||||
|
</TABLE>>];
|
||||||
|
|
||||||
|
sink [label=<
|
||||||
|
<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" CELLPADDING="4">
|
||||||
|
<TR>
|
||||||
|
<TD ALIGN="CENTER" PORT="i">sink<BR/>(NumpySink)</TD>
|
||||||
|
</TR>
|
||||||
|
</TABLE>>];
|
||||||
|
|
||||||
|
src [label=<
|
||||||
|
<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" CELLPADDING="4">
|
||||||
|
<TR>
|
||||||
|
<TD ALIGN="CENTER" PORT="i">src<BR/>(WavSource)</TD>
|
||||||
|
</TR>
|
||||||
|
</TABLE>>];
|
||||||
|
|
||||||
|
toMono [label=<
|
||||||
|
<TABLE BORDER="0" CELLBORDER="1" CELLSPACING="0" CELLPADDING="4">
|
||||||
|
<TR>
|
||||||
|
<TD ALIGN="CENTER" PORT="i">toMono<BR/>(StereoToMono)</TD>
|
||||||
|
</TR>
|
||||||
|
</TABLE>>];
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
src:i -> toMono:i [label="q15(384)"
|
||||||
|
,headlabel=<<TABLE BORDER="0" CELLPADDING="2"><TR><TD><FONT COLOR="blue" POINT-SIZE="12.0" >384</FONT>
|
||||||
|
</TD></TR></TABLE>>
|
||||||
|
,taillabel=<<TABLE BORDER="0" CELLPADDING="2"><TR><TD><FONT COLOR="blue" POINT-SIZE="12.0" >384</FONT>
|
||||||
|
</TD></TR></TABLE>>]
|
||||||
|
|
||||||
|
toMono:i -> audioWin:i [label="q15(768)"
|
||||||
|
,headlabel=<<TABLE BORDER="0" CELLPADDING="2"><TR><TD><FONT COLOR="blue" POINT-SIZE="12.0" >768</FONT>
|
||||||
|
</TD></TR></TABLE>>
|
||||||
|
,taillabel=<<TABLE BORDER="0" CELLPADDING="2"><TR><TD><FONT COLOR="blue" POINT-SIZE="12.0" >192</FONT>
|
||||||
|
</TD></TR></TABLE>>]
|
||||||
|
|
||||||
|
audioWin:i -> mfcc:i [label="q15(1024)"
|
||||||
|
,headlabel=<<TABLE BORDER="0" CELLPADDING="2"><TR><TD><FONT COLOR="blue" POINT-SIZE="12.0" >1024</FONT>
|
||||||
|
</TD></TR></TABLE>>
|
||||||
|
,taillabel=<<TABLE BORDER="0" CELLPADDING="2"><TR><TD><FONT COLOR="blue" POINT-SIZE="12.0" >1024</FONT>
|
||||||
|
</TD></TR></TABLE>>]
|
||||||
|
|
||||||
|
mfcc:i -> mfccWin:i [label="q15(377)"
|
||||||
|
,headlabel=<<TABLE BORDER="0" CELLPADDING="2"><TR><TD><FONT COLOR="blue" POINT-SIZE="12.0" >377</FONT>
|
||||||
|
</TD></TR></TABLE>>
|
||||||
|
,taillabel=<<TABLE BORDER="0" CELLPADDING="2"><TR><TD><FONT COLOR="blue" POINT-SIZE="12.0" >13</FONT>
|
||||||
|
</TD></TR></TABLE>>]
|
||||||
|
|
||||||
|
mfccWin:i -> sink:i [label="q15(754)"
|
||||||
|
,headlabel=<<TABLE BORDER="0" CELLPADDING="2"><TR><TD><FONT COLOR="blue" POINT-SIZE="12.0" >754</FONT>
|
||||||
|
</TD></TR></TABLE>>
|
||||||
|
,taillabel=<<TABLE BORDER="0" CELLPADDING="2"><TR><TD><FONT COLOR="blue" POINT-SIZE="12.0" >754</FONT>
|
||||||
|
</TD></TR></TABLE>>]
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
|
|
||||||
Generated with CMSIS-DSP SDF Scripts.
|
Generated with CMSIS-DSP Compute Graph Scripts.
|
||||||
The generated code is not covered by CMSIS-DSP license.
|
The generated code is not covered by CMSIS-DSP license.
|
||||||
|
|
||||||
The support classes and code is covered by CMSIS-DSP license.
|
The support classes and code is covered by CMSIS-DSP license.
|
||||||
@ -1,6 +1,6 @@
|
|||||||
import numpy as np
|
import numpy as np
|
||||||
|
|
||||||
from cmsisdsp.sdf.scheduler import *
|
from cmsisdsp.cg.static.scheduler import *
|
||||||
|
|
||||||
|
|
||||||
from sharedconfig import *
|
from sharedconfig import *
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue