Hi, I would expect someone with a better knowledge of pipeline work might be able to clean this up a bit but the code works. I've only got one USB audio device so I can only test so far but it should get you started and it does return the parent as seen in Device Manager when checking manually.
ForEach ($Device in (gwmi Win32_USBControllerDevice | ForEach {[wmi]($_.Dependent)} | Where-Object {$_.Service -match 'usbaudio'})){
[PSCustomObject]@{
Manufacturer = $Device.Manufacturer
Name = $Device.Name
Parent = (Get-PnpDeviceProperty -InstanceId $Device.PNPDeviceID -KeyName DEVPKEY_Device_Parent).Data
}
}