I have looked into trying to figure what are all the possible "types" of note set combinations there are and how I would go by listing them if possible. It turns out this is harder than I thought. The 12 notes are:
$$1, 2^{\flat}, 2, 3^{\flat}, 3, 4, 4^{\sharp}/5^{\flat}, 5, 6^{\flat}, 6, 7^{\flat}, 7$$
A type of set would be something like this: $$1,3,5,7 .$$
The thing is, that set has inversion possibilities such as $3,1,5,7$, and I do not want to count any of them as part of the list. No repeating notes, either, e.g., $1,1,3,5$ or $1,3^{\flat},5,3^{\flat}$.
I've thought about in the inversion case of $3,1,5,7$ and can convert that same set into $1,6^{\flat},3^{\flat},5$, which is actually the same notes (which I'm trying to avoid as well). But what might be useful from this is using $1$ as a base reference and instead try using each interval in order (from lowest to highest) for every single set on the list for example. Here are some examples: $$1,2^{\flat},2,3, \qquad 1,2^{\flat},3,4, \qquad 1,2,3,4, \qquad 1,4,5,6^{\flat} .$$
I could use $1,3^{\flat},5,6^{\flat}$, but then I would have to not list $1,3,5,7$ in the list, because they are the same 'set type'. So in the end it's kind of difficult to find which note sets are already there and which are not, which leaves me to believe that I am missing a certain condition. Or maybe rather theres actually an easier way to look at all this that I haven't thought of yet?
So the question is:
How do I list all the different set types of notes without unintentionally repeating one?
(Edit: Added the last question to hopefully clear things up)
Let's start by formulating your question in an exact mathematical sense. First we number our notes by $0,\ldots,11$. For a given $k\in N:=\{1,\ldots,12\}$ we look for (the number of) sets $\{a_1,\ldots,a_k\}$, with $a_j\in N$.
Moreover, to avoid identical sounds (which you called 'set types') we impose, that the sequences are sorted in ascending order (i.e. $a_1<a_2<\ldots<a_k$).
The sorting is not enough to avoid identical sounds, since for example the sets $\{0,1\}$ and $(0,11)$ are the same interval. We consider two sounds $\{a_1,\ldots,a_k\},\{b_1,\ldots,b_k\}$ as equivalent if there exists an integer $m$ such that $\{(a_1+m)_{12},\ldots,(a_k+m)_{12}\}=\{(b_1)_{12},\ldots,(b_k)_{12}\} $.
Here $(x)_{12}$ denotes an element of the congruence class modulo $12$ (see). Now we can rephrase the problem by:
Now this seems a bit unhandy but at least it's something to work with. Let's use this to write down all possible sounds for $k=2$:
As you correctly pointed out, we can always start with $0$, since we can always add the difference of the lowest note and $12$ to our set.
$\{0,1\},\{0,2\},\{0,3\},\{0,4\},\{0,5\},\{0,6\}$
For example $\{0,7\}$ is not included, since $\{(0+5)_{12},(7+5)_{12}\}=\{(5)_{12},(0)_{12}\}$
For the triads (i.e. $k=3$) we find
$\{0,1,2\},\{0,1,3\},\{0,1,4\},\{0,1,5\},\{0,1,6\},\{0,1,7\},\{0,1,8\},\{0,1,9\},\{0,1,10\}$
$\{0,2,4\},\{0,2,5\},\{0,2,6\},\{0,2,7\},\{0,2,8\},\{0,2,9\}$
$\{0,3,6\},\{0,3,7\},\{0,3,8\}$
$\{0,4,8\}$
I know this is not really a recipe on how to write these guys down, but nevertheless it could be used to write a brute force algorithm to get all the sounds for given $k$.
Edit: A simple python script that gives all the possible sounds would be:
which gives an ouput: