The general principles of making whistles appear simple until you try making your own. We wanted to get a sound similar to that of a train whistle but a bit lower. Initially we started 3D printing several whistles with the thought we could 3D print the fipple (or mouthpiece) and then we could attach it to different pipes to vary the tone, but we ran into a lot of inconsistencies.
3D printed whistles
After looking at a lot DIY street organ builders we realized it's important to have a way to adjust the way the stream of air hits the sharp section (sometimes called "voicing"). The downside of the the 3D printed ones is that this is preset but it needs to vary depending on the size of the pipe.
The adjustable part in this case is being held by a rubber band:
The cross section below shows how the air is constrained and redirected:
These are all prototypes made out of 3mm birch plywood, the front face is a single sheet that gets one end sanded into the sharp edge.
The process for prototyping these was to start with a 1x1 open box made using makercase, and then adding the flow restriction and front faces in Illustrator:
The look of a typical cut file for one of these
One pipe outfitted with a blower using a 3D printed adaptor
The final whistle design was parameterized using cuttle.xyx (the most important parameter for tuning each individual pipe is the length) and cut out of 0.2 walnut veneer plywood. The inside chamber is 1" x 1" and we ended up going with a closed top which makes fine tuning a bit easier. Here is a one minute video that shows the fabrication process including the assembly of the tuning mechanism: