Здравствуйте. Сегодня создадим простой проект синтезатора на WindowsForms и C#. Прежде всего нам понадобятся звуки нот в формате wav . Перейдите по ссылке https://zvukogram.com/category/zvuki-not/ и скачайте звуки, начиная с ноты DO , и заканчивая той же нотой второй октавы.

Создаем простой синтезатор с C# и WindowsForms

Здравствуйте. Сегодня создадим простой проект синтезатора на WindowsForms и C#. Прежде всего нам понадобятся звуки нот в формате wav. Перейдите по ссылке https://zvukogram.com/category/zvuki-not/ и скачайте звуки, начиная с ноты DO, и заканчивая той же нотой второй октавы.

Итак, создадим новый оконный проект WindowsForms в VisualStudio. Разместим на нем элементы Button в таком виде.


Изображение

Для каждого Button создаем обработчик события, дважды кликнув по элементу.

Для воспроизведения звуков используем класс SoundPlayer из пространства имен System.Media.

Далее создаем функцию проигрыватель PlaySound и вызываем ее при нажатии соответствующей клавиши/кнопки на экране.


using System.Media;


namespace WinFormsApp_Piano
{
public partial class Form1 : Form
    {


        private SoundPlayer _soundPlayer;


public Form1()
        {
            InitializeComponent();
}

private void PlaySound(string soundFilePath)
        {
            _soundPlayer = new SoundPlayer(soundFilePath);
            _soundPlayer.Play();
}


private void button1_Click_1(object sender, EventArgs e)
        {

            PlaySound("Полный путь к файлу\\zvuk-notyi-do.wav");
}

private void button2_Click(object sender, EventArgs e)
        {
            PlaySound("Полный путь к файлу\\zvuk-notyi-sol.wav");
}

private void button3_Click(object sender, EventArgs e)
        {
            PlaySound("Полный путь к файлу\\zvuk-notyi-lya.wav");
}

private void button4_Click(object sender, EventArgs e)
        {
            PlaySound("Полный путь к файлу\\zvuk-notyi-mi.wav");
}

private void button5_Click(object sender, EventArgs e)
        {
            PlaySound("Полный путь к файлу\\zvuk-notyi-si.wav");
}

private void button6_Click(object sender, EventArgs e)
        {
            PlaySound("Полный путь к файлу\\zvuk-notyi-re.wav");
}

private void button7_Click(object sender, EventArgs e)
        {
            PlaySound("Полный путь к файлу\\zvuk-notyi-fa.wav");
}

private void button8_Click(object sender, EventArgs e)
        {
            PlaySound("Полный путь к файлу\\zvuk-notyi-do-vo-vtoro-oktave.wav");
}
}

}



Таким образом, при нажатии соответствующей клавиши будет воспроизведена нота.