C# program – .NET – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

C# program – .NET – Fórum – Programujte.comC# program – .NET – Fórum – Programujte.com

 

Tomas.P0
Newbie
11. 4. 2012   #1
-
-2
-
Mimo téma

Zdravím

- vytvořte aplikaci, která bude zpracovávát zvuk nahrávaného z mikrofonu v reálném čase. Zpracování zvuku bude probíhat v časové oblasti a výsledkem bude frekvenční spektrum. Zdrojový kód pro zachytávání zvuku zvukové karty je uložen v souboru Recorder.cs, kde jsou všechny potřebné metody okomentovány. Pro správnou funkčnost této třídy musíte do do projektu zakomponovat knihovnu NAudio.dll, která je také součástí přílohy. http://msdn.microsoft.com/en-us/library/7314433t%28v=vs.80%29.aspx
- algoritmus pro zpracování zvuku je libovolny, je však doporučeno použít algoritmus rychlé fourierovy transformace FFT, který je uložený v souboru FFT.cs, zde doporučuji použít metodu RealFFT()
- výsledek vykreslete do aplikace typu WinForm (Formulářová aplikace) - Doporučuji použít Microsoft.Chart komponentu, která je určena pro vykreslování grafů. http://www.microsoft.com/downloads/cs-cz/details.aspx?familyid=130f7986-bf49-4fe5-9ca8-910ae6ea442c
- v aplikaci bude vykreslen jak původní signál tak spektrum do hlavního formulářového okna
- aplikace umožní detekci prahové hodnoty signálu - pomocí UpDown uživatelského prvku
- při detekci překročení prahové hodnoty dojde k vykreslení informace o překročení v určitém čase na obrazovku
- součástí přílohy je také třída, která vytváří druhé vlákno a používá v sobě synchronizaci pomocí třídy EventWaitHandle, což usnaďňuje poměrně velkou část řešení projektu, na studentovi tedy pouze zbývá tento kód pochopit a zakomponovat správně do svého uživatelského rozhranní

http://www.ulozto.cz/xXSvCvt/prilohy-zip

http://www.youtube.com/watch?v=fpwuqDVwcsM&feature=player_embedded

Můj postup:

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;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            //public Boolean AutoScale {get;set;}
            //změna rozsahu osy X1
            if(chart1.Series[0].Points.Count > 30)
            {
               if (chart1.Series[0].Points.Count > 30)
               chart1.Series[0].Points.RemoveAt(0);
               chart1.ChartAreas["Default"].AxisX.Minimum = 0;
               chart1.ChartAreas["Default"].AxisX.Maximum = 2000;
            }
            //změna rozsahu osy Y1
            
            //změna rozsahu osy X2
            if (chart2.Series[0].Points.Count > 30)
            {
                if (chart2.Series[0].Points.Count > 30)
                chart2.Series[0].Points.RemoveAt(0);
                chart2.ChartAreas["Default"].AxisX.Minimum = 0;
                chart2.ChartAreas["Default"].AxisX.Maximum = 500;
            }
            //změna rozsahu osy Y2
            
        }
        //graf pro vykreslení zvuku v časové oblasti
        private void chart1_Click(object sender, EventArgs e)
        {
        
        }
        //graf pro vykreslení frekvenčního spektra
        private void chart2_Click(object sender, EventArgs e)
        {
            RealFFT();
        }
        //tlačítko pro uzavření aplikace
        private void button1_Click(object sender, EventArgs e)
        {

        }
        //tlačítko pro zastavení nahrávání
        private void button2_Click(object sender, EventArgs e)
        {

        }
        //tlačítko pro spouštění nahrávání
        private void button3_Click(object sender, EventArgs e)
        {

        }
        //tlačítko pro FFT
        private void button4_Click(object sender, EventArgs e)
        {

        }
        //vybrané zařízení
        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {

        }
        //nastavení limitu
        private void numericUpDown1_ValueChanged(object sender, EventArgs e)
        {

        }
        //zisk
        private void progressBar1_Click(object sender, EventArgs e)
        {

        }
        //napěťová špička
        private void label1_Click(object sender, EventArgs e)
        {

        } 
    }
}
Nahlásit jako SPAM
IP: 88.100.249.–
stif+1
Stálý člen
12. 4. 2012   #2
-
0
-

#1 Tomas.P
Ako....jak to mám chápať... niekto poslúchne tvoj ctený príkaz a urobi ti program, len preto lebo ty si povedal:

- vytvořte aplikaci, která bude zpracovávát zvuk nahrávaného z mikrofonu v reálném čase.

Vtipné  . Čo tak poprosiť? Alebo si náš zamestnávateľ?

Nahlásit jako SPAM
IP: 95.103.179.–
Autor programuje v programovacích jazykoch C++ a VB. Je tvorcom e-zinu http://www.programujte.6f.sk/, na ktorom sa nachádzaju info pre začínajúcich prog. a webdesignerov. Stránka zahrňuje aj fórum.
Tomas.P
~ Anonymní uživatel
23 příspěvků
12. 4. 2012   #3
-
0
-

Prosím, poraďte mi

Nahlásit jako SPAM
IP: 88.100.249.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 56 hostů

Podobná vlákna

Program — založil Jan Burant

Program do C++ — založil elis5

Program — založil dakine

Program — založil hazard

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý