C# Convertire i numeri in note

ivarello

Utente Attivo
14 Dic 2012
211
1
16
Salve ragazzi, so che la mia richiesta è alquanto strana, ma qualcuno di voi a provato o sa come convertire dei numeri random in note musicali? ho provato con questo codice:

Codice:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Media;
using System.Threading;

namespace Earth_Voice
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button_play_Click(object sender, EventArgs e)
        {

            Beep.BeepBeep(1000, 1000, 2000);
            label_frame.Text = "-100";
            Beep.BeepBeep(1000, 1125, 2000);
            label_frame.Text = "100";
            Beep.BeepBeep(1000, 1478, 2000);
            label_frame.Text = "110";
            Beep.BeepBeep(1000, 1568, 2000);
            label_frame.Text = "120";
            Beep.BeepBeep(1000, 1987, 2000);
            label_frame.Text = "130";
            Beep.BeepBeep(1000, 1234, 2000);
            label_frame.Text = "140";
            Beep.BeepBeep(1000, 1235, 2000);
            label_frame.Text = "150";
            Beep.BeepBeep(1000, 1869, 2000);
            label_frame.Text = "160";
            Beep.BeepBeep(1000, 1457, 2000);
            label_frame.Text = "170";
        }

    }
    public class Beep
    {
        public static void BeepBeep(int Amplitude, int Frequency, int Duration)
        {
            double A = ((Amplitude * (System.Math.Pow(2, 15))) / 1000) - 1;
            double DeltaFT = 2 * Math.PI * Frequency / 44100.0;

            int Samples = 441 * Duration / 10;
            int Bytes = Samples * 4;
            int[] Hdr = { 0X46464952, 36 + Bytes, 0X45564157, 0X20746D66, 16, 0X20001, 44100, 176400, 0X100004, 0X61746164, Bytes };
            using (MemoryStream MS = new MemoryStream(44 + Bytes))
            {
                using (BinaryWriter BW = new BinaryWriter(MS))
                {
                    for (int I = 0; I < Hdr.Length; I++)
                    {
                        BW.Write(Hdr[I]);
                    }
                    for (int T = 0; T < Samples; T++)
                    {
                        short Sample = System.Convert.ToInt16(A * Math.Sin(DeltaFT * T));
                        BW.Write(Sample);
                        BW.Write(Sample);
                    }
                    BW.Flush();
                    MS.Seek(0, SeekOrigin.Begin);
                    using (SoundPlayer SP = new SoundPlayer(MS))
                    {
                        SP.PlaySync();
                    }
                }
            }
        }
    }
}

Il risultato è abbastanza mediocre, qualche idea
 

linoma

Utente Attivo
1 Mar 2017
93
4
8
Intanto va posto il controllo se il campione e maggiore di 32767 oppure minore -32768, Scusami ma nn ti seguo sul calcolo dell'ampiezza.
 
Discussioni simili
Autore Titolo Forum Risposte Data
L Script per convertire numeri in parole Javascript 2
D convertire questo stringa in mysqli PHP 4
T [A pagamento] convertire database Offerte e Richieste di Lavoro e/o Collaborazione 5
MarcoGrazia Convertire una data da un formato all'altro Snippet PHP 0
R Convertire slides Powerpoint in Pagine Web HTML e CSS 7
F Convertire JavaScript per la compatibilità nei browser obsoleti Javascript 0
P Convertire Excel in PHP PHP 1
Shyson [PHP] Convertire lunghezza di focale PHP 13
S [PHP] Convertire un orario in un numero decimale PHP 2
L [PHP] convertire gli url ad forma semplice PHP 3
J Come convertire i file ost in file pst? Posta Elettronica 6
G [PHP] Oracle, convertire una query multiline in Json PHP 3
L [PHP] Drupal convertire sito dinamico. CMS (Content Management System) 1
fida convertire i video in mp3 Discussioni Varie 2
G [PHP] convertire data in formato italiano dopo query PHP 6
M [PHP] Convertire date da americana a italiana direttamente nel db PHP 6
jonnino2004 sito spa da convertire in app Sviluppo app per Android 1
L [PHP] Convertire web codeigniter in App PHP 0
C Convertire sito web in app Android o per Windows Sviluppo app per Android 0
D [Javascript] Convertire ed adattare una data Javascript 1
B preventivo per convertire variabili js Offerte e Richieste di Lavoro e/o Collaborazione 1
alexbrasile PHP convertire la funzione fsockopen in curl PHP 0
T [PHP] Convertire Codice JAVA a PHP PHP 3
M [PHP] Come convertire data in formato testo PHP 4
felino [MySQL][phpMyAdmin] Convertire colonna da VARCHAR a DATE MySQL 3
M Script per convertire video youtube in mp3 PHP 1
M Mostrare il contenuto del database e convertire la data da timestamp PHP 2
M Convertire piccolo codice da lato server a client Javascript 1
Lui199909 Convertire numero decimale in binario PHP 11
il_bauscia Convertire router wireless in access point Reti LAN e Wireless 1
S convertire html5/jquery app in apk per android jQuery 0
A convertire php in apk Smartphone e tablet 0
J Convertire sito Desktop in versione Mobile HTML e CSS 0
Marcolotto Convertire PDF in Word [Era: PDF2Word] Discussioni Varie 1
D Convertire una stringa html in php PHP 5
C Convertire una data PHP 1
U php-mysql script per convertire valori $_POST PHP 2
M Convertire DB Access in MySQL MySQL 2
M Convertire data da formato italiano a timestamp PHP 2
Web Designer Come convertire pixel in cm con px2in converter Windows e Software 0
novello88 Da MKV ad AVI [Era: convertire file Matroska] Windows e Software 0
V Convertire video youtube in mp3 Social Media Marketing 2
O Convertire sito php procedural in php object oriented PHP 4
M Convertire il proprio sito personale in wordpress WordPress 4
A Convertire pagina php in .doc PHP 6
voldemort Convertire un file VOB in MOV Mac e Software 0
B Trasformare/convertire codice javascript in link URL Javascript 11
G Convertire le date in italiano mysql PHP 5
G Convertire KML in XML XML 2
Nyl Convertire sito passando a Drupal CMS (Content Management System) 3

Discussioni simili