Slinga ett ljud från mitten

Sidan uppdaterad :
Datum för skapande av sida :

Verktyg du behöver

För att spela upp en slinga från mitten av ljudet använder vi följande två verktyg den här gången:

  • Wavosaur (olikartade)
  • Xact

Ladda ner och installera Wavosaur

Wavosaur är ett verktyg för att redigera vågformsdata i ljudfiler. Du kan ladda ner Wavosaur från:

När du öppnar sidan hämtar du filen från den röda kantlinjelänken i bilden. Det finns 32- och 64-bitarsversioner, så använd den som fanns i din körmiljö.

Wavosaur のダウンロード

Wavosaur kan köras av EXE ensam, så det finns ingen anledning att installera det. Expandera till valfri mapp.

Ladda ner och installera XACT

XACT är ett verktyg som låter dig finjustera och spela spelljud på Windows och Xbox.

XACT distribueras inte på egen hand och levereras med XNA Game Studio och DirectX SDK. Den här gången kommer vi att använda den som följde med XNA Game Studio. Du kan ladda ner XNA Game Studio från följande länkar:

När du har hämtat det kör du installationsprogrammet för att installera det. XNA Game Studio stöds endast officiellt upp till Windows 7, men vi har bekräftat att det kommer att installeras i Windows 10-miljöer också.

Skapa en WAVE-fil med looppunkter i Wavosaur

Förbered ljudfilen som du vill loopa igenom i förväg. Den grundläggande redigeringen är i en WAVE-fil, men de underliggande ljuddata kan också importeras från MP3-filer, etc. (Ljudfilen som används i detta prov är"H / MIX GALLERY"från platsen för "Pokkuru No land (k15.mp3)" fil)

サウンドファイルを用意

Kör Wavosaur för att starta den.

Wavosaur を実行

Skärmen visas.

Wavosaur のウィンドウ

Dra och släpp den medföljande ljudfilen till Wavosaur. Vågformsdata visas.

音声ファイルをドラッグ&ドロップ

Du kan markera ett område genom att dra vågformsdata med musen. Välj det område som du vill loopa.

ループさせたい範囲を選択

Välj Verktyg "Loop>Skapa looppunkter på menyn.Create"Create loop points. Detsamma gäller när du trycker på "L"-knappen i verktygsfältet.

「Create loop points」を選択

"loop start" och "loop end" visas på båda sidor av markeringen. Detta är det område som ska loopas.

「loop start」「loop end」が表示される

Välj Arkiv > Spara på menyn för att spara ljuddata.

音声データを保存

Filen är i grunden en våg fil. Spara den i en mapp till dig. Om du vill redigera den igen kan du redigera den från mitten genom att släppa den här WAVE-filen i Wavosaur.

ファイルを保存

Filen sparas. XACT använder den här WAVE-filen. Om du har redigerat baserat på en MP3-fil vill du inte längre använda MP3-filen.

ファイルを保存した状態

Skapa de filer du behöver för att spela monoGame ljud i XACT

På Start-menyn väljer du Microsoft XNA Game Studio 4.0 Refresh > Microsoft Cross-Platform Audio Creation Tool 3 (XACT3). Om du har installerat från DirectX SDK, etc., börja därifrån.

Microsoft Cross-Platform Audio Creation Tool 3 (XACT3)

Det blir skärmen omedelbart efter start. Den här gången XACT gör bara det enklaste arbetet, så om du vill veta hur man använder det, kolla upp det på webben. XACT kräver ingen särskild åtgärd, även om du använder en WAVE-fil med loopuppspelningsinställningar i mitten.

XACT 起動画面

Det första steget är att skapa ett projekt. Klicka på Knappen för Skapar ett nytt projekt i verktygsfältet.

プロジェクトを作成

Anger den plats där projektet sparas.

プロジェクトの保存場所を指定

När du har skapat projektet högerklickar du på Vågryggar och väljer New Wave Bank.

New Wave Bank

När du är säker på att vågbanken har skapats högerklickar du på Ljudbanker och väljer Ny ljudbank.

New Sound Bank

Skärmen ser ut som ett diagram.

Wave Bank と Sound Bank 作成後

Dra och släpp vågfilen som du just skapade i Wave Bank-fönstret.

WAVE ファイルを「Wave Bank」のウィンドウにドラッグ&ドロップ

Dra och släpp sedan data som läggs till i Wave Bank i det övre vänstra området i Sound Bank.

Sound Bank の左上のエリアにドラッグ&ドロップ

Dra och släpp sedan data som läggs till i ljudområdet i området Cue längst ned till vänster.

Cue のエリアにドラッグ&ドロップ

Markera ljudfilen och kontrollera att Looping i egenskapen längst ned till vänster är markerad efter Oändlig.

「Looping」が「Infinite」にチェック

När du är klar klickar du på knappen Skapa i verktygsfältet för att skapa den.

Build

Fönstret visas, men tryck bara på "Slutför"-knappen för att slutföra det.

Finish

Kontrollera att win-mappen skapas i mappen där du sparade projektet och att tre filer skapas i den.

3つのファイル

Skapa ett spelprojekt

Allt som återstår är att registrera filen och skapa ett program i MonoGame-projektet. Den här gången jag skapar den i Windows Project. Vi har bekräftat att det fungerar med Windows Store-appar och Windows Mobile.

Windows Project

När du har skapat projektet registrerar du de tre filer som du just skapade i XACT i mappen Innehåll. Det behöver inte vara en speciell innehållsmapp.

Content フォルダに3つのファイルを追加

Öppna egenskaperna med de tre filer som du har lagt till markerade.

3つのファイルを選択している状態でプロパティを開く

Ändra från kopiera till utdatakatalog till Kopiera om ny.

新しい場合はコピーする

UAP (Windows Universal App Project) är inte tillgängligt med ovanstående inställningar. Ändra i stället byggåtgärden till "Innehåll".

「コンテンツ」に変更

Resten är bara programmet. Det är i huvudsak samma program som ljuduppspelning med XACT.

Lägg till Microsoft.Xna.Framework.Audio i det namnområde du vill använda.

using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;

Lägg till följande tre rader i fältet: AudioEngine, SoundBank och WaveBank.

GraphicsDeviceManager graphics;
SpriteBatch spriteBatch;

AudioEngine audioEngine;
SoundBank soundBank;
WaveBank waveBank;

Du skapar förekomster av AudioEngine, SoundBank och WaveBank i metoden LoadContent. Var och en av dem motsvarar de tre filer som läggs till i mappen Innehåll, så ange det i förhållande till projektets rotmapp.

Här spelar vi Cue direkt, men i ett riktigt spel spelar du där du vill ha det.

protected override void LoadContent()
{
  // Create a new SpriteBatch, which can be used to draw textures.
  spriteBatch = new SpriteBatch(GraphicsDevice);

  // TODO: use this.Content to load your game content here
  audioEngine = new AudioEngine(@"Content/LoopSample.xgs");
  soundBank = new SoundBank(audioEngine, "Content/Sound Bank.xsb");
  waveBank = new WaveBank(audioEngine, "Content/Wave Bank.xwb");

  soundBank.GetCue("k15").Play();
}

Kör i det här tillståndet och se till att den loopar i mitten. Den faktiska loopkontrollen slutförs i WAVE-filen eller XACT-fasen, så du behöver inte göra någon speciell konfiguration i programmet.

Om att komprimera ljudfiler

XACT ger möjlighet att komprimera ljudfiler för att minska filstorleken. XNA Game Studio kunde spela upp komprimerade filer, men MonoGame stöder dem inte, så det kan finnas undantag eller oavsiktligt ljud när du spelar. Endast okomprimerade vågfiler kan användas i reala termer. Som ni kan se är filstorleken ganska stor.

Om du verkligen vill minska filstorleken måste du justera samplingsfrekvensen för WAVE-filen och så vidare.

Hur iPhone, Android, Linux och OUYA är tillgängliga

XACT är ett Windows och Xbox-verktyg, så det är inte säker på att det kommer att fungera på andra plattformar. Om det behövs, prova det och bestämma om du vill anställa den.