PIC10, 12, 16, 18, 30F, etc. all would work in the OP's app in some fashion. As would many AVR devices. The BASIC Stamp would work as well. I have worked, at one time or another, with all of the above. I mentioned the Arduino because the OP said it was once a consideration. If one excludes PWM generated tones as a consideration almost any uC with enough IO will work.
The considerations that remain do not involve the technical "nuts-and-bolts" issues but, rather, have more to do with the OP's comfort level with the software and development tools. I suspect that working at the assembly language level would be difficult. As would working with Cxx and MPLAB or similar IDEs because of the learning curve.
Enter Arduino and BASIC Stamp. Both have entry level development tools which allow one to work with a high level language. There are others too, e.g. Rabbit, that might work but I am not familiar with these.
The decision matrix is large.
Many years ago, while working on products that used a combo of a uC and FPGAs, I used a seat-of-the-pants paradigm that started with the concept:"the complexity of a solution is a constant".
While certain operations had to remain in the realm of the uC or FPGA others could be implemented in either. Therefore, whether the complexity is moved into FPGA code vs. uC code the complexity remained a constant. As does develpoment effort. (For the OP's app, we can add discrete circuitry vs. uC vs. PLD/FPGA vs. .... to the matrix.)
The decision becomes one of resources, e.g. people, skills, cost, time, etc., not "nuts-and-bolts".
A "short beep circuit" is not that simple is it?
Regards. JVJ