Если нельзя, но очень хочется, то нужно обязательно и ничего в мире не стоит того, чтобы делать из этого проблему!


Интересна Java? Кликай по ссылке и изучай!
Если тебе полезно что-то из того, чем я делюсь в своем блоге - можешь поделиться своими деньгами со мной.
с пожеланием
столько времени читатели провели на блоге - 
сейчас онлайн - 

вторник, 16 июля 2013 г.

Играем на фортепиано на Java: Шаг 1 - Извлекаем ноту до.

Моя задача разобраться в гармонии, аккордах, размерностях, интервалах, тональностях и прочих прелестях музыки как точной науки. Вдохновившись тем, как ребята пишут музыку на своем Overtone

Quick Intro to Live Programming with Overtone from Sam Aaron on Vimeo.

а так же вооружившись своей ленью изучать новый язык программирования (ребята пишут на clojure), я стал ковырять решения на Java. И уже через пол часа я извлек из пакета javax.sound.midi.* ноту до. Делается это так.
package com.apofig;

import javax.sound.midi.*;

public class Main {

    public static final int Do = 60;

    public static void main(String[] args) throws MidiUnavailableException, InterruptedException {
        // init sequencer
        Sequencer sequencer = MidiSystem.getSequencer();
        sequencer.open();

        // init synthesizer
        Synthesizer synth = MidiSystem.getSynthesizer();
        synth.open();

        // get channel for synthesizing: the highest numbered channel.  sets it up
        MidiChannel[] channels = synth.getChannels();
        MidiChannel synthChannel = channels[channels.length - 1];
        synthChannel.programChange(0);

        synthChannel.noteOn(Do, 120);

        Thread.sleep(100);

        synthChannel.noteOff(Do);
    }
}
Все крайне просто... Спасибо проекту Virtual-Piano за быстрый старт.

Продолжение тут...

Комментариев нет:

Отправить комментарий