C#의 MIDI에서 Wav/MP3로 어떻게 변환 할 수 있습니까?
문제
MIDI 파일 작업을 포함하여 작은 프로젝트를 시작했습니다. MIDI와 WAV 파일 사이에 캐스팅하는 C# 또는 VB.NET 코드가 있습니까?
해결책
당신은 어떻게 든 인터페이스하려고 시도 할 수 있습니다 소심한, 오픈 소스 :
Timity ++는 소프트웨어 신시사이저입니다. PCM 파형 데이터로 변환하여 MIDI 파일을 재생할 수 있습니다. Digital Instrument 데이터 파일과 함께 MIDI 데이터를 제공 한 다음 실시간으로 종합하고 재생합니다. 사운드를 재생할 수있을뿐만 아니라 생성 된 파형을 다양한 오디오 파일 형식으로 하드 디스크로 저장할 수 있습니다.
유체 최근에 비슷한 맥락에서 업데이트 된 오픈 소스 프로젝트입니다.
FluidSynth는 SoundFont 2 사양을 기반으로 한 실시간 소프트웨어 신시사이저입니다.
사이트에서 무료 사운드 폰트 (이 신디사이저에서 사용하는 실제 PCM 데이터)를 다운로드 할 수 있습니다. 이 목록.
다른 팁
미디 파일 음표와 컨트롤러 정보 만 포함합니다. MIDI 파일에서 사운드를 얻으려면 음악 신디사이저 또는 샘플러를 통해 파일을 전달해야하므로 메모 및 컨트롤러 정보를 실제 사운드로 변환합니다.
실제로 이것은 주어진 MIDI 파일에 특정 사운드가 없음을 의미합니다. MIDI 파일을 오디오로 변환 한 결과 사운드는 신시사이저 또는 샘플 라이브러리의 품질과 변환을 수행하도록 선택된 사운드에 따라 다릅니다.
많은 사운드 카드에는 MIDI 파일에서 사운드를 생성 할 수 있습니다. 많은 MIDI 파일이 일반 미디 사양. 일반 MIDI 사양은 특정 기기 할당을 매핑하는 표준화 된 방법을 제공합니다. MIDI 파일 이이 표준을 준수하는 경우 일반적인 MIDI 사운드 생성기를 통해 재생하고 스네어 드럼이 스네어 드럼처럼 들리며 트럼펫이 아닌 소리를 낼 수 있습니다.
정교한 음악 제작 패키지가 있다면 스텝 경기, MIDI 파일을로드 할 수 있으며 온보드 사운드 라이브러리를 사용하여 사운드 파일을 렌더링 할 수 있으며 실제로 실시간보다 빠르게 수행 할 수 있습니다 (즉, 사운드를 재생할 필요가 없습니다. 사운드 카드를 통해 출력을 캡처합니다).
내가 말하려고하는 것은 이것에 움직이는 부분이 많다는 것 같아요. 이를 수행하는 단일 코드 또는 클래스 모듈이 없습니다.
이 작업을 수행 할 수있는 여러 프로그램이 있습니다 (Google "MIDI로 변환 MIDI로 WAV").이 작업을 수행하는 공개적으로 사용할 수있는 .NET 코드를 발견 한 적이 없습니다 (이러한 프로그램 중 일부는 작성되었다고 생각합니다. NET이지만 소스 코드를 사용할 수 없습니다).
상업용 MIDI-to-Wav 컨버터를 작업중인 온라인 친구가 있지만 .NET에 있지 않으며 오픈 소스가 아닙니다. Robert Harvey가 언급했듯이, 기본적으로 자신의 소프트웨어 신디사이저 (내 마음의 과제)를 작성하는 것이 포함되므로 이것은 전혀 간단한 작업이 아닙니다.