User Tools

Site Tools


gsoc:2021-gsoc-sound-open-firmware

GSoC 2021: Sound Open Firmware project

Sound Open Firmware

Sound Open Firmware is an open source audio DSP firmware and SDK that provides audio firmware infrastructure and development tools for developers who are interested in audio or signal processing on modern DSPs

Proposal 1: Add dynamic load module support for SOF

Github issues:

Code license: GPL-2.0 OR BSD-3-Clause

The project is considered successful if the code is accepted into SOF github tree.

Mentor: Daniel Baluta daniel.baluta@nxp.com

Proposal 2: Add support for converting topology binaries generated with TPLG1.0 into TPLG2.0 conf format

The goal is to be able to decode existing topology binaries and convert them into the new Topology 2.0 conf format

Code license: GPL-2.0 OR BSD-3-Clause

The project is considered successful if the code is accepted into SOF github tree.

Mentor: Ranjani Sridharan ranjani.sridharan@linux.intel.com

Proposal 3: Loopback implementation using demux component

The general idea would be to have an ALSA device where playback stream would be looped back into a capture stream. This can be useful for echo reference or for audio decoding libraries that could offload the decoding part to the DSP.

Github issue: https://github.com/thesofproject/sof/issues/3818

Code license: GPL-2.0 OR BSD-3-Clause

The project is considered successful if the code is accepted into SOF github tree.

Mentor: Iuliana Prodan iuliana.prodan@nxp.com

Proposal 4: Enhance SOF testbench with Linux kernel topology parser

Reuse sound/soc/sof/* and re-write the testbench to use ASoC topology parser.

Code license: GPL-2.0 OR BSD-3-Clause

The project is considered successful if the code is accepted into SOF github tree.

Mentor: Seppo Ingalsuo seppo.ingalsuo@intel.com

Proposal 5: Add mutiple stream suppport to testbench

Add to testbench support for multiple streams (with multiple files I/O PCM, DAI).

Code license: GPL-2.0 OR BSD-3-Clause

The project is considered successful if the code is accepted into SOF github tree.

Mentor: Seppo Ingalsuo seppo.ingalsuo@intel.com

Proposal 6: Add mux/demux testing functionality to testbench

Add support for testing the mux/demux component in testbench.

Code license: GPL-2.0 OR BSD-3-Clause

The project is considered successful if the code is accepted into SOF github tree.

Mentor: Jaska Uimonen jaska.uimonen@intel.com

Where to start?

Small ideas to work on to get familiar with the project

All the ideas below are just ways of exploring the project.

Get SOF binaries

  • Follow tutorial here Getting started in order to compile Linux kernel, SOF firmware, SOF topologies.

Create one Pull Request for the SOF repo

Create one patch for the Linux kernel

Watch this Write and Submit your first Linux kernel Patch.

Before sending the patch to community please send it to daniel.baluta@nxp.com for review. Make sure you only look into drivers/staging directory.

Use Qemu to get a feel of how things are working

  • Qemu repo is at https://github.com/thesofproject/qemu/ we use branch sof-v4.2
  • Build qemu by looking at Firmware . Look at chapter 'Build the Qemu DSP emulator from source.'
  • Try to boot sof-imx8.ri SOF binary with qemu
    • Use the following command ./xtensa-softmmu/qemu-system-xtensa -cpu imx8 -M adsp_imx8 -nographic -kernel ../sof.git/build_imx8_gcc/src/arch/xtensa/sof-imx8.ri
  • Look at Using the Qemu DSP emulator and try to run a full system with Linux kernel and SOF firmware.

Contact

gsoc/2021-gsoc-sound-open-firmware.txt · Last modified: 2021/03/02 11:54 by dbaluta