Родился 6 августа 1938 года в городе Марьина Горка, Пуховичского района Минской области в семье военного врача.
В детстве, после переезда семьи в Минск, учился в музыкальной школе при консерватории.
В 1952—1953 артист Белорусского народного оркестра, в 1957—1958 преподаватель музыкальной школы в Минске, в 1960—1961 и 1962—1963— Минского педагогического института, в 1961—1962—Гомельского музыкального училища. С 1963 преподаватель (с 1969 ст., 1982—1986 — ректор) Белорусской консерватории.
В 1961 году окончил Белорусскую государственную консерваторию им. А. В. Луначарского (класс композиции А. В. Богатырёва).
В 1963—1964 гг. стажировался в Ленинградской консерватории, в 1967 г. окончил аспирантуру Московской консерватории.
С 1980 года — председатель правления Союза композиторов Беларуси.
В 1989—1991 гг. был Народным депутатом СССР. Был одним из инициаторов создания Республиканской партии труда и справедливости, Общества народной дипломатии.