microsoft / microsoft/psi

Azure Kinect - Record audio for the Microsoft Cognitive Service - Conversation Transcription

Open
#97 8 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C#
Stars
574
Forks
104
Avg merge
19m
Merged PRs (30d)
1

Description

Hello,

I have a question to PSI and the Azure Kinect DK.
I would like to use PSI to record audio directly via the Azure Kinect DK and save as a wav file.
The reason is that we want to use the Azure Kinect device for the conversation transcription service: https://docs.microsoft.com/en-us/azure/cognitive-services/speech-service/conversation-transcription

The service requires a device that meets the following specifications:
Requires a 7-mic circular multi-microphone array with a playback reference stream.
These are met by the Azure Kinect.

As I have seen in the documentation from PSI we could use the AudioCapture to record the audio (store with the WaveFileWriter).

The problem is, that I was not able to produce an audio file with the correct channels inside.
As you can see in the example from conversation transcription service the audio file has to include 8 channels (7 + 1 silent channel).

var wavfileStream = Helper.OpenWavFile("16kHz16Bits8channelsOfRecordedPCMAudio.wav");

If I use PSI (AudioCapture, WaveFileWriter) I was not able to create a corresponding wav file with that.
So I had to use Audacity to record the audio with the Azure Kinect (7-channels) and add another silent channel to it.

Is there another way how we could achieve the same result with PSI too?

Any help would be great!

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with PSI's AudioCapture and WaveFileWriter entry points and compare their produced stream with the Azure Conversation Transcription requirements. Done means a WAV file containing the seven Kinect microphone channels plus one silent channel can be produced through PSI and accepted by the service.

Written by the indexing model from the issue text.

Assessment

Tech stack
azure, csharp
Domain
audio-video-rtc
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.