CY8CKIT-033A Simultaneous 96/24/1 IN & 48/24/2 OUT

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

We are developing a design for an MFI audio input and playback device using the CY8CKIT-033A.

Our specification is to input audio at 96KHz/24bit/Mono and output audio at 48KHz/14bit/Stereo.

We have been trying to follow the notes sent to us by your technical support team titled "88.2/96 kHz Sample Rate Support in CY8CKIT-033A Firmware" dated 17 July 2013 and "Mono audio-in support in CY8CKIT-033A firmware" dated 26 September 2014.

We can follow all of the steps but this does not seem to work.

Can you please confirm that this is a possible configuration of the device? We need simultaneous record and playback. Our minimum is 96k/24bit/mono input but we are happy to exceed this if it were easier to support 96/24/stereo in and out?

If this is possible could we have a working sample project that does this please?

0 Likes
2 Replies
AnkitaS_51
Employee
Employee
100 likes received 50 likes received 25 likes received

The main changes required in the projects are

1)Change the descriptors. In the descriptor AS Format Type I and the Maximum data width must be adjusted as per the calculation.

2)Now you need to modify the I2S also for making it mono.

Please refer to the given document "Mono audio-in support in CY8CKIT-033A firmware".This should work.

This "88.2/96 kHz Sample Rate Support in CY8CKIT-033A Firmware" document is for stereo 88.2/96 kHz. All the other information you can adapt.

0 Likes
Anonymous
Not applicable

We combined the instructions in the 96K and MONO documents and made all the suggested changes to library versions, configurations and code.

These are the descriptor changes we made:

iOSAudioControlOutInWithIntStat/AC Alternate Settings 0/AC Input Terminal   (USB Streaming)

bNrChannels: 1

wChannelConfig: 1

iOSAudioControlOutInWithIntStat/AC Alternate Settings 0/AC Input Terminal   (Microphone)

bNrChannels: 1

wChannelConfig: 1

iOSAudioStreamingIn/AS Alternate Settings 1/AS Format Type I

bNrChannels: 1

bSubframeSize: 3

bBitResolution: 16

bSamFreqType: 5

tSamFreq:

  32000

  44100

  48000

  88200

  96000

iOSAudioStreamingIn/AS Alternate Settings 1/Endpoint Descriptor

Max Packet Size: 288

iOSAudioStreamingIn/AS Alternate Settings 1/AS Format Type I

bNrChannels: 1

bSubframeSize: 3

bBitResolution: 24

bSamFreqType: 5

tSamFreq:

  32000

  44100

  48000

  88200

  96000

iOSAudioStreamingIn/AS Alternate Settings 1/Endpoint Descriptor

Max Packet Size: 288

MacPCAudioStreamingIn/AS Alternate Settings 1/AS Format Type I

bNrChannels: 1

bSubframeSize: 3

bBitResolution: 24

bSamFreqType: 5

tSamFreq:

  32000

  44100

  48000

  88200

  96000

MacPCAudioStreamingIn/AS Alternate Settings 1/Endpoint Descriptor

Max Packet Size: 288

This is the behaviour we see from the programmed device:

Using Apogee MetaRecorder app:

The device is offering the added bitrates of 88.2 and 96k. These record without distortion. However they play back through the device at double speed as if the device is advertising that it can play back at 96k but is only processing at the expected 48k. Choosing any lower bitrate (<=48k) results in a distorted recording.

Using apps such as JamUp and Amplitube the input sound is distorted, as if they aren’t managing to put the device into 96k mode and are receiving the distorted 48k signal.

Using our own code, setting a preferred sample rate of 96k on the AVAudioSession has no effect and the input remain at 48k and is distorted.

Playing an audio track from Apple Music also seems to be sending at the wrong data rate. The speed is doubled up and the pitch too high.

We are happy to send you our project files for the adapted MusicCreation example.

0 Likes