1

Topic: Octamic XTC in CC Mode under Android

I know it's not officially supported - but as I read, that it works eg with the Babyface: (App USBAudioRecorderPro and/or AudioEvolutionPro from the Android Market)
Recording here works fine (also multitrack) but not playback - there's always a very loud sinus tone, partly modulated through the recorded audio. Some sort of internal feedback/loop.. But I have no clue at the moment where to look/switch. No matter: playback 1/2 or 3/4, it's all the same. The Octamic is correctly identified, and also the log within the software shows no errors (also the developer has no clue).
I'm sure that this could work..

Thanks!

2

Re: Octamic XTC in CC Mode under Android

PS
Der sehr hilfsbereite Entwickler schreibt: "I see that the Octamic violates the USB2 specification, in that 24-bit audio is supposed to come over 4 bytes, but it say 3 bytes."

3

Re: Octamic XTC in CC Mode under Android

We'll check.

Regards
Matthias Carstens
RME

4

Re: Octamic XTC in CC Mode under Android

Any news on this? AEP develops in huge steps, would be a perfect combo!

5

Re: Octamic XTC in CC Mode under Android

It still doesn't work, very disappointing..

6

Re: Octamic XTC in CC Mode under Android

as the developer seems to be at his wit's end, here the log:
(again: recording works fine, but playback is nothing more than a loud tone, choosing playback 1/2 or 3/4)
Nooen else tested this? I know that the babyface does work fine!

getUSBAudioDevices
getDevices
Devices to query = 1
dev
deviceClass = 0, dev.getVendorId() = 1478
dev
deviceClass = 239, dev.getVendorId() = 1060
requestPermission
USBAudioManager::OpenDeviceFD fd = 59, product = 3fda, vendor = 424
DumpAllDevices: nrOfDevices = 4
Vendor = 424, deviceId = 3fda
      num interfaces = 5
        interface 0, alt settings = 1
        descr class = 1, subclass = 1
        interface 1, alt settings = 3
        descr class = 1, subclass = 2
        descr class = 1, subclass = 2
        descr class = 1, subclass = 2
        interface 2, alt settings = 3
        descr class = 1, subclass = 2
        descr class = 1, subclass = 2
        descr class = 1, subclass = 2
        interface 3, alt settings = 1
        descr class = 1, subclass = 3
        interface 4, alt settings = 1
        descr class = 255, subclass = 0
Vendor = 1d6b, deviceId = 2
      num interfaces = 1
        interface 0, alt settings = 1
        descr class = 9, subclass = 0
Vendor = 5c6, deviceId = 904c
      num interfaces = 9
        interface 0, alt settings = 1
        descr class = 255, subclass = 255
        interface 1, alt settings = 1
        descr class = 255, subclass = 255
        interface 2, alt settings = 1
        descr class = 255, subclass = 255
        interface 3, alt settings = 1
        descr class = 255, subclass = 255
        interface 4, alt settings = 1
        descr class = 255, subclass = 254
        interface 5, alt settings = 1
        descr class = 255, subclass = 255
        interface 6, alt settings = 1
        descr class = 255, subclass = 255
        interface 7, alt settings = 1
        descr class = 255, subclass = 255
        interface 8, alt settings = 1
        descr class = 255, subclass = 255
Vendor = 1d6b, deviceId = 2
      num interfaces = 1
        interface 0, alt settings = 1
        descr class = 9, subclass = 0
FindDevice 16346 1060
FindInterface num interfaces = 5
interface 0, alt settings = 1
descr class = 1, subclass = 1
interface 1, alt settings = 3
descr class = 1, subclass = 2
is audio streaming, endp = 0
descr class = 1, subclass = 2
is audio streaming, endp = 2
has enough endpoints 1
USBAudioManager::Audio device found!
bMaxPacketSize0 for device = 64, m_bcdUSB = 512, 200 hex
Prepare: hi-speed device (480MBit/sec)
Claimed interface 0
Setting explicit feedback endpoint for endpoint 1 to endpoint 129!
Setting explicit feedback endpoint for endpoint 1 to endpoint 129!
setAvailableSampleRates()
SPEC 2: clockSource = 7547d0b8
    Rates for m_ID 1: Min = 44100, Max = 44100, Res = 0
    Rates for m_ID 1: Min = 48000, Max = 48000, Res = 0
    Rates for m_ID 1: Min = 88200, Max = 88200, Res = 0
    Rates for m_ID 1: Min = 96000, Max = 96000, Res = 0
    Rates for m_ID 1: Min = 176400, Max = 176400, Res = 0
    Rates for m_ID 1: Min = 192000, Max = 192000, Res = 0
setSampleRate 44100, m_sampleRate = 1
USB audio set sample rate to 44100, in res = 24, out res = 24
There was a clock source! Trying to set sample rate
Current sample rate set to 44100
Clock valid = 68
DATE: 16-2-2014, 16:02

USBAudioDevice: fd = 59, opened = 1, Vend/Prod = 0x424 / 0x3fda, USBrev = 200, configs = 1

USBAudioDevice: Manufacturer = RME, Product = OctaMic XTC (23599871), SerialNr = B04BA08B2523DC8

USBConfiguration: # interfaces = 5, config val = 1, config string = , attr = 0x80, maxPower = 100mA

  USBInterface: interface nr = 0

    USBAltSetting2: alt setting = 0, class = AUDIO, subclass = AUDIOCONTROL, protocol = 32, descr = 

      USBClockSource2: m_ID = 1, m_assocTerminal = 0, str = , type = Internal programmable clock, SOF sync = no

      USBInputTerminal2: m_ID = 3, assoc = 0, clockID = 1, m_logicalOutputChannels = 4, m_channelConfig = 0, , , STREAMING

      USBInputTerminal2: m_ID = 5, assoc = 0, clockID = 1, m_logicalOutputChannels = 24, m_channelConfig = 0, , , TERMINAL_TYPE_INPUT_MICROPHONE

      USBOutputTerminal2: m_ID = 4, assoc = 0, source = 2, clock = 1, , TERMINAL_TYPE_OUTPUT_SPEAKER

      USBOutputTerminal2: m_ID = 6, assoc = 0, source = 5, clock = 1, , STREAMING

      USBFeatureUnit2: m_ID = 2, SourceID = 3, channels = 1

                      m_ID = 2, channel control = c ( Volume)

  USBInterface: interface nr = 1

    USBAltSetting2: alt setting = 0, class = AUDIO, subclass = AUDIOSTREAMING, protocol = 32, descr = 

    USBAltSetting2: alt setting = 1, class = AUDIO, subclass = AUDIOSTREAMING, protocol = 32, descr = 

    USBAltSetting2 (AS): link = 3, type(1) = 1, ch = 4, subframesize = 3, reso = 24

      USBEndPoint: nr = 1, OUT, , SYNC_TYPE_ASYNC, 

                   maxPacket = 1024, addT = 0, pollingInt = 1, refresh = 0, syncEndp = 0, , NO FREQ CONTROL!

      USBEndPoint: nr = 1, IN, , SYNC_TYPE_NONE, USAGE_TYPE_FEEDBACK

                   maxPacket = 4, addT = 0, pollingInt = 8, refresh = 0, syncEndp = 0, , NO FREQ CONTROL!

    USBAltSetting2: alt setting = 2, class = AUDIO, subclass = AUDIOSTREAMING, protocol = 32, descr = 

    USBAltSetting2 (AS): link = 3, type(1) = 1, ch = 24, subframesize = 3, reso = 24

      USBEndPoint: nr = 1, OUT, , SYNC_TYPE_ASYNC, 

                   maxPacket = 1024, addT = 0, pollingInt = 1, refresh = 0, syncEndp = 0, , NO FREQ CONTROL!

      USBEndPoint: nr = 1, IN, , SYNC_TYPE_NONE, USAGE_TYPE_FEEDBACK

                   maxPacket = 4, addT = 0, pollingInt = 8, refresh = 0, syncEndp = 0, , NO FREQ CONTROL!

  USBInterface: interface nr = 2

    USBAltSetting2: alt setting = 0, class = AUDIO, subclass = AUDIOSTREAMING, protocol = 32, descr = 

    USBAltSetting2: alt setting = 1, class = AUDIO, subclass = AUDIOSTREAMING, protocol = 32, descr = 

    USBAltSetting2 (AS): link = 6, type(1) = 1, ch = 24, subframesize = 3, reso = 24

      USBEndPoint: nr = 2, IN, , SYNC_TYPE_ASYNC, 

                   maxPacket = 1024, addT = 0, pollingInt = 1, refresh = 0, syncEndp = 0, , NO FREQ CONTROL!

    USBAltSetting2: alt setting = 2, class = AUDIO, subclass = AUDIOSTREAMING, protocol = 32, descr = 

    USBAltSetting2 (AS): link = 6, type(1) = 1, ch = 8, subframesize = 3, reso = 24

      USBEndPoint: nr = 2, IN, , SYNC_TYPE_ASYNC, 

                   maxPacket = 1024, addT = 0, pollingInt = 1, refresh = 0, syncEndp = 0, , NO FREQ CONTROL!

  USBInterface: interface nr = 3

    USBAltSetting1: alt setting = 0, class = AUDIO, subclass = MIDISTREAMING, protocol = 0, descr = OctaMic XTC (23599871)

      USBEndPoint: nr = 7, OUT, TRANSFER_TYPE_BULK, SYNC_TYPE_NONE, 

                   maxPacket = 512, addT = 0, pollingInt = 1, refresh = 0, syncEndp = 0, , NO FREQ CONTROL!

      USBEndPoint: nr = 6, IN, TRANSFER_TYPE_BULK, SYNC_TYPE_NONE, 

                   maxPacket = 512, addT = 0, pollingInt = 1, refresh = 0, syncEndp = 0, , NO FREQ CONTROL!

  USBInterface: interface nr = 4

    USBAltSetting1: alt setting = 0, class = VENDOR SPECIFIC, subclass = Undefined, protocol = 0, descr = 

      USBEndPoint: nr = 8, IN, TRANSFER_TYPE_BULK, SYNC_TYPE_NONE, 

                   maxPacket = 512, addT = 0, pollingInt = 1, refresh = 0, syncEndp = 0, , NO FREQ CONTROL!

      USBEndPoint: nr = 9, OUT, TRANSFER_TYPE_BULK, SYNC_TYPE_NONE, 

                   maxPacket = 512, addT = 0, pollingInt = 1, refresh = 0, syncEndp = 0, , NO FREQ CONTROL!

setSampleRate 44100, m_sampleRate = 44100
setSampleRate 44100, m_sampleRate = 44100
setSampleRate 44100, m_sampleRate = 44100
setSampleRate 44100, m_sampleRate = 44100
setSampleRate 44100, m_sampleRate = 44100
selectOutput OK, if = 1, alt = 1
StartUSBTransfers
device = 0x7547da40
MainSR = 44100
s_startFrames = 0
selectOutput = 0x75477fa8
selectOutput OK, if = 1, alt = 1
prepareForPlayBack, buffer size = 2048
Claimed interface for 1 (alt = 1)
Prepare: maxPacketSize = 1024, minPacketSize = 60 bytes, frame size = 12, i_bufferSizeFrames = 2048
Wanted nr transfers = 42, got 32 transfers!
Actual 'buffer' size = 1600 to 1920
PLAY Prepare: nrOfTransfers = 32, nrOfPacketsPerTransfer = 10, i_sampleRate = 44100
Starting from Transport
Out start
Start PB OK!
startAllTransfers() END ok = 1
OUT: 12939 (microsec) tot = 660
OUT: 14556 (microsec) tot = 660
OUT: 16052 (microsec) tot = 660
OUT: 17181 (microsec) tot = 660
OUT: 18676 (microsec) tot = 660
16.02.2014 16:02:32: End was reached! Going to stop and continue with the next song.
StopUSBTransfers
stopAllTransfers done!
StopTransport
16.02.2014 16:02:32: Stopped USB transfers.
16.02.2014 16:02:32: i_endWasReached = true, m_playListMode = false

7

Re: Octamic XTC in CC Mode under Android

martinhr wrote:

PS
Der sehr hilfsbereite Entwickler schreibt: "I see that the Octamic violates the USB2 specification, in that 24-bit audio is supposed to come over 4 bytes, but it say 3 bytes."

I disagree. The USB CC spec allows to use 24 bits packed in 3 bytes. The Apple driver therefore supports both 3 bytes and 4 bytes with 24 bits (it doesn't support float, which is also part of the USB spec).

That said if Android doesn't support 3 bytes with 24 bit mode then the problem is not on our side. We use the 3 bytes mode intentionally and will not change our design.

Regards
Matthias Carstens
RME

8

Re: Octamic XTC in CC Mode under Android

hmm, fact is that the babyface is confirmed as working on his list (which should
include PB I guess - can't test it as I don't own one). Then it should be only a minor adjustment
IMHO. Or the fault is on my side, but I really don't know what I'm doing wrong here..
Could a user here test this and.report back (there is a free demo)?

9

Re: Octamic XTC in CC Mode under Android

We are in conctact with the developer.

Regards
Matthias Carstens
RME

10

Re: Octamic XTC in CC Mode under Android

Thanks to Davys great support (he fixed the mapping for multichannel devices using 24bit/3 bytes) it works now!
The newest UARP should be online in a few hours, also the AEP will be corrected.

11

Re: Octamic XTC in CC Mode under Android

The final problem now seems to be the powering, if I got it right all devices block charging/ext. power while in OTG mode and one would need a fixed kernel (http://mehrvarz.github.io/usb-host-mode … nt-nexus7/), besides a OTG-Y-cable of course.