This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

PCM6360Q1EVM-PDK: record multi-channel audio via ASIO

Part Number: PCM6360Q1EVM-PDK

Please tell me what programs can be used to record multi-channel audio via ASIO? What programming interfaces (API) can be used for this in Windows and Linux, respectively? And what drivers should be installed? Thanks.

  • Hello,

    We're not supposed to directly promote 3rd party tools directly in our literature, but you'll probably notice some images/figures that look like they come from the freeware "Audacity" .... because they do :).

    The drivers will install automatically with the EVM software and when you plug the USB cord into your computer, the motherboard will enumerate as A "TI USB Audio" device, which looks like a standard 2-way audio sound-card.  Once you have your recording program of choice opened, select the TI USB Audio sound source and begin recording!  I think we usually use the WASAPI setting, but I believe ASIO is also supported.

  • Hello! Yes, that was the question: how to record audio from the card simultaneously with 4 channels, for example? You reported that the standard device driver is dual-channel. Do I need a non-standard driver or something else? Where to get it, where is it written about it? I would also be grateful if you answer the question, including in relation to Linux. Thanks

  • For Windows, Python works well with the PyAudio module. The driver is standard. Apparently, Windows WASAPI is used.

    4-channeles example:

    import pyaudio
    import wave

    p = pyaudio.PyAudio()
    for i in range(p.get_device_count()):
    print(i, p.get_device_info_by_index(i)['name'])

    CHUNK = 1024
    FORMAT = pyaudio.paInt16
    CHANNELS = 4
    RATE = 96000
    RECORD_SECONDS = 0.12
    WAVE_OUTPUT_FILENAME = "output96_4.wav"

    p = pyaudio.PyAudio()

    stream = p.open(format=FORMAT,
    channels=CHANNELS,
    rate=RATE,
    input=True,
    frames_per_buffer=CHUNK)

    print("* recording")

    frames = []

    for i in range(0, int(RATE / CHUNK * RECORD_SECONDS)):
    data = stream.read(CHUNK)
    frames.append(data)

    print("* done recording")

    stream.stop_stream()
    stream.close()
    p.terminate()

    wf = wave.open(WAVE_OUTPUT_FILENAME, 'wb')
    wf.setnchannels(CHANNELS)
    wf.setsampwidth(p.get_sample_size(FORMAT))
    wf.setframerate(RATE)
    wf.writeframes(b''.join(frames))
    wf.close()