Skip to content

Horizon dev - #34

Open
paresh-bhagat wants to merge 5 commits into
TexasInstruments:mainfrom
paresh-bhagat:horizon-dev
Open

Horizon dev#34
paresh-bhagat wants to merge 5 commits into
TexasInstruments:mainfrom
paresh-bhagat:horizon-dev

Conversation

@paresh-bhagat

Copy link
Copy Markdown
Collaborator

No description provided.

- Extract pipeline files: audio_enhancement, stft_istft, tvm, audio_utils, pipeline_common
- Rename GenericTaskClient -> DspTaskClient; remove interactive CLI mode
- Add pipeline_type field for dispatch; remove pipeline_id and model_config
- Move model params (hop_size, model_elems, total_frames, batch_n) to stage parameters
- Add dsp_config (proc_id, endpoint) to JSON; remove all hardcoded RPMsg constants
- Size STFT/ISTFT DMA buffers independently from their respective stage parameters

Signed-off-by: Paresh Bhagat <p-bhagat@ti.com>
Replace non-overlapping chunk processing with overlap-save approach:
- OVERLAP_FRAMES=100, HOP_FRAMES=301, T_FRAMES=50
- Consecutive chunks overlap by 100 frames (1600 samples at 160 hop)
- trim_reconstruct: first chunk keeps [0..end-T], middle chunks keep
  [T..end-T], last chunk keeps [T..real_end]

Signed-off-by: Paresh Bhagat <p-bhagat@ti.com>
Introduces a Unix domain socket daemon (demo-manager) that manages the
lifecycle of DSP demos on the board. The daemon accepts JSON commands
(list/run/stop/status/preload/quit) over /var/run/demo-manager.sock and
handles two demo classes:

- edge-ai: automatically preloads the TVM model before launch to
  eliminate cold-start latency from Module::LoadFromFile
- dsp-compute (2dfft, audio-offload, sigchain-biquad): invalidates the
  TVM model cache after completion, since these demos load their own
  DSP firmware and overwrite TVM runtime state

Also adds:
- demo-ctl: CLI client for sending commands to the daemon
- tvm_model_daemon: persistent service that keeps the TVM model loaded
  and serves inference requests over a socket, enabling the fast-path
  in TvmInferenceClient
- systemd service files for demo-manager and tvm-model-daemon
- TvmInferenceClient: fast-path to delegate to daemon, avoiding
  per-run model reload; synchronize_dma_buffer now takes an explicit fd

Signed-off-by: Vishnu Singh <v-singh1@ti.com>
Signed-off-by: Paresh Bhagat <p-bhagat@ti.com>
- Rename stft_process_msg -> stft_istft_msg, remove redundant graph_id
  with selected_model.
- Add selected_model to STFT/ISTFT stage parameters in JSON files

Signed-off-by: Paresh Bhagat <p-bhagat@ti.com>
Add a new pipeline type 'audio_classification' for analysis-only models
(YAMNet, VGGish) that run STFT log-mel extraction without ISTFT synthesis.

Pipeline details:
selected_model=4, hop_size=160, model_elems=64, total_frames=96

Signed-off-by: Paresh Bhagat <p-bhagat@ti.com>
@@ -0,0 +1,14 @@
#ifndef AUDIO_ENHANCEMENT_PIPELINE_H

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

change file name to Speech Enhancement pipeline

@@ -1,26 +1,62 @@
{

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

rename speech enhancement

@@ -1,26 +1,62 @@
{
"pipeline_id": "audio_gcrn_pipeline",
"pipeline_type": "audio_enhancement",

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

rename speech enhancement

@@ -0,0 +1,413 @@
#include "audio_enhancement_pipeline.h"

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

rename

};

struct stft_process_msg {
struct stft_istft_msg {

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

rename this structure


static_assert(sizeof(c7x_msg_hdr) == 16);
static_assert(sizeof(stft_process_msg) == 36);
static_assert(sizeof(stft_istft_msg) == 36);

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no stft/istft, rename it

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants