MULTIPLATFORMNÍ PŘEHRÁVAČ ZVUKOVÝCH SIGNÁLŮ
|
|
- Zdeněk Jaroš
- před 8 lety
- Počet zobrazení:
Transkript
1 VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ ÚSTAV TELEKOMUNIKACÍ FACULTY OF ELECTRICAL ENGINEERING AND COMMUNICATION DEPARTMENT OF TELECOMMUNICATIONS MULTIPLATFORMNÍ PŘEHRÁVAČ ZVUKOVÝCH SIGNÁLŮ MULTIPLATFORM PLAYER OF AUDIO SIGNALS BAKALÁŘSKÁ PRÁCE BACHELOR'S THESIS AUTOR PRÁCE AUTHOR VEDOUCÍ PRÁCE SUPERVISOR JIŘÍ ŠENOVSKÝ Ing. PETR SYSEL, Ph.D. BRNO 2013
2 VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ Fakulta elektrotechniky a komunikačních technologií Ústav telekomunikací Bakalářská práce bakalářský studijní obor Teleinformatika Student: Jiří Šenovský ID: Ročník: 3 Akademický rok: 2012/2013 NÁZEV TÉMATU: Multiplatformní přehrávač zvukových signálů POKYNY PRO VYPRACOVÁNÍ: Prostudujte dostupné multiplatformní knihovny pro tvorbu grafického rozhraní - Gtk, Qt, apod. S použitím vybrané knihovny poté implementujte multiplatformní přehrávač zvukových souborů. Přehrávač musí umožňovat kromě přehrávání zvukových souborů také záznam, zobrazení časového průběhu, zobrazení spektrogramu, a to včetně lupy a posouvání v nahrávce. Přehrávač bude dále rozšiřitelný o další funkce. DOPORUČENÁ LITERATURA: [1] Blanchete, J.; Summerfield, M. C++ GUI Programming with Qt4. 2nd edition. Prentice Hall, p. ISBN [2] Krause, A. Foundations of GTK+ Development. 1st edition. Apress, p. ISBN Termín zadání: Termín odevzdání: Vedoucí práce: Ing. Petr Sysel, Ph.D. Konzultanti bakalářské práce: prof. Ing. Kamil Vrba, CSc. Předseda oborové rady UPOZORNĚNÍ: Autor bakalářské práce nesmí při vytváření bakalářské práce porušit autorská práva třetích osob, zejména nesmí zasahovat nedovoleným způsobem do cizích autorských práv osobnostních a musí si být plně vědom následků porušení ustanovení 11 a následujících autorského zákona č. 121/2000 Sb., včetně možných trestněprávních důsledků vyplývajících z ustanovení části druhé, hlavy VI. díl 4 Trestního zákoníku č.40/2009 Sb.
3 ABSTRAKT Tato práce se bude zaobírat návrhem multiplatformní aplikace pro nahrávání zvukového signálu. Zvukový signál bude zobrazen v časové ose, která poslouží k výpočtu frekvenční charakteristiky daného signálu. Tento výpočet se provádí pomocí DFT. Aplikace je vytvořena v multiplatformní knihovně Qt. Tato knihovna se jeví pro danou problematiku lepší. To je dokázáno ve druhé a třetí kapitole této práce kde srovnáváme náročnost práce s multiplatformními knihovnami pro tvorbu grafických rozhraní Qt a GTK+. KLÍČOVÁ SLOVA Qt, GTK, multiplatformní knihovna, DFT, FFTReal, WTFPL ABSTRACT This thesis is about problematic of multiplatform libraries for graphic interfaces. Two most widely used libraries Qt and GTK+ were chosen for further comparation. Short program will be programmed with both of these libraries. Difficulty of using Qt and GTK+ will be explored using this program. On this basis one library will be chosen and multiplatform sound player will be created using this library. It will be extended by record function and showing of timeline and spectrogram of a record. KEYWORDS Qt, GTK, multiplatform framework, DFT, FFTReal, WTFPL ŠENOVSKÝ, Jiří Multiplatformní přehrávač zvukových signálů: bakalářská práce. Brno: Vysoké učení technické v Brně, Fakulta elektrotechniky a komunikačních technologií, Ústav telekomunikací, s. Vedoucí práce byl Ing. Petr Sysel, Ph.D.
4 PROHLÁŠENÍ Prohlašuji, že svou bakalářskou práci na téma Multiplatformní přehrávač zvukových signálů jsem vypracoval samostatně pod vedením vedoucího bakalářské práce a s použitím odborné literatury a dalších informačních zdrojů, které jsou všechny citovány v práci a uvedeny v seznamu literatury na konci práce. Jako autor uvedené bakalářské práce dále prohlašuji, že v souvislosti s vytvořením této bakalářské práce jsem neporušil autorská práva třetích osob, zejména jsem nezasáhl nedovoleným způsobem do cizích autorských práv osobnostních a/nebo majetkových a jsem si plně vědom následků porušení ustanovení S 11 a následujících autorského zákona č. 121/2000 Sb., o právu autorském, o právech souvisejících s právem autorským a o změně některých zákonů (autorský zákon), ve znění pozdějších předpisů, včetně možných trestněprávních důsledků vyplývajících z ustanovení části druhé, hlavy VI. díl 4 Trestního zákoníku č. 40/2009 Sb. Brno (podpis autora)
5 PODĚKOVÁNÍ Rád bych poděkoval vedoucímu diplomové práce panu Ing. Petru Syslovi, Ph.D. za odborné vedení, konzultace, trpělivost a podnětné návrhy k práci. Brno (podpis autora)
6 z
7 OBSAH Úvod 9 1 Historie Qt GTK Srovnání Qt a GTK Vývojové prostředí pro operační systém Windows Vývojové prostředí pro operační systém Debian Multiplatformnost Vytvoření okna Přidávání ovládacích prvků Přiřazení funkce k akci Shrnutí Aplikace na přehrávání zvuku Vytvoření aplikací na přehrávání Zhodnocení aplikací Rozšíření aplikace o další funkce Nahrávání Časová osa Frekvenční charakteristika DFT FFTReal Výpočet amplitud Ukládání do souboru Závěr 25 Literatura 26 Seznam symbolů, veličin a zkratek 28 Seznam příloh 29 A Screenshot programu 30 B Obsah přiloženého CD 32
8 SEZNAM OBRÁZKŮ 1.1 Logo Qt Logo GTK Snímek okna s aplikací napsanou v knihovně Qt spuštěné na operačním systému Windows Snímek okna s aplikací napsanou v knihovně GTK+ spuštěné na operačním systému Windows Snímek okna s aplikací napsanou v knihovně Qt spuštěné na operačním systému Debian Snímek okna s aplikací napsanou v knihovně GTK spuštěné na operačním systému Debian A.1 Snímek okna s aplikací zobrazující generovaný tón 1500 Hz A.2 Snímek okna s aplikací zobrazující záznam rozhovoru
9 ÚVOD V této práci bude probíhat návrh multiplatformní aplikace pro nahrávání zvukových signálů. Tato aplikace bude umět zobrazit časový průběh dané nahrávky a zároveň její frekvenční charakteristiku. Tato charakteristika je zobrazena díky knihovně FFTReal, která pro výpočet používá DFT. Na časové ose se můžeme libovolně posunovat v nahrávce což nám umožní zobrazit spektrogram v různých úsecích nahrávky. Aplikace umožní přiblížení i oddálení časové osy a spektrogramu. Můžeme se tak zaměřit na malý úsek nahrávky nebo třeba na celou nahrávku. Aplikace bude realizována v multiplatformní knihovně Qt. A to na základě srovnání dvou nejpoužívanějších multiplatformních knihoven pro tvorbu aplikací s grafickým rozhraním (GUI) a to Qt a GTK+. Srovnána byla jak náročnost jejích kódů tak i použití na různých operačních systémech. Konkrétně Windows 7 v 64bitové verzi a Debian ve verzi ve 32bitové variantě. Bylo vytvořeno pár grafických návrhů a do nich vložené různé ovládací prvky. Další kapitola obsahuje návod jak již přidaným ovládacím prvkům dát požadovanou funkčnost. Pak je nabídnuto pár snímků obrazovky z vytvořených programů ať jde vidět rozdílná grafika těchto knihoven ale i rozdíl v operačních systémech. 9
10 1 HISTORIE 1.1 Qt Qt patří mezi nejvíce používané multiplatformní knihovny určené pro vývoj programů s grafickým uživatelským rozhraním. Qt toolkit byl vytvořen v roce 1999 společností Trolltech, která jej v roce 2008 prodala firmě Nokia. V červenci 2012 se Nokia rozhoduje zbavit Qt, protože se zaměřila na Windows Phone a upustila od projektů Maemo, MeeGo, Symbian i Meltemi. Nemá tak aktivní využití pro Qt Nokia prodává Qt Software Technologies a Qt business firmě Digia. Digia má vizi kterou chce naplnit do roku 2017: být první v multiplatformním vývoji pro desktop (Linux, Mac, MS Windows) i pro mobilní platformy (Android, ios, Blackberry) a také embedded zařízení být první pro prográmatory mít duální licence, tak jako doposud komerční i (L)GPL být otevřená business architektura Qt je knihovna programovacího jazyka C++, ale existuje i pro jazyky Python, Ruby, C, Perl, Pascal, C#, Java a Haskell. Podporuje lokalizaci aplikací a také SQL, zpracování XML, přístup k souborům, správu vláken, práci s grafikou a multimédii. Výhoda Qt spočívá v kvalitně zpracované dokumentaci a také ve vývojovém programu Qt Creator s nástavbou Qt Desinger. Aplikace vytvořené pro grafické uživatelské prostředí používá nativní vzhled operačního systému, takže vyvinuté aplikace se vždy přizpůsobí do používaného prostředí. Obr. 1.1: Logo Qt 10
11 1.2 GTK+ GTK+ bylo vytvořeno v roce 1997 členy skupiny experimental Computing Facility (XCF) kalifornské university v Berkeley (Spencer Kimball, Peter Mattis a Josh Mac- Donald). Peter Mattis začal psát svůj vlastní GUI nástroj, zvaný GIMP. Pro GIMP byla vyvinuta nová knihovna GTK (GIMP Toolkit). GTK+ je multiplatformní knihovna pro vytváření grafických uživatelských rozhraní. Nabízí úplnou sadu ovládacích prvků. Je napsána v C, ale byla navržena od základů tak, aby se dala použít i pro Perl, Ruby, Phyton. Dále byly napsány vazby pro mnoho dalších programovacích jazyků Fortran, Haskell, Lua, Ocaml, Pascal, PHP,... GTK+ je od počátku vyvíjen a šířen jako open-source software s licencí LGPL jako součást projektu GNU. Obr. 1.2: Logo GTK 11
12 2 SROVNÁNÍ QT A GTK+ Pro srovnání multiplatformního vývoje aplikacích založených na obou knihovnách jsem použil operační systém Windows 7 ve 64bitové verzi a jako zástupce Linuxových operačních systémů systém Debian verze varianta 32-bitová virtualizovaný ve VirtualBoxu. 2.1 Vývojové prostředí pro operační systém Windows Programy založené na knihovně Qt je možno psát v různých vývojových prostředích (IDE), ale nejlépe se mi osvědčilo vývojové prostředí Qt Creator od firmy Nokia Corporation, které je volně dostupné v licenci LPGL na cz/vyvojove_nastroje/multifunkcnieditory/qt-creator-ide/. Toto prostředí již v sobě obsahuje službu Qt Designer, který usnadňuje návrh grafického prostředí aplikace, tím, že vytváří soubory s příponou ui obsahující definici oken. Pro vývoj programů založených na knihovně GTK+ neexistuje vývojové prostředí obdobné Qt Creatoru. Z toho důvodu bylo použito standardní vývojové prostředí Visual Studio 2010 Professional od firmy Microsoft Corporation, které je zdarma poskytnuto pro studenty VUT FEKT. 2.2 Vývojové prostředí pro operační systém Debian Pro Qt bylo zvoleno opět vývojové prostředí Qt Creator ve verzi pro Linux, která je téměř identická s verzí pro Windows. U GTK+ bylo používáno IDE Anjuta od Naba Kumara, která je přímo uzpůsobena pro vývoj aplikací založených na GTK+ a jenž je možné doinstalovat do Debianu pomocí rozšiřujících balíků. 2.3 Multiplatformnost U Qt projektů bylo přenášení zdrojového kódu mezi oběma platformami (Windows 7 a Debian) jednoduché, protože u obou bylo použito stejné vývojové prostředí. Projekt stačilo pouze otevřít na dané platformě a po přeložení plně fungovaly všechny funkce. 12
13 U GTK+ nastaly menší komplikace. Vytvořený projekt ve vývojovém prostředí MS Visual Studio nemůže fungovat ve vývojovém prostředí Anjuta. Bylo potřeba v IDE Anjuta nejprve vytvořit prázdný GTK+ projekt a teprve do tohoto projektu nakopírovat zdrojové kódy z MS Visual Studia. Pak již po přeložení program fungoval. 2.4 Vytvoření okna Při vytvoření prázdného Qt projektu v Qt Creatoru se vytvoří třída popisující základní okno (MainWindow), které je zatím prázdné. Tato třída dědí vlastnosti od nadřazené třídy QMainWindow a vlastnosti třídy Ui::MainWindow - ta je automaticky vytvořena ze souboru mainwindow.ui při kompilaci. Kostru třídy MainWindow tvoří pouze metody pro konstruktor a destruktor. # include "mainwindow.h" # include "ui_mainwindow.h" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupui(this); } setwindowtitle("player"); MainWindow::~MainWindow() { delete ui; } Pro zobrazení tohoto okna pak stačí v souboru main.cpp zavolat na třídě MainWindow metodu show(). # include <QApplication> # include "mainwindow.h" int main(int argc, char *argv[]) { QApplication a(argc, argv); 13
14 MainWindow w; w.show(); } return a.exec(); Změna parametrů okna se zpravidla provádí uvnitř třídy, která definuje okno. Například změna titulku hlavního okna pomocí funkce setwindowtitle() na Player zavolané v konstruktoru třídy MainWindow. Taktéž by bylo možno titulek změnit v Qt Designeru. Naproti tomu vytvoření nového okna je v GTK+ značně odlišné, jelikož tato knihovna pracuje nad programovacím jazykem C, který na rozdíl od C++ neumožňuje objektově orientované programování. Vytvoření nového okna se provede zavoláním metody gtk_window_new(), která vrací ukazatel na objekt typu GtkWidget. Tento ukazatel reprezentuje nově vytvořené okno. Nastavování parametrů se provádí metodami, které v prvním argumentu přijímá ukazatel na okno a v dalších pak nastavované vlastnosti podle druhu funkce. Například pro nastavení titulku hlavního okna je potřeba zavolat funkci gtk_window_set_title(). # include <gtk / gtk.h> int main(int argc, char *argv[]) { gtk_init(&argc, &argv); GtkWidget *window = gtk_window_new(gtk_window_toplevel); gtk_window_set_title(gtk_window (window), "Player"); gtk_widget_show(window); gtk_main(); } return 0; Zobrazení okna se provede metodou gtk_widget_show(). 2.5 Přidávání ovládacích prvků Ovládací prvky (widgety) lze v Qt do okna přidat pomocí aplikace Qt Designer, která edituje soubor mainwindow.ui nebo přímo úpravou zdrojového kódu třídy 14
15 MainWindow. Pomocí aplikace Qt Designer nejprve vložíme ovládací prvky do okna a tím určíme jejich pozici. Poté je možno u ovládacích prvků nastavovat další parametry, jako je například identifikátor, název, velikost,... Takto vložené prvky nemají žádnou funkci, tu je potřeba jim přiřadit buď přímo v Qt Designeru nebo později ve zdrojovém kódu. Přidáním ovládacích prvků přímo ve zdrojovém kódu třídy okna. Například přidání tří tlačítek s textem One, Two, Three se provede vytvořením struktury QVBoxLayout, což je tabulka s jedním sloupcem a proměnným počtem řádků, který závisí na počtu vložených prvků. Jednotlivé prvky se do struktury přidávají metodou addwidget(), strukturu je poté potřeba přiřadit centrálním widgetu metodou setlayout(). MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupui(this); QPushButton *button1 = new QPushButton("One"); QPushButton *button2 = new QPushButton("Two"); QPushButton *button3 = new QPushButton("Three"); QVBoxLayout *layout = new QVBoxLayout; layout->addwidget(button1); layout->addwidget(button2); layout->addwidget(button3); } centralwidget()->setlayout(layout); U GTK+ je situace složitější, jelikož vývojové prostředí Visual Studio není uzpůsobeno pro vývoj grafických aplikací nad touto knihovnou a neobsahuje tedy možnost vytvářet GUI v grafickém režimu. Vývojové prostředí Anjuta toto sice umožňuje, ovšem toto IDE není dostupné pro operační systém Windows a proto je vhodné z důvodu multiplatformnosti ovládací prvky vytvářet přímo ve zdrojovém kódu. Vytvoření obdobné struktury v GTK+: # include <gtk / gtk.h> int main(int argc, char *argv[]) 15
16 { gtk_init(&argc, &argv); GtkWidget* window = gtk_window_new(gtk_window_toplevel); GtkWidget* vbox = gtk_vbox_new(true, 1); gtk_container_add(gtk_container(window), vbox); GtkWidget* button1 = gtk_button_new_with_label("one"); GtkWidget* button2 = gtk_button_new_with_label("two"); GtkWidget* button3 = gtk_button_new_with_label("three"); gtk_box_pack_start(gtk_box(vbox), button1, TRUE, TRUE, 0); gtk_box_pack_start(gtk_box(vbox), button2, TRUE, TRUE, 0); gtk_box_pack_start(gtk_box(vbox), button3, TRUE, TRUE, 0); gtk_widget_show_all(window); gtk_main(); } return 0; Do okna reprezentované ukazatelem window se přidá kontejner vytvořený metodou gtk_vbox_new(), což je obdoba třídy QVBoxLayout v Qt. Do tohoto kontejneru se pak pod sebe přidají všechna tři tlačítka zavoláním metody gtk_box_pack_start, kde první argument určuje kontejner do kterého bude prvek vložen, druhý ukazatel na vkládaný prvek, další tři pak podrobněji popisují výsledné zobrazení prvku. 2.6 Přiřazení funkce k akci Takto vytvořené ovládací prvky však zatím nemají přiřazenou žádnou funkci, která by se vykonala při prováděné akci (například po stisknutí tlačítka uživatelem). V knihovně Qt se k tomuto účelu používá systém signálů a slotů. Signál je vyslán při určité akci, ke kterému je přiřazen slot, jenž zajistí vykonání předem definované akce. Příklad ukazuje napojení signálu clicked() u tlačítka pomocí funkce connect(). Ten je vyslán v případě kliknutí. Na něj je napojen slot close(), který zapříčiní uzavření hlavního okna. 16
17 MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupui(this); QPushButton *buttonclose = new QPushButton("Close"); connect(buttonclose, SIGNAL(clicked()), this, SLOT(close())); QVBoxLayout *layout = new QVBoxLayout; layout->addwidget(buttonclose); } centralwidget()->setlayout(layout); U GTK+ je situace obdobná. K napojení signálu na danou funkci se používá metoda g_signal_connect(), kde v prvním argumentu určujeme objekt, který bude vysílat signál, v druhém argumentu typ signálu a ve třetím metodu, která se zavolá po vyslání signálu. V posledním argumentu můžeme volané metodě předat jakákoliv data (v tomto případě však žádná data nepředáváme a proto je poslední argument NULL). Pro zavření okna je ovšem potřeba definovat vlastní metodu delete_event. # include <gtk / gtk.h> static gboolean delete_event( GtkWidget *widget, GdkEvent *event, gpointer data ) { gtk_main_quit(); return FALSE; } int main( int argc, char *argv[]) { gtk_init(&argc, &argv); GtkWidget* window = gtk_window_new(gtk_window_toplevel); GtkWidget* vbox = gtk_vbox_new(true, 1); 17
18 gtk_container_add(gtk_container(window), vbox); GtkWidget* button_close = gtk_button_new_with_label("close"); g_signal_connect (button_close, "clicked", G_CALLBACK (delete_event), NULL); gtk_box_pack_start(gtk_box(vbox), button_close, TRUE, TRUE, 0); gtk_widget_show_all(window); gtk_main(); } return 0; 2.7 Shrnutí Z výše uvedených zdrojových kódů je patrné, že práce s oběma knihovnami je velmi podobná. Díky použití objektově orientovaného programování je ale používání knihovny Qt jednodušší, protože metody upravující vlastnosti daného objektu se nastavují přímo na daném objektu a ne pomocí obecné globální funkce. S výhodou lze u Qt navíc použít napovídání vývojového prostředí, protože ke každém objektu zobrazuje pouze relevantní metody, zatímco u GTK+ jsou zobrazovány všechny. Drobnou výhodou jsou také kratší jména volaných metod. 18
19 3 APLIKACE NA PŘEHRÁVÁNÍ ZVUKU 3.1 Vytvoření aplikací na přehrávání Přestože z předchozího porovnání vychází jako lepší využití knihovny Qt, rozhodl jsem se kvůli detailnějšímu srovnání vytvořit kostry aplikace, sloužící pro přehrání zvuku uloženého na disku počítače, každou vytvořenou s použitím jiné knihovny. Obě aplikace obsahují čtyři ovládací prvky pro spuštění, pozastavení a zastavení přehrávání a ukončení aplikace a dále dva posuvníky sloužící pro nastavení hlasitosti a nastavení pozice v přehrávaném souboru. Grafické uživatelské rozhraní aplikace napsané s použitím knihovny Qt je vytvořeno v Qt Designeru, u GTK+ jsou jednotlivé prvky vkládány přímo ve zdrojovém kódu. 3.2 Zhodnocení aplikací Po srovnání složitosti zdrojového kódu a práce s grafickým návrhem obou multiplatformních knihoven Qt a GTK+. Se práce s GTK+ jeví snadnější pokud by bylo cílem práce pouze sestavit aplikaci se základními ovládacími prvky. Jelikož je ale požadována aplikace pro přehrávání zvukových signálů, tak je lepší knihovna Qt, která obsahuje od verze 4.4 knihovnu Phonon sloužící pro přehrávání zvuků na všech podporovaných platformách. Což usnadní návrh aplikace oproti knihovně GTK+. Proto jsem se rozhodl pro pokračování návrhu aplikace sloužící k přehrávání zvukových signálů realizovat nad knihovnou Qt. 19
20 Obr. 3.1: Snímek okna s aplikací napsanou v knihovně Qt spuštěné na operačním systému Windows 7 Obr. 3.2: Snímek okna s aplikací napsanou v knihovně GTK+ spuštěné na operačním systému Windows 7 20
21 Obr. 3.3: Snímek okna s aplikací napsanou v knihovně Qt spuštěné na operačním systému Debian Obr. 3.4: Snímek okna s aplikací napsanou v knihovně GTK spuštěné na operačním systému Debian 21
22 4 ROZŠÍŘENÍ APLIKACE O DALŠÍ FUNKCE V semestrálním projektu jsem navrhl multiplatformní přehrávač zvukových signálu pomocí multiplatformní knihovny Qt. V bakalářské práci je tento přehrávač rozšířen o funkci nahrávání a zobrazení aktuální časové osy a frekvenční charakteristiky. Jak je ze snímku obrazovky aplikace patrné [A], obě charakteristiky můžeme nezávisle na sobě přibližovat nebo oddalovat. Posuvem časové osy se neustále přepočítává frekvenční analýza, pokud obsahuje dostatečný počet vzorků. U frekvenční charakteristiky se na ose x zobrazují popisky s uvedenou frekvencí v Hz, což usnadní orientaci v charakteristice. 4.1 Nahrávání Nahrávání záznamu se provádí pomocí třídy QAudioDeviceInfo, která přijímá jako parametr objekt třídy QAudioFormat nastavující parametry nahrávaného signálu (vzorkovací frekvence, rozlišení vzorku, použitý kodek). Tyto třídy jsem využil z důvodu, že jsou přímou součástí použitého frameworku Qt. Nahrávaný signál aplikace ukládá do operační paměti počítače a do souboru. Vzorkovací frekvenci nahrávaného signálu jsem zvolil 44,1 khz, je možno tedy zaznamenat všechny frekvence slyšitelného spektra až do 22,05 khz. Velikost vzorku jsem nastavil na 16 bitů. Bylo použito kódování typu PCM (Pulzní šířková modulace), který vzorky ukládá za sebou bez jakékoliv komprese, což zjednodušuje a zrychluje zobrazení časové osy a frekvenční charakteristiky. Vzorky se v paměti ukládají do zásobníku, který se automaticky v případě nedostatku místa pro nové vzorky zvětší na dvojnásobek. 4.2 Časová osa Časová osa zobrazuje časový průběh signálu. Při maximálním přiblížení odpovídá jeden pixel na obrazovce jednomu vzorku. Při oddalování se vždy počítá aritmetický průměr po sobě jdoucích vzorcích tak, aby se časová osa po jednom oddálení zkrátila o polovinu. 4.3 Frekvenční charakteristika Frekvenční charakteristika se počítá ze zobrazeného časového průběhu. Je vypočítávána z prvních 2048 vzorků zobrazeného signálu. Pokud je časová osa přiblížena pod tuto hodnotu tak se frekvenční charakteristika nevypočítá z důvodu nedostatečného 22
23 počtu informací. V takovém případě musíme časovou osu oddálit, aby počet vzorků stoupl nad tuto hodnotu DFT Diskrétní Fourierova transformace sdružuje numerické metody pomocí kterých můžeme určit spektrum ze vzorků signálu. D(n) = N 1 k=0 d(k)e ınk2π/n, n = 0,..., N 1 (4.1) DFT přiřazuje k časové posloupnosti d(k) o konečné délce N posloupnost spektra D(n) také o konečné délce N. Postup získaní spektra se skládá ze 3 kroků: K posloupnosti d(k) konečné délky N přiřadíme periodickou posloupnost d(k) s periodou N. Nalezneme obraz diskrétní Fourierovy řady D(n) d(k) K periodické posloupnosti D(n) s periodou N přiřadíme jednorázovou posloupnost D(n) o délce N. N 1 D(n) = R N (n) d(mod N (k))e ınk2π/n (4.2) k=0 N 1 = R N (n) d(k)e ınk2π/n (4.3) k=0 Člen R N (n) je pro výpočet nadbytečný, kvůli tomu se v literatuře neuvádí. To často vede k omylu, že obraz DFT je periodický, jenomže obraz DFT periodický není FFTReal Knihovna FFTReal slouží k výpočtu diskrétní fourierovi transformace DFT, ale i k výpočtu inverzní diskrétní fourierovi transformace IDFT. Je kompatibilní s programovacím jazykem C++ a dá se s tímto jazykem bez větších problémů použít. Tato knihovna nabízí dva způsoby použití: Počet vzorků nastavujeme až při kompilaci + rychlejší výpočet pomalejší kompilace nelze změnit počet vzorků při běhu programu Počet vzorků nastavujeme při vytvoření objektu + počet vzorků lze měnit při běhu programu + rychlejší kompilace 23
24 pomalejší inicializace programu pomalejší výpočet V aplikaci byl použit způsob, kdy počet vzorků nastavujeme až při vytvoření objektu a to z důvodu jednodušší implementace. Tuto knihovnu jsem vybral z několika důvodů: je zdarma volně šiřitelná v licenci WFTPL (Do What the Fuck You Want to Public License). Tato licence je málokdy používaná protože je to extrémně liberální svobodná softwarová licence. První verze je z března roku 2000 a napsal ji Banlu Kemiyatorn. Nyní se používá verze 2.0. Licence umožňuje redistribuci a modifikaci softwaru nezatížené žádnými podmínkami. je rychlá nabízí přehlednou a dostupnou dokumentaci jednoduché použití Výpočet amplitud Po vypočtení DFT získáme 2048 hodnot, z nichž je 1024 reálných a 1024 imaginárních a tvoří tak 1024 komplexních čísel. Jelikož je potřeba zobrazit ve spektrogramu velikost amplitudy na určité frekvenci, musíme z daných hodnot spočítat modul [4.4] komplexního čísla, které tvoří amplitudu frekvence od 0 do 1. m = real 2 + img 2 (4.4) Takto vypočtené hodnoty lze pak rovnou zobrazit do frekvenční charakteristiky. Nultá hodnota určuje stejnosměrnou složku, další hodnoty pak složky na vyšších frekvencích až do poslední, 1024 hodnota je tedy podle tohoto teorému nejvyšší možná frekvence kterou lze zaznamenat. V tomto případě při použití vzorkovací frekvence 44,1 khz je to tedy podle Shannonova teorému 22,05 khz. 4.4 Ukládání do souboru Nahrané zvukové signály se nejen zobrazují na obrazovce v časové a frekvenční oblasti, ale také se ukládají na pevní disk počítače k případné další analýze. Data jsou ukládaný do formátu WAV, což jsou jen vzorky přímo získané z nahrávacího zásobníku doplněná hlavičkou, která obsahuje doplňující informace o způsobu uložení dat. Jako je například vzorkovací frekvence, rozlišení vzorku nebo pořadí bytů, pokud je vzorek více než jednobajtový. Jedná se o bezeztrátový formát, data jsou tedy ukládána v maximální možné kvalitě. Komprimovaný formát, jako například MP3, jsem nezvolil proto, že by docházelo ke ztrátě informace zvláště na vyšších frekvencích, které však mohou být pro případnou následnou analýzu důležité. 24
25 5 ZÁVĚR V této Bakalářské práci byla prozkoumána problematika návrhu multiplatformního přehrávače zvukových signálů. Tento přehrávač byl naprogramován ve dvou verzích. První verze byla zkonstruován nad knihovnou GTK+. Pro druhou verzi jsem zvolil knihovnou Qt. Obě tyto verze prošly důsledným porovnáním z hlediska náročnosti kódu, grafického rozhraní a hlavně rozšiřitelnost o další funkce. Z toho srovnání vyšel lépe přehrávač navržený v knihovně Qt. A proto tato verze byla vybrána pro další postup. Základní verze přehrávače umí pouze vybrat zvukový signál a ten přehrát. Další funkce tvoří ovládání hlasitosti, změna pozice skladby, pozastavení a zastavení skladby a nakonec zavření aplikace. Do aplikace dále přibyla funkce záznamu zvukového signálu pomocí tlačítka Rec a ukončení záznamu pomocí tlačítka Stop. Zároveň se v reálném čase zobrazuje časový průběh dané nahrávky, který je zobrazován přímo v aplikaci. Tento časový průběh můžeme libovolně posunovat v čase a taky přibližovat a oddalovat podle potřeby. Aplikace také zobrazuje spektrogram, jenž vychází z již zmiňované časové osy. Spektrogram zobrazuje frekvenční charakteristiku dané nahrávky. Charakteristika se mění podle pohybu na časové ose a je automaticky přepočítávána z aktuálních vzorků. Stejně jak časová osa tak i spektrogram se může přibližovat a oddalovat. Takto navržený přehrávač je plně funkční a připravený k použití. 25
26 LITERATURA [1] Qt (knihovna). In: Wikipedia: the free encyclopedia [online]. San Francisco (CA): Wikimedia Foundation, poslední aktualizace [cit ]. Dostupné z: < [2] GTK+. In: Wikipedia: the free encyclopedia [online]. San Francisco (CA): Wikimedia Foundation, poslední aktualizace [cit ]. Dostupné z: < [3] GTK+ Project [online] [cit ]. Dostupné z: < [4] Seriál: Qt 4 - psaní grafických programů. AbcLinuxu.cz - Linux na stříbrném podnose [online] [cit ]. Dostupné z: < cz/serialy/qt-4-psani-grafickych-programu>. [5] GTK+ 2.0 Tutorial. Vývojářské centrum GNOME [online] [cit ]. Dostupné z: < [6] Fourierova transformace. In: Wikipedia: the free encyclopedia [online]. San Francisco (CA): Wikimedia Foundation, 2001, [cit ]. Dostupné z: < [7] WTFPL. In: Wikipedia: the free encyclopedia [online]. San Francisco (CA): Wikimedia Foundation, 2001, [cit ]. Dostupné z: <http: //cs.wikipedia.org/wiki/wtfpl>. [8] SMÉKAL, Zdeněk. Analýza signálů a soustav: BASS. Vyd. 1. Brno: Vysoké učení technické v Brně Fakulta elektrotechniky a komunikačních technologií Ústav telekomunikací, 2012, 251 s. ISBN [9] Ldesoras. [online] [cit ]. Dostupné z: < free.fr/prod.html>. [10] BLANCHETTE, Jasmin a Mark SUMMERFIELD. C++ GUI Programming with Qt 4: Prentice Hall Open Source Software Development Series. 2. edt. Trolltech ASA: Prentice hall, c2008, xxi, 718 s. ISBN [11] KRAUSE, Andrew a Mark SUMMERFIELD. Foundations of GTK development: Prentice Hall Open Source Software Development Series. 2. edt. New York: Apress, c2007, xxiv, 630 s. ISBN
27 [12] Phonon. [online]. [cit ]. Dostupné z: < doc/qt-4.8/phonon-module.html>. 27
28 SEZNAM SYMBOLŮ, VELIČIN A ZKRATEK GUI Grafické uživatelské rozhraní Qt Multiplatformní knihovna pro vytváření programů s grafickým přostředím GTK+ Multiplatformní knihovna pro vytváření programů s grafickým přostředím DFT Diskrétní Fourierova transformace IDFT Inverzní Diskrétní Fourierova transformace WFTPL Do What the Fuck You Want to Public License 28
29 SEZNAM PŘÍLOH A Screenshot programu 30 B Obsah přiloženého CD 32 29
30 A SCREENSHOT PROGRAMU Obr. A.1: Snímek okna s aplikací zobrazující generovaný tón 1500 Hz 30
31 Obr. A.2: Snímek okna s aplikací zobrazující záznam rozhovoru 31
32 B OBSAH PŘILOŽENÉHO CD Přiložené CD obsahuje následující soubory: Bakalařská práce.pdf Zdrojový kód multiplatformního přehrávače zvukových signálů 32
Multiplatformní GUI toolkity
Multiplatformní GUI toolkity GTK+ a Qt Jan Outrata KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO V OLOMOUCI GUI toolkit (widget toolkit) (1) = programová knihovna (nebo kolekce knihoven) implementující prvky
Uživatelská rozhraní 10. cvičení. Martin Němec A
Uživatelská rozhraní 10. cvičení Martin Němec A1047 +420 597 324 438 Úvod do Qt GUI toolkit Qt (cute) Samostatná knihovna společnosti TrollTech. Podpora platforem Windows, Linux, Mac. Vzhled i chování
ZÁKLADNÍ METODY REFLEKTOMETRIE
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ ÚSTAV RADIOELEKTRONIKY FACULTY OF ELECTRICAL ENGINEERING AND COMMUNICATION DEPARTMENT OF
8 Třídy, objekty, metody, předávání argumentů metod
8 Třídy, objekty, metody, předávání argumentů metod Studijní cíl Tento studijní blok má za cíl pokračovat v základních prvcích jazyka Java. Konkrétně bude věnována pozornost třídám a objektům, instančním
Multiplatformní GUI knihovna
Úvod ke knihovnì Qt Multiplatformní GUI knihovna Qt = jedna ze dvou nejpopulárnìjších multiplatformních knihoven na tvorbu programù s grafickým uživatelským rozhraním. Pomocí Qt jsou naprogramovány napø.
modrana: flexibilní navigační systém Martin Kolman http://www.modrana.org/openalt2014 modrana@gmail.com
modrana: flexibilní navigační systém Martin Kolman http://www.modrana.org/openalt2014 modrana@gmail.com 1 Nevýhody uzavřených navigací nemožnost modifikovat funkcionalitu co když výrobce přestane podporovat
Embedded vývoj v Clutteru a Mx
Pavel Šimerda pavlix@pavlix.net OpenMobility 2011 Creative Commons Uved te autora 3.0 Česko Embedded Oblíbený buzzword Vestavěná zařízení (v automobilech, budovách, venkovních terminálech) Jednoúčelová
Vývoj multiplatformní aplikace v Qt
Vývoj multiplatformní aplikace v Qt z pohledu vývoje Datovky Karel Slaný karel.slany@nic.cz 13. 11. 2015 Obsah Co je Qt Nástroje Qt Koncepty Qt Problémy při vývoji Datovky Balíčkování aplikace Datovka
Koncepce (větších) programů. Základy programování 2 Tomáš Kühr
Koncepce (větších) programů Základy programování 2 Tomáš Kühr Parametry a návratová hodnota main Již víme, že main je funkce A také tušíme, že je trochu jiná než ostatní funkce v programu Funkce main je
14.4.2010. Obsah přednášky 7. Základy programování (IZAPR) Přednáška 7. Parametry metod. Parametry, argumenty. Parametry metod.
Základy programování (IZAPR) Přednáška 7 Ing. Michael Bažant, Ph.D. Katedra softwarových technologií Kancelář č. 229, Náměstí Čs. legií Michael.Bazant@upce.cz Obsah přednášky 7 Parametry metod, předávání
Matematika v programovacích
Matematika v programovacích jazycích Pavla Kabelíková am.vsb.cz/kabelikova pavla.kabelikova@vsb.cz Úvodní diskuze Otázky: Jaké programovací jazyky znáte? S jakými programovacími jazyky jste již pracovali?
Inteligentní řešení kamerového systému
Inteligentní řešení kamerového systému Uživatelský manuál Přehrávání a zálohování záznamů Přehrávání Přehrávání pořízených videozáznamů, zobrazení a vyhledávání neobvyklých událostí a informací o systému
VY_32_INOVACE_INF.19. Inkscape, GIMP, Blender
VY_32_INOVACE_INF.19 Inkscape, GIMP, Blender Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Jiří Kalous Základní a mateřská škola Bělá nad Radbuzou, 2011 INKSCAPE Inkscape je open source
Windows Live Movie Maker
Windows Live Movie Maker Tento program slouží k vytváření vlastních filmů, která se mohou skládat z fotografií, videí, titulků a zvuku. Movie Maker je součástí instalace operačního systému Windows 7 a
5a. Makra Visual Basic pro Microsoft Escel. Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Kalina
5a. Makra Visual Basic pro Microsoft Escel Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Kalina Cyklické odkazy a iterativní výpočty Zde bude stránka o cyklických odkazech a iteracích.
VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu
VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632
Postupy práce se šablonami IS MPP
Postupy práce se šablonami IS MPP Modul plánování a přezkoumávání, verze 1.20 vypracovala společnost ASD Software, s.r.o. dokument ze dne 27. 3. 2013, verze 1.01 Postupy práce se šablonami IS MPP Modul
Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/34.0333 Vzdělávání v informačních a komunikačních technologií
VY_32_INOVACE_31_16 Škola Název projektu, reg. č. Vzdělávací oblast Vzdělávací obor Tematický okruh Téma Tematická oblast Název Autor Vytvořeno, pro obor, ročník Anotace Přínos/cílové kompetence Střední
Windows a real-time. Windows Embedded
Windows a real-time Windows Embedded Windows pro Embedded zařízení Současnost (2008): Windows Embedded WINDOWS EMBEDDED Windows Embedded CE Windows XP Embedded Windows Embedded for Point of Service Minulé
Pokročilé programování v jazyce C pro chemiky (C3220) Knihovna Qt část 2
Pokročilé programování v jazyce C pro chemiky (C3220) Knihovna Qt část 2 Program rozdělený do několika souborů Zdrojový kód programů v C++ obvykle rozdělujeme do několika souborů tak aby každá větší třída
4a. Makra Visual Basic pro Microsoft Excel Cyklické odkazy a iterace Makra funkce a metody
4a. Makra Visual Basic pro Microsoft Excel Cyklické odkazy a iterace Makra funkce a metody Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Kalina Cyklické odkazy a iterativní výpočty
Práce s obrazovým materiálem CENTRUM MEDIÁLNÍHO VZDĚLÁVÁNÍ. Akreditované středisko dalšího vzdělávání pedagogických pracovníků
Práce s obrazovým materiálem CENTRUM MEDIÁLNÍHO VZDĚLÁVÁNÍ Akreditované středisko dalšího vzdělávání pedagogických pracovníků Obrazový materiál příjemná součást prezentace lépe zapamatovatelný často nahrazení
Uživatelské prostřední v nové Kuki 2:0 beta
Uživatelské prostřední v nové Kuki 2:0 beta Přehrávač Bannery Trháky Seriály Posun v čase Detail pořadu Vyhledávání Pokračuj Nahrávky Kino Nastavení Dashboard (Základní obrazovka) Dashboard zobrazuje veškerý
Videosekvence. vznik, úpravy, konverze formátů, zachytávání videa...
Videosekvence vznik, úpravy, konverze formátů, zachytávání videa... VIDEOSEKVENCE (VIDEO) Sekvence obrázků rychle po sobě jdoucích (např. 60 snímků za sekundu) tak, že vznikne pro diváka iluze pohybu.
České vysoké učení technické v Praze. Fakulta Elektrotechniky XD39NUR. Semestrální práce. Ovládání videokonferencí pomocí mobilního telefonu
České vysoké učení technické v Praze Fakulta Elektrotechniky XD39NUR Semestrální práce Ovládání videokonferencí pomocí mobilního telefonu Ondřej Procházka 2013 / 2014 Obsah 1. Deliverable D4... 3 1.1.
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ ÚSTAV TELEKOMUNIKACÍ FACULTY OF ELECTRICAL ENGINEERING AND COMMUNICATION DEPARTMENT OF TELECOMMUNICATIONS
Manuál k programu KaraokeEditor
Manuál k programu KaraokeEditor Co je KaraokeEditor? Program slouží pro editaci tagů v hudebních souborech formátu mp3. Tagy jsou doprovodné informace o písni, uložené přímo v mp3. Aplikace umí pracovat
Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií
VY_32_INOVACE_31_15 Škola Název projektu, reg. č. Vzdělávací oblast Vzdělávací obor Tematický okruh Téma Tematická oblast Název Autor Vytvořeno, pro obor, ročník Anotace Přínos/cílové kompetence Střední
Komprese dat Obsah. Komprese videa. Radim Farana. Podklady pro výuku. Komprese videa a zvuku. Komprese MPEG. Komprese MP3.
Komprese dat Radim Farana Podklady pro výuku Obsah Komprese videa a zvuku. Komprese MPEG. Komprese MP3. Komprese videa Velký objem přenášených dat Typický televizní signál - běžná evropská norma pracuje
Bakalářská práce bakalářský studijní obor Teleinformatika
VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ Fakulta elektrotechniky a komunikačních technologií Ústav telekomunikací Bakalářská práce bakalářský studijní obor Teleinformatika Student: Bílek Petr ID: 78462 Ročník: 3
Seznámení s prostředím dot.net Framework
Základy programování v jazyce C# Seznámení s prostředím dot.net Framework PL-Prostředí dot.net - NET Framework Je základním stavebním prvkem, na kterém lze vytvářet software. Jeho součásti a jádro je založené
IP kamera. Uživatelský manuál
IP kamera Uživatelský manuál Upozornění: Tento manuál nemusí zcela přesně popisovat některé technické detaily nebo může obsahovat tiskařské chyby. Pokud byste nemohli vyřešit některé problémy pomocí tohoto
Využití OOP v praxi -- Knihovna PHP -- Interval.cz
Page 1 of 6 Knihovna PHP Využití OOP v praxi Po dlouhé teorii přichází na řadu praxe. V následujícím textu si vysvětlíme možnosti přístupu k databázi pomocí různých vzorů objektově orientovaného programování
Návod na instalaci a použití programu
Návod na instalaci a použití programu Minimální konfigurace: Pro zajištění funkčnosti a správné činnosti SW E-mentor je potřeba software požívat na PC s následujícími minimálními parametry: procesor Core
OSNOVA. 1. Definice zvuku a popis jeho šíření. 2. Rozdělení zvukových záznamů (komprese) 3. Vlastnosti jednotlivých formátů
1 OSNOVA 1. Definice zvuku a popis jeho šíření 2. Rozdělení zvukových záznamů (komprese) 3. Vlastnosti jednotlivých formátů 4. Výhody, nevýhody a použití (streaming apod.) 2 DEFINICE ZVUKU Zvuk mechanické
www.zlinskedumy.cz Střední průmyslová škola Zlín
VY_32_INOVACE_31_12 Škola Název projektu, reg. č. Vzdělávací oblast Vzdělávací obor Tematický okruh Téma Tematická oblast Název Autor Vytvořeno, pro obor, ročník Anotace Přínos/cílové kompetence Střední
MATURITNÍ PRÁCE Z PŘEDMĚTU GRAFIKA A MULTIMEDIA
MATURITNÍ PRÁCE Z PŘEDMĚTU GRAFIKA A MULTIMEDIA Studijní obor: 18-20-M/01 Informační technologie Třída: I4.A Školní rok: 2012/2013 Autor: Lukáš Zuzaňák Prohlášení autora: Prohlašuji, že jsem tuto práci
VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu
VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632
Charakteristiky zvuk. záznamů
Charakteristiky zvuk. záznamů Your Name Jan Kvasnička Your Title 2010 Roman Brückner Your Organization (Line #1) Your Organization (Line #2) Obsah prezentace Digitalizace zvuku Audio formáty Digitální
Vývoj mobilních aplikací s využitím JavaFX Mobile
Vývoj mobilních aplikací s využitím JavaFX Mobile Jan Trestr RNDr. Jaroslav Icha Školní rok 2009 2010 Abstrakt Bakalářská práce se zabývá možnostmi skriptovacího jazyka JavaFX pro vývoj mobilní aplikace
Video. Co je to video. Vlastnosti videa. Frame rate. Prokládání
Video Co je to video Video je technologie, která zaznamenává a přehrává sérii po sobě jdoucích obrázků. K přenosu videa se používají elektrické signály. Elektrické signály v sobě zapouzdřují složku RGB.
Generické programování
Generické programování Od C# verze 2.0 = vytváření kódu s obecným datovým typem Příklad generická metoda, zamění dva parametry: static void Swap(ref T p1, ref T p2) T temp; temp = p1; p1 = p2; p2 =
OPERAČNÍ SYSTÉM ZLÍNSKÝ KRAJ. Obchodní akademie, Vyšší odborná škola a Jazyková škola s právem státní jazykové zkoušky Uherské Hradiště
OPERAČNÍ SYSTÉM Název školy Obchodní akademie, Vyšší odborná škola a Jazyková škola s právem státní jazykové zkoušky Uherské Hradiště Název DUMu Operační systém Autor Martin Šimůnek Datum 13. 2. 2013 Stupeň
Dílčí projekt: Systém projektování textilních struktur 1.etapa: tvorba systému projektování vlákno - příze - tkanina
Program LibTex Uživatelská příručka 1 Obsah Program Textilní Design... 1 Uživatelská příručka... 1 1 Obsah... 2 2 Rejstřík obrázků... 2 3 Technické požadavky... 3 3.1 Hardware... 3 3.1.1 Procesor... 3
Animace ve WPF. Filip Gažák. Ing. Václav Novák, CSc. Školní rok: 2008-09
Animace ve WPF Filip Gažák Ing. Václav Novák, CSc. Školní rok: 2008-09 Abstrakt Hlavním tématem práce bude nový prvek pro tvorbu uživatelského prostředí ve WPF animace. V teoretické části se nejprve seznámíme
POSTUP NAHRÁNÍ SOFTWAROVÝCH ROZŠÍŘENÍ DO OBCHODNÍ PLATFORMY METATRADER 4 PRO UŽIVATELE MS WINDOWS
POSTUP NAHRÁNÍ SOFTWAROVÝCH ROZŠÍŘENÍ DO OBCHODNÍ PLATFORMY METATRADER 4 PRO UŽIVATELE MS WINDOWS Obchodní platforma MetaTrader 4 nabízí díky své popularitě mezi tradery a zároveň mezi programátory mnoho
D2 - GUI design. Radek Mečiar 28.3.2014
D2 - GUI design Radek Mečiar 28.3.2014 1 Úvod Zvolená platforma: Android Verze: 4.x Nástroj pro kreslení: Pencil Platformu a verzi jsem zvolil, protože je v současnosti nejpoužívanější. Informace o standardu
Příručka aplikace KMix. Gaurav Chaturvedi Vývojář: Christian Esken Vývojář: Helio Chissini de Castro Vývojář: Brian Hanson
Gaurav Chaturvedi Vývojář: Christian Esken Vývojář: Helio Chissini de Castro Vývojář: Brian Hanson Překlad: Lukáš Vlček 2 Obsah 1 Úvod 5 2 Hlavní okno 6 2.1 Možnosti souborů......................................
Angličtina program k procvičování slovní zásoby
Středoškolská technika 2011 Setkání a prezentace prací středoškolských studentů na ČVUT Angličtina program k procvičování slovní zásoby Kamil Hanus Střední průmyslová škola elektrotechniky a informačních
Typy souborů ve STATISTICA. Tento článek poslouží jako přehled hlavních typů souborů v programu
StatSoft Typy souborů ve STATISTICA Tento článek poslouží jako přehled hlavních typů souborů v programu STATISTICA, ukáže Vám jejich možnosti a tím Vám dovolí využívat program efektivněji. Jistě jste již
Fyzikální laboratoř. Kamil Mudruňka. Gymnázium, Pardubice, Dašická /8
Středoškolská technika 2015 Setkání a prezentace prací středoškolských studentů na ČVUT Fyzikální laboratoř Kamil Mudruňka Gymnázium, Pardubice, Dašická 1083 1/8 O projektu Cílem projektu bylo vytvořit
02. HODINA. 2.1 Typy souborů a objektů. 2.2 Ovládací prvky Label a TextBox
02. HODINA Obsah: 1. Typy souborů a objektů 2. Ovládací prvky Label a TextBox 3. Základní příkazy a vlastnosti ovládacích prvků 4. Práce s objekty (ovládací prvky a jejich vlastnosti) 2.1 Typy souborů
1 Webový server, instalace PHP a MySQL 13
Úvod 11 1 Webový server, instalace PHP a MySQL 13 Princip funkce webové aplikace 13 PHP 14 Principy tvorby a správy webového serveru a vývojářského počítače 14 Co je nezbytné k instalaci místního vývojářského
FORTANNS. havlicekv@fzp.czu.cz 22. února 2010
FORTANNS manuál Vojtěch Havlíček havlicekv@fzp.czu.cz 22. února 2010 1 Úvod Program FORTANNS je software určený k modelování časových řad. Kód programu má 1800 řádek a je napsán v programovacím jazyku
1. Webový server, instalace PHP a MySQL 13
Úvod 11 1. Webový server, instalace PHP a MySQL 13 Princip funkce webové aplikace 13 PHP 14 Principy tvorby a správy webového serveru a vývojářského počítače 14 Co je nezbytné k instalaci místního vývojářského
VÝUKOVÝ MATERIÁL. Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632 Číslo projektu
VÝUKOVÝ MATERIÁL Identifikační údaje školy Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková organizace Bratislavská 2166, 407 47 Varnsdorf, IČO: 18383874 www.vosassvdf.cz, tel. +420412372632
SOU Valašské Klobouky. VY_32_INOVACE_3_20_IKT_Tvorba_webovych_stranek_Redakcni_systemy. Mgr. Radomír Soural. Zkvalitnění výuky prostřednictvím ICT
SOU Valašské Klobouky VY_32_INOVACE_3_20_IKT_Tvorba_webovych_stranek_Redakcni_systemy Mgr. Radomír Soural Zkvalitnění výuky prostřednictvím ICT Název a číslo projektu CZ.1.07/1.5.00/34.0459 Název školy
8.3 Popis dialogových oken
8.3 Popis dialogových oken Pro přehled jsou na následující ilustraci 8.1 vyobrazena všechna dialogová okna. Jedná se o nemodální dialogy, proto je lze mít otevřené současně. Pouze dále popisovaný dialog
Příručka pro aplikaci KSnapshot
Richard J. Moore Robert L. McCormick Brad Hards Kontrolor: Lauri Watts Vývojář: Richard J Moore Vývojář: Matthias Ettrich Překlad: Lukáš Vlček 2 Obsah 1 Úvod 5 2 Použití KSnapshot 6 2.1 Spuštění KSnapshot.....................................
Základní informace: vysoce komfortnímu prostředí je možné se systémem CP Recorder efektivně pracovat prakticky okamžitě po krátké zaškolení.
Základní informace: CP Recorder je v Čechách vyvíjený systém pro sofistikované zaznamenávání telefonních hovorů. V prvé řadě je určen pro optimalizaci služeb, které poskytují u nás stále více populární
Obsah. O autorech 9 Earle Castledine 9 Myles Eftos 9 Max Wheeler 9 Odborný korektor 10. Předmluva 11 Komu je kniha určena 12 Co se v knize dočtete 12
O autorech 9 Earle Castledine 9 Myles Eftos 9 Max Wheeler 9 Odborný korektor 10 Předmluva 11 Komu je kniha určena 12 Co se v knize dočtete 12 Poděkování 15 Earle Castledine 15 Myles Eftos 15 Max Wheeler
Základy programování. Úloha: Eratosthenovo síto. Autor: Josef Hrabal Číslo: HRA0031 Datum: 28.11.2009 Předmět: ZAP
Základy programování Úloha: Eratosthenovo síto Autor: Josef Hrabal Číslo: HRA0031 Datum: 28.11.2009 Předmět: ZAP Obsah 1 Zadání úkolu: 3 1.1 Zadání:............................... 3 1.2 Neformální zápis:.........................
Obsah. Kapitola 1. Předmluva 11 O této knize 13 Konvence...13
Obsah Předmluva 11 O této knize 13 Konvence........................................................13 Inovace prostřednictvím otevřenosti 15 Ekosystém Symbianu.............................................16
Kapitola 1: Úvod. 1.1 Obsah balení. 1.2 Požadavky na systém. Česky
Kapitola 1: Úvod 1.1 Obsah balení Po obdržení televizního adaptéru TVGo A03 zkontrolujte, zda balení USB TV Super Mini obsahuje následující položky. Adaptér TVGo A03 Disk CD s ovladači Dálkový ovladač
Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007
Úvod do programovacích jazyků (Java) Michal Krátký 1 Katedra informatiky VŠB Technická univerzita Ostrava Úvod do programovacích jazyků (Java), 2006/2007 c 2006 Michal Krátký Úvod do programovacích jazyků
MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ
MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ M. Sysel, I. Pomykacz Univerzita Tomáše Bati ve Zlíně, Fakulta aplikované informatiky Nad Stráněmi 4511, 760 05 Zlín, Česká republika
Práce s knihovnami. Karel Richta a kol. katedra počítačů FEL ČVUT v Praze. Karel Richta, Martin Hořeňovský, Aleš Hrabalík, 2016
Práce s knihovnami Karel Richta a kol. katedra počítačů FEL ČVUT v Praze Karel Richta, Martin Hořeňovský, Aleš Hrabalík, 2016 Programování v C++, A7B36PJC 04/2016, Lekce 7 https://cw.fel.cvut.cz/wiki/courses/a7b36pjc/start
REMARK. Perfektně popsaný záznam. Uživatelský manuál
REMARK Perfektně popsaný záznam Uživatelský manuál áudified AUDIFIED REMARK Uživatelský Manuál 2 Obsah Úvod 3 Prostředí programu 3 Nastavení programu 4 Karta Audio 4 Karta Export a přenos 5 Karta Obecné
S2. Vytvoření Windows balíku pro vývoj na STM32 architektuře
Projekt BROB - 2014 S2. Vytvoření Windows balíku pro vývoj na STM32 architektuře Autor práce: Jakub Žďárský, UAMT VUT FEKT Vedoucí práce: Ing. František Burian 1 Obsah Obsah... 2 Zadání... 3 Úvod... 3
Při studiu tohoto bloku se předpokládá, že student je zvládá základy programování v jazyce Java s využitím vývojového prostředí NetBeans.
1 Grafické rozhraní Studijní cíl Tento blok je věnován vytváření programů s využitím grafického rozhraní (GUI). Vysvětlen bude základní filozofie pro vytváření aplikací s GUI ve srovnání s konzolovými
Úvod 13 O čem je tato kniha? Pro koho je tato kniha? Jak studovat tuto knihu? Poděkování 16 Zpětná vazba od čtenářů Zdrojové kódy ke knize Errata 17
Úvod 13 O čem je tato kniha? 13 Pro koho je tato kniha? 15 Jak studovat tuto knihu? 16 Poděkování 16 Zpětná vazba od čtenářů 17 Zdrojové kódy ke knize 17 Errata 17 KAPITOLA 1 Trocha teorie na úvod 19 Něco
Office 2007 Styles Autor: Jakub Oppelt Vedoucí práce: Ing. Václav Novák, CSc. Školní rok: 2009 10
Office 2007 Styles Autor: Jakub Oppelt Vedoucí práce: Ing. Václav Novák, CSc. Školní rok: 2009 10 Abstrakt Tato práce se zabývá novým grafickým uživatelským rozhraním, který se objevil s nástupem Microsoft
Rozklad na prvočinitele. 3. prosince 2010
Rozklad na prvočinitele Ondřej Slavíček 3. prosince 2010 1 Obsah 1 Příručka k programu 3 1.1 funkce main()............................. 3 1.2 funkce hlavnifunkce()........................ 3 1.3 funkce
Archive Player Divar Series. Návod k obsluze
Archive Player Divar Series cs Návod k obsluze Archive Player Obsah cs 3 Obsah 1 Úvod 4 2 Použití 5 2.1 Spuštění programu 5 2.2 Popis hlavního okna 6 2.3 Tlačítko Otevřít 6 2.4 Pohledy kamery 6 2.5 Tlačítko
Obsah. Moje menu 4. Ovladač 6. Ovládání sledovaného pořadu 8. Zpětné zhlédnutí 10. Nahrávání 12. Můj seznam kanálů 13.
Obsah Moje menu 4 Ovladač 6 Ovládání sledovaného pořadu 8 Zpětné zhlédnutí 10 Nahrávání 12 Můj seznam kanálů 13 Multidimenze 14 Výběr ze zápasů 15 O 2 Videotéka 16 Aplikace 17 4 zařízení 18 MOJE MENU Ovládání
RadioBase 3 Databázový subsystém pro správu dat vysílačů plošného pokrytí
Databázový subsystém pro správu dat vysílačů plošného pokrytí RadioBase je datový subsystém pro ukládání a správu dat vysílačů plošného pokrytí zejména pro služby analogové a digitální televize a rozhlasu.
Bridge. Známý jako. Účel. Použitelnost. Handle/Body
Bridge Bridge Známý jako Handle/Body Účel odděluje abstrakci (rozhraní a jeho sémantiku) od její konkrétní implementace předchází zbytečnému nárůstu počtu tříd při přidávání implementací používá se v době
UNIVERZITA PARDUBICE Fakulta elektrotechniky a informatiky Katedra softwarových technologií
UNIVERZITA PARDUBICE Fakulta elektrotechniky a informatiky Katedra softwarových technologií Softwarový nástroj pro tvorbu a správu genealogických dat Manuál pro uživatele Bc. František Hlaváček Součást
ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ v Praze Ú12110 Ústav přístrojové a řídící techniky
ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ v Praze Ú12110 Ústav přístrojové a řídící techniky Semestrální práce Python pro vědecké výpočty Generátor pulzů pro simulaci vstupů kontroly trakce vozu Formule student Vypracoval:
DISTRIBUCE GNU/LINUXU
DISTRIBUCE GNU/LINUXU Název školy Obchodní akademie, Vyšší odborná škola a Jazyková škola s právem státní jazykové zkoušky Uherské Hradiště Název DUMu Distribuce GNU/Linuxu Autor Martin Šimůnek Datum 14.
Současný svět Projekt č. CZ.2.17/3.1.00/32038, podpořený Evropským sociálním fondem v rámci Operačního programu Praha adaptabilita
Aktivní webové stránky Úvod: - statické webové stránky: pevně vytvořený kód HTML uložený na serveru, ke kterému se přistupuje obvykle pomocí protokolu HTTP (HTTPS - zabezpečený). Je možno používat i různé
Úvod do jazyka C. Ing. Jan Fikejz (KST, FEI) Fakulta elektrotechniky a informatiky Katedra softwarových technologií
1 Fakulta elektrotechniky a informatiky Katedra softwarových technologií 12. října 2009 Organizace výuky Přednášky Teoretické základy dle normy jazyka C Cvičení Praktické úlohy odpřednášené látky Prostřední
SignEditor 1 - návod k použití
SignEditor 1 - návod k použití Tomáš Ryba tryba@kky.zcu.cz Zdeněk Krňoul zdkrnoul@kky.zcu.cz Jakub Kanis jkanis@kky.zcu.cz 27. března 2012 1 Vznik za podpory projektu Pojabr - Potlačení jazykové bariéry
[IVE-ANT] D1 - Analýza problému
Nástroj pro anotaci videa [IVE-ANT] D1 - Analýza problému Michal Kašpar,Jiří Fryč 1. Zadání Vytvořte nástroj pro anotaci audiovizuálního záznamu. Anotace může mít začátek a konec, nebo jen jeden čas. Nástroj
Emulátor psaní SMS na mobilním telefonu. (projekt do předmětu ITU)
Emulátor psaní SMS na mobilním telefonu (projekt do předmětu ITU) 26. srpna 2007 Kamil Dudka, xdudka00@stud.fit.vutbr.cz Fakulta informačních technologií Vysoké Učení Technické v Brně 1 Zadání Implementujte
Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/34.0333 Vzdělávání v informačních a komunikačních technologií
VY_32_INOVACE_31_14 Škola Název projektu, reg. č. Vzdělávací oblast Vzdělávací obor Tematický okruh Téma Tematická oblast Název Autor Vytvořeno, pro obor, ročník Anotace Přínos/cílové kompetence Střední
Modulární monitorovací systém Gradient Digitální systém pro záznam, archivaci a vyhodnocení telefonie.
Modulární monitorovací systém Gradient Digitální systém pro záznam, archivaci a vyhodnocení telefonie. Obsah prezentace. Historie systému Gradient. Popis funkcí systému Gradient. Závěr kontaktní informace.
Základní pojmy. Multimédia. Multimédia a interaktivita
Základní pojmy Multimédia Jedná se o sloučení pohyblivého obrazu, přinejmenším v televizní kvalitě, s vysokou kvalitou zvuku a počítačem, jako řídícím systémem. Jako multimediální systém se označuje souhrn
Úvod do programovacího jazyka Python
Úvod do programovacího jazyka Python Co je to Python? Python je objektově-orientovaný programovací jazyk. Tento programovací jazyk je velice výkonný, čitelný a dá se snadno naučit. Jeho použití je velice
Mapa Česka: www.mapa-ceska.cz
Mapa Česka: www.mapa-ceska.cz Mapový portál Mapa Česka, který je dostupný na internetové adrese www.mapa-ceska.cz, byl vytvořen v roce 2014 v rámci bakalářské práce na Přírodovědecké fakultě Univerzity
Zpravodaj. Uživatelská příručka. Verze
Zpravodaj Uživatelská příručka Verze 02.01.02 1. Úvod... 3 2. Jak číst tuto příručku... 4 3. Funkčnost... 5 3.1. Seznam zpráv... 5 4. Ovládání programu... 6 4.1. Hlavní okno serveru... 6 4.2. Seznam zpráv...
Jak v Javě primitivní datové typy a jejich reprezentace. BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické
Jak v Javě primitivní datové typy a jejich reprezentace BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické Obsah Celočíselný datový typ Reálný datový typ Logický datový typ, typ Boolean
Vstupní požadavky, doporučení a metodické pokyny
Název modulu: Základy PHP Označení: C9 Stručná charakteristika modulu Modul je orientován na tvorbu dynamických stánek aktualizovaných podle kontextu volání. Jazyk PHP umožňuje velmi jednoduchým způsobem
Matematický software pro Linux
Matematický software pro Linux Michal Černý LinuxAlt 2010 Abstrakt Příspěvek stručně představí základní matematické aplikace, které jsou k dispozici jako open source pro Linux, se zvláštním zřetelem na
Direct Digital Synthesis (DDS)
ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE Fakulta elektrotechnická Ing. Radek Sedláček, Ph.D., katedra měření K13138 Direct Digital Synthesis (DDS) Přímá číslicová syntéza Tyto materiály vznikly za podpory
1/1 ČESKÁ ZEMĚDĚLSKÁ UNIVERZITA V PRAZE PROVOZNĚ EKONOMICKÁ FAKULTA PŘIJÍMACÍ ŘÍZENÍ 2017/2018
ČESKÁ ZEMĚDĚLSKÁ UNIVERZITA V PRAZE PROVOZNĚ EKONOMICKÁ FAKULTA PŘIJÍMACÍ ŘÍZENÍ 2017/2018 Informační technologie 1 - Doporučená doba zpracování: 40 minut 1) Termín DCL v relačně databázové technologii
VY_32_INOVACE_IKTO2_0160 PCH
VY_32_INOVACE_IKTO2_0160 PCH VÝUKOVÝ MATERIÁL V RÁMCI PROJEKTU OPVK 1.5 PENÍZE STŘEDNÍM ŠKOLÁM ČÍSLO PROJEKTU: CZ.1.07/1.5.00/34.0883 NÁZEV PROJEKTU: ROZVOJ VZDĚLANOSTI ČÍSLO ŠABLONY: III/2 DATUM VYTVOŘENÍ:
Programátorská příručka
KAPITOLA 1. PROGRAMÁTORSKÁ PŘÍRUČKA Kapitola 1 Programátorská příručka 1.1 Úvod 1.1.1 Technologie Program je psaný v jazyce Java 1.7. GUI je vytvářeno pomocí knihovny SWT. (http://eclipse.org/swt/) Pro
Česká zemědělská univerzita v Praze
Česká zemědělská univerzita v Praze Provozně ekonomická fakulta Katedra informačních technologií Teze diplomové práce Operační systém Google Android Petr Koula 2011 ČZU v Praze Souhrn Diplomová práce zahrnuje