중간에서 소리 반복

페이지 업데이트 :
페이지 생성 날짜 :

필요한 도구

사운드의 중간에서 반복 재생을 위해 이번에는 다음 두 가지 도구를 사용 합니다.

  • Wavosaur
  • XACT

Wavosaur 다운로드 및 설치

Wavosaur는 오디오 파일의 파형 데이터를 편집 하는 도구입니다. Wavosaur는 다음 사이트에서 다운로드할 수 있습니다.

페이지를 열면, 그림의 빨간 테두리의 링크에서 파일을 다운로드 하십시오. 32bit 버전과 64bit 버전이 있기 때문에, 실행 환경에 있던 것을 사용 하십시오.

Wavosaur のダウンロード

Wavosaur는 EXE 단독으로 실행할 수 있기 때문에 설치할 필요가 없습니다. 모든 폴더를 확장 하십시오.

XACT 다운로드 및 설치

XACT는 Windows와 Xbox의 게임 사운드를 미세 조정 하 여 게임 중에 재생 되도록 편집 하는 도구입니다.

XACT은 단독으로 배포 되지 않았으며 XNA Game Studio와 DirectX SDK에 포함 되어 있습니다. 이번에는 XNA Game Studio와 함께 제공 되는 것입니다. XNA Game Studio는 다음 링크에서 다운로드할 수 있습니다.

다운로드 한 후 설치 프로그램을 실행 하 여 설치 하십시오. XNA Game Studio는 Windows 7 까지만 공식적으로 지원 하지 않지만 Windows 10 환경 에서도 설치 되 있는지 확인 합니다.

Wavosaur 루프 지점을 설정 된 WAVE 파일 만들기

사전에 반복 재생 하려는 사운드 파일을 제공 합니다. 기본은 WAVE 파일에서 편집할 수 있지만 기본 오디오 데이터는 MP3 파일에서 로드할 수 있습니다. (이번 예제에서 사용 된 음성 파일은 「H/MIX GALLERY」 사이트에서 「 ポックル 육지 (k15.mp3) 」 파일을 빌려 드립니다)

サウンドファイルを用意

Wavosaur를 실행 하 여 시작 합니다.

Wavosaur を実行

화면이 표시 됩니다.

Wavosaur のウィンドウ

제공 된 오디오 파일을 Wavosaur에 드래그 앤 드롭합니다. 파형 데이터가 표시 됩니다.

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

파형 데이터를 마우스로 드래그 하면 범위를 선택할 수 있습니다. 루프 시키고 자 하는 범위를 선택 하십시오.

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

메뉴 로부터 「 Tools "→" Loop "→" Create loop points 」를 선택 합니다. 도구 모음에 있는 「 L 」 버튼을 눌러도 동일 합니다.

「Create loop points」を選択

선택 영역 양쪽 겨드랑이에 「 loop start "loop end 」 라고 표시 됩니다. 이 영역이 반복 되는 영역입니다.

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

메뉴 로부터 「 File → Save 」를 선택 하 여 오디오 데이터를 저장 합니다.

音声データを保存

파일은 기본적으로 WAVE 파일입니다. 임의의 폴더에 저장 하십시오. 다시 편집 하 고 싶다면이 WAVE 파일을 Wavosaur에 놓으면 중간에서 편집할 수 있습니다.

ファイルを保存

파일을 저장 한 상태에 있습니다. XACT이 WAVE 파일을 사용 합니다. MP3 파일을 바탕으로 편집 하는 MP3 파일은 더 이상 사용 하지 않습니다.

ファイルを保存した状態

XACT에 MonoGame의 사운드 재생에 필요한 파일을 만들려면

시작 메뉴에서 「 Microsoft XNA Game Studio 4.0 Refresh 」 → 「 Microsoft Cross-Platform Audio Creation Tool 3 (XACT3) 」를 선택 하 여 시작 합니다. DirectX SDK 등에서 설치한 경우에는 그곳에서 시작 하십시오.

Microsoft Cross-Platform Audio Creation Tool 3 (XACT3)

시작 하자마자 화면입니다. 이번 XACT은 가장 간단한 작업만 수행 하지 않기 때문에 다른 사용을 알고 싶다면 Web 등에서 확인해 주십시오. 중간 반복 재생 설정을 변경한 WAVE 파일을 사용할 경우 XACT에 특별 한 작업이 필요 하지 않습니다.

XACT 起動画面

처음에 프로젝트를 만듭니다. 도구 바의 「 Creates a new project 」 버튼을 클릭 합니다.

プロジェクトを作成

프로젝트를 저장할 위치를 지정 합니다.

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

프로젝트를 만든 후 「 Wave Backs 」를 오른쪽 클릭 해 「 New Wave Bank 」을 선택 합니다.

New Wave Bank

「 Wave Bank 」가 만들어진 것을 확인 한 후 마찬가지로 「 Sound Banks 」를 오른쪽 클릭 해 「 New Sound Bank 」을 선택 합니다.

New Sound Bank

화면에는 그림과 같은 상태가 됩니다.

Wave Bank と Sound Bank 作成後

방금 만든 WAVE 파일을 「 Wave Bank 」 창에 드래그 앤 드롭합니다.

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

그런 다음 Wave Bank에 추가 된 데이터를 Sound Bank 상단 영역에 드래그 앤 드롭합니다.

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

연속적으로 Sound 영역에 추가 된 데이터를 왼쪽의 Cue 영역으로 끌어 놓습니다.

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

Sound 파일을 선택 하 고 왼쪽 속성 「 Looping "가" Infinite 」에 체크 되어 있는지 확인 합니다.

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

작업이 끝나면 도구 바의 「 Build 」 버튼을 클릭 하 고 빌드합니다.

Build

창이 표시 되지만, 본래 「 Finish 」 버튼을 눌러 완료 시킵니다.

Finish

프로젝트를 저장 한 폴더를 「 Win 」 폴더가 생성 되며 그 안에 3 개의 파일이 생성 되어 있는지 확인 합니다.

3つのファイル

게임 프로젝트 생성

박상은 MonoGame 프로젝트에서 파일의 등록 및 프로그램을 만들 수 있습니다. 이번에는 Windows Project에서 만들고 있습니다. Windows 스토어 앱과 Windows Mobile에서 작동 하는지 확인 합니다.

Windows Project

프로젝트를 만든 후 방금 XACT 만든 세 파일을 「 Content 」 폴더에 등록 합니다. 특별 Content 폴더 이어야 한다는 뜻은 아닙니다.

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

추가 된 3 개의 파일을 선택한 상태에서 속성을 엽니다.

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

「 출력 디렉터리로 복사 "에서" 변경 된 내용만 복사 한다 」로 변경 합니다.

新しい場合はコピーする

Windows Universal App Project (UAP)의 경우는 위의 설정에서 사용할 수 없습니다. 대신 「 빌드 작업 」을 「 콘텐츠 」로 변경 하십시오.

「コンテンツ」に変更

나머지는 프로그램입니다. 기본적으로 XACT을 사용한 사운드 재생과 같은 프로그램입니다.

사용 된 네임 스페이스에 「 Microsoft.Xna.Framework.Audio 」을 추가 합니다.

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

필드에 다음 세 줄 「 AudioEngine 」 「 SoundBank 」 「 WaveBank 」을 추가 합니다.

GraphicsDeviceManager graphics;
SpriteBatch spriteBatch;

AudioEngine audioEngine;
SoundBank soundBank;
WaveBank waveBank;

LoadContent 메서드에서 「 AudioEngine 」 「 SoundBank 」 「 WaveBank 」의 인스턴스를 만들어서 하 고 있습니다. 각 Content 폴더에 추가 된 3 개의 파일에 대응 하 고 있기 때문에, 프로젝트 루트 폴더의 상대 경로를 지정 하십시오.

여기서는 빨리 Cue를 가져오고 재생 하 고 있지만, 실제 게임에서는 원하는 위치에 재생 하십시오.

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();
}

이 상태에서 실행 하 고 중간에서 반복 재생 되 고 있는지 확인 하십시오. 실제 루프 제어는 WAVE 파일 및 XACT 단계에서 완료 된 프로그램에서 뭔가 특별 한 설정을 할 필요가 없습니다.

오디오 파일의 압축

XACT 오디오 파일을 압축 하 여 파일 크기를 감소 시키는 기능이 있습니다. XNA Game Studio에서는 압축 된 파일을 재생할 수 있지만 MonoGame에 포함 되어 있지 않기 때문에 재생 하는 동안 예외가 발생 하거나 의도 하지 않은 소리가 흐르는 경우도 있습니다. 진짜 사용할 수 없음 압축 WAVE 파일입니다. 아시다시피 아닐까 생각 되지만 파일 크기가 상당히 커집니다.

아무래도 파일 크기를 줄이려는 경우에는 WAVE 파일의 샘플링 속도 등을 조정 해야 합니다.

IPhone 및 Android, Linux, OUYA의 대응에 대해

XACT는 Windows와 Xbox를 대상으로 하는 도구 이기 때문에 다른 플랫폼에서 제대로 작동 하는지는 미확인입니다. 필요 하다 면, 실제로 시도해 주셔서 채택 여부를 결정 하십시오.