This is an openscad script that can generate a whistle with an arbitrary number of notes.It isn't quite tuned right. There is a function in it to automatically calculate the length based on the note but it seems to be off by a bit.It whistles though!
---
Imported from Thingiverse: https://www.thingiverse.com/thing:17684
Original creator: jag