Direction of sound using microphone array
If you connect four discrete USB microphones a challenge will be to synchronize them. Even when you start them simultaneously (from a programming point of view) you cannot be sure that they all start the audio acquisition at exactly the same time so there will be an inherent unknown time delay between the microphones. This can be solved by having a reference signal coming from a known direction. Then, by comparing the expected delays with the actual delays, synchronization can be achieved. With your setup I would expect the synchronization delays to be slightly different every time the system is started so that calibration needs to be done every time.