Вопрос

Я собираюсь создать лабораторное приложение по теории музыки, где вы сможете увидеть графическую связь между концепциями теории музыки.Я хотел бы, чтобы это было доступно в Интернете, поэтому на ум приходят Flash и Silverlight.

Но я хотел бы динамически генерировать тона, аккорды и т. д. на основе пользовательского ввода.Я знаю, что это очень слаборазвитая область Flash Player.Итак, мой вопрос: каково текущее состояние функций динамической генерации звука в проигрывателях Flash и Silverlight?

Это было полезно?

Решение 4

Таким образом, кажется, что из Silverlight и Flash Flash превосходит Silverlight по функциям динамической генерации звука (что меня удивило, учитывая, насколько базовая поддержка звука реализована во Flash).Кажется, Silverlight вообще не может генерировать динамический звук, а Flash официально может это делать только начиная с версии 10 плеера.

Я могу найти очень мало информации о будущем динамического звука на обеих платформах, но на данный момент самые активные дискуссии ведутся по Flash.

Другие советы

Начиная с Flash Player 10 и далее, вам не нужно делать никаких хакерских действий.Существует API для динамической генерации звука.

Этот сообщение в блоге имеет краткое введение.Его код читает семплы из mp3-файла, но вы можете записывать семплы так, как захотите.

Как всегда документы также есть много информации, а также этот пример кода, который поможет вам довольно быстро приступить к делу.

var mySound:Sound = new Sound();
function sineWaveGenerator(event:SampleDataEvent):void {
    for ( var c:int=0; c<8192; c++ ) {
        event.data.writeFloat(Math.sin((Number(c+event.position)/Math.PI/2))*0.25);
        event.data.writeFloat(Math.sin((Number(c+event.position)/Math.PI/2))*0.25);
    }
}

mySound.addEventListener(SampleDataEvent.SAMPLE_DATA,sineWaveGenerator);
mySound.play();

Вы можете попробовать Набор инструментов Synthesis ToolKit в AS3 который портирован мной с C++ :)

Это отличается от стоячая волна и Попфордж, STK в AS3 предоставляет вам возможность использовать реальные инструменты, такие как флейта и кларнет, чего нет в первых двух.

Есть способы сделать это, требующие изрядного взлома.Я не помню точную механику, но вы можете посмотреть (или использовать) существующие библиотеки потоковой передачи, такие как StandingWave:http://code.google.com/p/стоящая волна/или вещи в Попфорже:http://code.google.com/p/popforge/

Надеюсь, он может дать больше информации, чем я могу прямо здесь.:)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top