"Denotation" is generally not a useful concept in linguistics except in philosophical treatments of meaning where there has been a problem distinguishing semantics and pragmatics, so we should star with what the prerequisite for "denotation". X denotes Y is X is a symbol that represents Y. From which it follows (if you are not a Platonist) that X is a cognitive object.
A sound denotes a sound, which is to say there are two kinds of sounds. There are physical sounds which exist outside the human body and do not denote (by definition), they simply exist. Physical sounds can be used for many purposes, and they exist when there is no purpose (e.g. a tree falling). Then there are linguistic sounds, like English "s" or Arabic "f", which are the basic units of storage (actually they are more "molecular", being composed of a network of typed nodes, but we can leave that aside). It is popularly thought that mental linguistic sounds denote physical sounds, but that is not correct, first because often there is no physical sound, second because very often a mental sound often represents an intent to produce a sound in the future, and finally because this view doesn't recognize that a linguistic sound such as "s", "f" represents something that represents something that eventually represents a non-representational event that causes a physical sound. As long as you understand that "represent" is a long chain of mappings from representations of one type to representations of another type, we're okay. For clarity, I will speak of "immediately represents" vs. "eventually represents", though clearly "maps to" is a better way to talk of this relation.
Sound-structures also map to more abstract structures relating to meaning, starting first with "morphemes", that is, sub-parts of words with an identifiable function that can be combined with other elements. We can say that the sounds of "horse" (in that structure) represent or denote a word "horse", and the sounds of "horses" denote the word "horse" and the plural suffix "-s". Tracing further back, "horse" is a stored lexical item, which represents (is the label for) a basic concept, that of horse. "-s" is a stored grammatical item that represents "plurality". The concept "horse" then denotes any instance of horse – things that are outside of the mind. I picked a word that denotes a primary concept, but there are concepts that refer to concepts, like "pentagon" or "mammal".
Human cognition crucially depends not just on the ability to abstract referents so that we can have concepts like "horse", "goat", "mammal", "animal" (mental unifications of actual and potential entities), we also need a filing system so that we can access a specific concept (can distinguish goats from sheeps). The main way to do that is with sound labels. We can also use visual objects like "letters" including all sorts of variants like भ which is two sounds (bʰə) or 房子 which is 5 sounds. They can be visual in the way that they are in a signed language, or tactile as in Braille.
The primary distinction that needs to be made is between the mental unification of existents into a unit – the concept – and the externalizable symbols that abbreviate that unification. Excess focus on physical sound is a mistake because the path from concepts to physical realization is long and contorted. It is however sensible to ask about certain short-distance relations, for example how we get from the mental representation [hɔɹs] (in some dialects of of English) to an articulatory score which then somehow results in an acoustic wave.