private static void Main(string[] args) { var path = @"D:\mp3\mixes\"; var output = @"D:\code\Downgrooves\src\assets\images\waveforms\"; _settings = new StandardWaveFormRendererSettings(); _settings.Width = 1080; _settings.BackgroundColor = Color.Transparent; //_settings.TopPeakPen = new Pen(Color.FromArgb(1, 255, 255, 255)); //_settings.BottomPeakPen = new Pen(Color.FromArgb(1, 153, 153, 153)); _settings.PixelsPerPeak = 1; _settings.SpacerPixels = 0; _settings.TopHeight = 64; _settings.BottomHeight = 64; Array.ForEach(Directory.GetFiles(output), delegate(string p) { File.Delete(p); }); foreach (var item in System.IO.Directory.GetFiles(path, "*.mp3")) { var fileInfo = new FileInfo(item); var fileName = fileInfo.Name; var imageName = fileInfo.Name.Replace(".mp3", ".png"); var outPath = $"{output}{imageName}"; Console.WriteLine($"Write {outPath}"); MakeWav(fileInfo.FullName, outPath); //return; } }
private void RenderChart(PictureBox picbox, string audioFilePath) { MaxPeakProvider maxPeakProvider = new MaxPeakProvider(); RmsPeakProvider rmsPeakProvider = new RmsPeakProvider(200); // e.g. 200 SamplingPeakProvider samplingPeakProvider = new SamplingPeakProvider(200); // e.g. 200 AveragePeakProvider averagePeakProvider = new AveragePeakProvider(4); // e.g. 4 StandardWaveFormRendererSettings myRendererSettings = new StandardWaveFormRendererSettings(); myRendererSettings.Width = 4320; myRendererSettings.TopHeight = 256; myRendererSettings.BottomHeight = 256; //myRendererSettings.BottomSpacerPen = new Pen(Color.Transparent); //myRendererSettings.TopSpacerPen = new Pen(Color.Transparent); //myRendererSettings.PixelsPerPeak = 10; //myRendererSettings.SpacerPixels = 2; myRendererSettings.TopPeakPen = new Pen(Color.FromArgb(0, 192, 192)); myRendererSettings.BottomPeakPen = new Pen(Color.FromArgb(100, 0, 192, 192)); myRendererSettings.BackgroundColor = Color.Transparent; //myRendererSettings.DecibelScale = true; WaveFormRenderer renderer = new WaveFormRenderer(); Image image = renderer.Render(audioFilePath, averagePeakProvider, myRendererSettings); picbox.Image = image; }
private void SelectSong_button_Click(object sender, EventArgs e) { //openFileDialog1.ShowDialog(); if (openFileDialog1.ShowDialog() == DialogResult.OK) { //listBox3.Items.Add(openFileDialog1.SafeFileName); //Addes the song to the list TODO: a function to call } var maxPeakProvider = new MaxPeakProvider(); var rmsPeakProvider = new RmsPeakProvider(200); // e.g. 200 var samplingPeakProvider = new SamplingPeakProvider(200); // e.g. 200 var averagePeakProvider = new AveragePeakProvider(4); // e.g. 4 var myRendererSettings = new StandardWaveFormRendererSettings(); myRendererSettings.Width = 640; myRendererSettings.TopHeight = 32; myRendererSettings.BottomHeight = 32; myRendererSettings.BackgroundColor = Color.White; var renderer = new WaveFormRenderer(); var audioFilePath = "./user_data/sound/" + openFileDialog1.SafeFileName; var image = renderer.Render(audioFilePath, myRendererSettings); pictureBox1.Image = image; }
public MainWindow() { InitializeComponent(); waveFormRenderer = new WaveFormRenderer(); standardSettings = new StandardWaveFormRendererSettings() { Name = "Standard" }; var soundcloudOriginalSettings = new SoundCloudOriginalSettings() { Name = "SoundCloud Original" }; var soundCloudLightBlocks = new SoundCloudBlockWaveFormSettings(System.Drawing.Color.FromArgb(102, 102, 102), System.Drawing.Color.FromArgb(103, 103, 103), System.Drawing.Color.FromArgb(179, 179, 179), System.Drawing.Color.FromArgb(218, 218, 218)) { Name = "SoundCloud Light Blocks" }; var soundCloudDarkBlocks = new SoundCloudBlockWaveFormSettings(System.Drawing.Color.FromArgb(52, 52, 52), System.Drawing.Color.FromArgb(55, 55, 55), System.Drawing.Color.FromArgb(154, 154, 154), System.Drawing.Color.FromArgb(204, 204, 204)) { Name = "SoundCloud Darker Blocks" }; var soundCloudOrangeBlocks = new SoundCloudBlockWaveFormSettings(System.Drawing.Color.FromArgb(255, 76, 0), System.Drawing.Color.FromArgb(255, 52, 2), System.Drawing.Color.FromArgb(255, 171, 141), System.Drawing.Color.FromArgb(255, 213, 199)) { Name = "SoundCloud Orange Blocks" }; var topSpacerColor = System.Drawing.Color.FromArgb(64, 83, 22, 3); var soundCloudOrangeTransparentBlocks = new SoundCloudBlockWaveFormSettings(System.Drawing.Color.FromArgb(196, 197, 53, 0), topSpacerColor, System.Drawing.Color.FromArgb(196, 79, 26, 0), System.Drawing.Color.FromArgb(64, 79, 79, 79)) { Name = "SoundCloud Orange Transparent Blocks", PixelsPerPeak = 2, SpacerPixels = 1, TopSpacerGradientStartColor = topSpacerColor, BackgroundColor = System.Drawing.Color.Transparent }; var topSpacerColor2 = System.Drawing.Color.FromArgb(64, 224, 224, 224); var soundCloudGrayTransparentBlocks = new SoundCloudBlockWaveFormSettings(System.Drawing.Color.FromArgb(196, 224, 225, 224), topSpacerColor2, System.Drawing.Color.FromArgb(196, 128, 128, 128), System.Drawing.Color.FromArgb(64, 128, 128, 128)) { Name = "SoundCloud Gray Transparent Blocks", PixelsPerPeak = 2, SpacerPixels = 1, TopSpacerGradientStartColor = topSpacerColor2, BackgroundColor = System.Drawing.Color.Transparent }; }
private static async Task RenderAudioAsync(string fileName) { var averagePeakProvider = new AveragePeakProvider(4); var rendererSettings = new StandardWaveFormRendererSettings { Width = 1080, TopHeight = 64, BottomHeight = 64 }; var renderer = new WaveFormRenderer(); var image = await Task.Run(() => renderer.Render(fileName, averagePeakProvider, rendererSettings)) .ConfigureAwait(false); image.Save($@"../{PathIO.GetFileNameWithoutExtension(fileName)}.png", ImageFormat.Png); }
private void Visualization() { var rmsPeakProvider = new RmsPeakProvider(200); var myRendererSettings = new StandardWaveFormRendererSettings(); myRendererSettings.Width = 1376; myRendererSettings.TopHeight = 91; myRendererSettings.BottomHeight = 91; myRendererSettings.BackgroundColor = Color.Black; myRendererSettings.TopPeakPen = penWhite; myRendererSettings.BottomPeakPen = penGray; var renderer = new WaveFormRenderer(); Image image = renderer.Render(filepath.Text, rmsPeakProvider, myRendererSettings); pictureBoxWave.Image = image; }
//SINGLE-IMPORT AUDIO private void button1_Click(object sender, EventArgs e) { //GET AUDIO FILE OpenFileDialog openFileDialog1 = new OpenFileDialog { InitialDirectory = @"C:\", Title = "Browse Audio Files", CheckFileExists = true, CheckPathExists = true, DefaultExt = "wav", Filter = "wav files (*.wav)|*.wav", FilterIndex = 2, RestoreDirectory = true, ReadOnlyChecked = true, ShowReadOnly = true }; if (openFileDialog1.ShowDialog() == DialogResult.OK) { single_audio = openFileDialog1.FileName; textBox1.Text += "Opened Audio File Successfully" + "\r\n"; textBox2.Text = "Imported Audio: " + single_audio; } if (single_audio != null) { //DISPLAY WAVEFORM var maxPeakProvider = new MaxPeakProvider(); var rmsPeakProvider = new RmsPeakProvider(200); // e.g. 200 var samplingPeakProvider = new SamplingPeakProvider(200); // e.g. 200 var averagePeakProvider = new AveragePeakProvider(4); // e.g. 4 var myRendererSettings = new StandardWaveFormRendererSettings(); myRendererSettings.Width = 651; myRendererSettings.TopHeight = 24; myRendererSettings.BottomHeight = 24; var renderer = new WaveFormRenderer(); var audioFilePath = single_audio; var image = renderer.Render(audioFilePath, averagePeakProvider, myRendererSettings); pictureBox1.Image = image; } }
private void Button1_Click(object sender, EventArgs e) { try { if (openFileDialog1.ShowDialog() == DialogResult.OK) { fileName = openFileDialog1.FileName; } } catch (ArgumentNullException) { return; } // 1. Configure Providers MaxPeakProvider maxPeakProvider = new MaxPeakProvider(); RmsPeakProvider rmsPeakProvider = new RmsPeakProvider(200); // e.g. 200 SamplingPeakProvider samplingPeakProvider = new SamplingPeakProvider(200); // e.g. 200 AveragePeakProvider averagePeakProvider = new AveragePeakProvider(4); // e.g. 4 // 2. Configure the style of the audio wave image StandardWaveFormRendererSettings myRendererSettings = new StandardWaveFormRendererSettings(); myRendererSettings.Width = 1080; myRendererSettings.TopHeight = 64; myRendererSettings.BottomHeight = 64; myRendererSettings.BackgroundImage = new Bitmap(@"C:\Users\Kao\Pictures\Background\73109534_p6_master1200.jpg"); // 3. Define the audio file from which the audio wave will be created and define the providers and settings WaveFormRenderer renderer = new WaveFormRenderer(); Image image = renderer.Render(fileName, averagePeakProvider, myRendererSettings); // 4. Store the image image.Save(@"../render.png", ImageFormat.Png); pictureBox1.Image = image; // Or jpeg, however PNG is recommended if your audio wave needs transparency // image.Save(@"C:\Users\sdkca\Desktop\myfile.jpg", ImageFormat.Jpeg); waveOut = new WaveOut(); waveOut.PlaybackStopped += WaveOut_OnPlaybackStopped; var reader = new Mp3FileReader(fileName); waveOut.Init(reader); }
public Image audioWave(int Width, ILogger log) { //MaxPeakProvider maxPeakProvider = new MaxPeakProvider(); //RmsPeakProvider rmsPeakProvider = new RmsPeakProvider(1000); // e.g. 200 SamplingPeakProvider samplingPeakProvider = new SamplingPeakProvider(200); // e.g. 200 //AveragePeakProvider averagePeakProvider = new AveragePeakProvider(3); // e.g. 4 StandardWaveFormRendererSettings myRendererSettings = new StandardWaveFormRendererSettings(); myRendererSettings.Width = Width; myRendererSettings.TopHeight = 128; myRendererSettings.BottomHeight = 128; myRendererSettings.PixelsPerPeak = 1; myRendererSettings.BackgroundColor = Color.LightGray; renderer = new WaveFormRenderer(); return(renderer.Render(this.apath, samplingPeakProvider, myRendererSettings, log)); }
private void Button_Click(object sender, RoutedEventArgs e) { var openFileDialog1 = new OpenFileDialog(); try { fileName = openFileDialog1.FileName; } catch (ArgumentNullException) { return; } // 1. Configure Providers MaxPeakProvider maxPeakProvider = new MaxPeakProvider(); RmsPeakProvider rmsPeakProvider = new RmsPeakProvider(200); // e.g. 200 SamplingPeakProvider samplingPeakProvider = new SamplingPeakProvider(200); // e.g. 200 AveragePeakProvider averagePeakProvider = new AveragePeakProvider(4); // e.g. 4 // 2. Configure the style of the audio wave image StandardWaveFormRendererSettings myRendererSettings = new StandardWaveFormRendererSettings(); myRendererSettings.Width = 1080; myRendererSettings.TopHeight = 64; myRendererSettings.BottomHeight = 64; myRendererSettings.BackgroundImage = new Bitmap(@"C:\Users\ciit\Pictures\Konachan.com - 218504 arima_kousei a-shacho blonde_hair dark glasses instrument male miyazono_kaori piano shigatsu_wa_kimi_no_uso tree violin.jpg"); // 3. Define the audio file from which the audio wave will be created and define the providers and settings WaveFormRenderer renderer = new WaveFormRenderer(); Image image = renderer.Render(fileName, averagePeakProvider, myRendererSettings); // 4. Store the image image.Save(@"../render.png", ImageFormat.Png); MusicImage.Image = image; // Or jpeg, however PNG is recommended if your audio wave needs transparency // image.Save(@"C:\Users\sdkca\Desktop\myfile.jpg", ImageFormat.Jpeg); waveOut = new WaveOut(); waveOut.PlaybackStopped += WaveOut_OnPlaybackStopped; var reader = new Mp3FileReader(fileName); waveOut.Init(reader); }
private void makeAWaveFormToolStripMenuItem_Click(object sender, EventArgs e) { try { WaveFormRendererLib.WaveFormRenderer waveFormRenderer = new WaveFormRenderer(); StandardWaveFormRendererSettings settings = new StandardWaveFormRendererSettings(); settings.DecibelScale = true; settings.Width = 600; settings.TopHeight = 40; settings.BottomHeight = 40; var image = waveFormRenderer.Render(OFD.FileName, settings); SFD.Filter = "PNG|*.png"; SFD.ShowDialog(); image.Save(SFD.FileName); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
private void ButBrowse_Click_1(object sender, EventArgs e) //browse button { string oSelectedFile = ""; System.Windows.Forms.OpenFileDialog oDlg = new System.Windows.Forms.OpenFileDialog(); if (System.Windows.Forms.DialogResult.OK == oDlg.ShowDialog()) { oSelectedFile = oDlg.FileName; //selected file = oSelectedFile textBox1.Text = oSelectedFile; //configure Providers MaxPeakProvider maxPeakProvider = new MaxPeakProvider(); RmsPeakProvider rmsPeakProvider = new RmsPeakProvider(200); SamplingPeakProvider samplingPeakProvider = new SamplingPeakProvider(200); //could control these values with sliders? AveragePeakProvider averagePeakProvider = new AveragePeakProvider(4); //configure the style of the audio wave image StandardWaveFormRendererSettings myRendererSettings = new StandardWaveFormRendererSettings(); myRendererSettings.Width = 1080; myRendererSettings.TopHeight = 64; myRendererSettings.BottomHeight = 64; WaveFormRenderer renderer = new WaveFormRenderer(); String audioFilePath = textBox1.Text; Image image = renderer.Render(audioFilePath, averagePeakProvider, myRendererSettings); string folder = Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData); System.IO.Directory.CreateDirectory(folder + "\\AudioManipulation"); image.Save(folder + "\\AudioManipulation\\output.png", ImageFormat.Png); AddToLog("- Sound Played"); //loads waveform after generation on file browse Image loadImage = Image.FromFile("\\output.png"); pictureBox2.Image = image; pictureBox2.Height = image.Height; pictureBox2.Width = image.Width; } }
public AudioFileViewModel(string filepath) { FilePath = filepath; var blockSize = 200; var sampleInterval = 200; var scaleFactor = 4; var maxPeakProvider = new MaxPeakProvider(); var rmsPeakProvider = new RmsPeakProvider(blockSize); // e.g. 200 var samplingPeakProvider = new SamplingPeakProvider(sampleInterval); // e.g. 200 var averagePeakProvider = new AveragePeakProvider(scaleFactor); // e.g. 4 var myRendererSettings = new StandardWaveFormRendererSettings(); myRendererSettings.Width = 640; myRendererSettings.TopHeight = 32; myRendererSettings.BottomHeight = 32; var renderer = new WaveFormRenderer(); Image = ConvertImage(renderer.Render(FilePath, averagePeakProvider, myRendererSettings)); }