Castiglioni was born and raised in Milan, where he began studying piano at the age of 7. He received his performer's diploma from the Milan Conservatory in 1952, and graduated there in composition in 1953. His student compositions were marked by Stravinsky's neo-classicism, but after graduation his style changed under the influence of the Second Viennese School. His interest in twelve-tone technique was joined with musical-political engagement, though this was short-lived. The Impromptus I–IV, identified by the composer as his first true opus, abandoned these expressionistic tensions, and these four short pieces exhibit a close relationship to Webern’s aphoristic style, while also moving closer to the European avant garde. Personal contact with Luciano Berio at the RAI electronic music studio in Milan also influenced Castiglioni's direction at that time, and his attendance at the Darmstädter Ferienkurse completed this development (Geraci 2001).
During the years 1958 to 1965 he taught at the Darmstadt Summer Courses. From 1966 to 1970 he taught composition as composer-in-residence at SUNY Buffalo (1966), visiting professor at the University of Michigan in Ann Arbor (1967), Regent Lecturer in composition at the University of California at San Diego (1968), and professor of the history of Renaissance music at the University of Washington in Seattle (1969–70).
Following his return to Italy in 1970, he eventually resumed teaching composition at the conservatories of Trent (1976–77), Milan (1977–89), Como (1989–91) and Milan once again (1991–96). Among his many students are Armando Franceschini, Giampaolo Testoni and Carlo Galante, Alfio Fazio, Aldo Brizzi, Matteo Silva and Esa-Pekka Salonen.
- Geraci, Antonino. 2001. "Castiglioni, Niccolò". The New Grove Dictionary of Music and Musicians, second edition, edited by Stanley Sadie and John Tyrrell. London: Macmillan Publishers.
Lua error in Module:Authority_control at line 346: attempt to index field 'wikibase' (a nil value).
Lua error in package.lua at line 80: module 'Module:Buffer' not found.