2 Replies Latest reply on Nov 12, 2018 4:30 AM by david_3827961

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

    david_3827961

      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?

        • 1. Re: CY8CKIT-033A Simultaneous 96/24/1 IN & 48/24/2 OUT
          anks

          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.

          • 2. Re: CY8CKIT-033A Simultaneous 96/24/1 IN & 48/24/2 OUT
            david_3827961

            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.