Your code samples the audio signal for an extremely brief instant, about three times a second.
Consequently, it is extremely unlikely that you will accidentally capture any interesting peaks in the audio.
hodnota = analogRead(mic);
Serial.println(hodnota);
Serial.println();
delay (300);
In order to improve on this, you need to collect many samples as fast as possible, store them in an array and then analyze the array for peaks later.
Example of collecting 250 data points, one point about every 110 microseconds:
int sound_value[250];
for (byte i=0; i<250; i++) sound_value[i]=analogRead(mic);
Google "peak detection algorithm" to learn how to detect peaks in the data.