I am developing a script which deals with sound recording.

As user potentially can have multiple sound cards attached, I would like to give him/her a chance to select desired one. The software I use for actual recording asks for numeric "Device ID".

Is there any way to retreive list of Device IDs along with soundcards' names from command line (terminal)?


2 Answers 2


system_profiler is the tool in mac OS to show hw or sw configuraion.

Get the datatye you want to look for using --listDataTypes.

$ system_profiler -listDataTypes | grep Audio

Then fire the command,

$ system_profiler SPAudioDataType

    Intel High Definition Audio:

      Audio ID: 128


          Connection: Combination Output


          Connection: Internal

        External Microphone / iPhone Headset:

          Connection: Combination Output

        Internal Microphone:

          Connection: Internal

        S/PDIF Optical Digital Audio Output:

          Connection: Combination Output

        HDMI / DisplayPort Output:

          Connection: Display


        Built-in Microphone:

          Default Input Device: Yes
          Input Channels: 2
          Manufacturer: Apple Inc.
          Current SampleRate: 44100
          Transport: Built-in

        Built-in Output:

          Default Output Device: Yes
          Default System Output Device: Yes
          Manufacturer: Apple Inc.
          Output Channels: 2
          Current SampleRate: 44100
          Transport: Built-in

I have found out that typing system_profiler SPAudioDataType -xml does the job and lists all necessary information. It is solved :)

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .