google.com, pub-0177550132004975, DIRECT, f08c47fec0942fa0

17 cze 2009

Program do nagrywania i odtwarzania dźwięków z efektami specjalnymi

Prezentuję projekt wykonany przez Damiana Romana i Michała Korzeniowskiego służący do nagrywania i odtwarzania dzwięku z możliwymi efektami specjalnymi. Opis wykonany przez autorów

Cel projektu
Celem projekty było stworzenie prostego programu do nagrywania i edycji dźwięku wykorzystujący kartę dźwiękową i graficzną. Program miał być aplikacją okienkową. Całość miała być napisana w języku C++(użyliśmy Visual C++). Naszym celem było stworzenie aplikacji za pomocą, której można nagrać dźwięk z mikrofonu, zapisać go na twardym dysku, a następnie odtworzyć go i nałożyć na niego efekty.

Historia powstawania
Przygodę z naszym programem zaczęliśmy od szukania odpowiedniej biblioteki do obsługi karty dźwiękowej. Nasz wybór (jak się później okazało nietrafny) padł na bibliotekę fmod, którą używa np. firma Blizzard. Próbowaliśmy zagłębić się w tę bibliotekę jednak nie udało nam się stworzyć z jej pomocą nic sensownego. Potem przyszedł czas na bibliotekę irrKlang, którą to zastosowaliśmy w naszym projekcie. Zaczęliśmy od stworzenia interfejsu graficznego i w naszych głowach pojawił się szkic programu. Pierwsze problemy pojawiły się przy inicjalizacji biblioteki w VC++ jednak stosunkowo szybko sobie z nimi poradziliśmy dzięki obszernej dokumentacji tejże biblioteki dostępnej na oficjalnej stronie producenta. Dodawanie kolejnych modułów do programu, wymagało każdorazowego zagłębiania się w opisy dostępnych funkcji irrKlang’u. Priorytetem dla nas było umieszczenie możliwości nagrywania wraz z zapisem pliku na dysk twardy. Na to poświęciliśmy najwięcej czasu. W końcu po dodaniu pozostałej (wspomnianej już) funkcjonalności stwierdziliśmy że program spełnia założone cele i wymaga jedynie dopracowania. Ostatnim etapem było poprawienie graficznej strony aplikacji.


Ściągnij program.

13 cze 2009

Praca w Newark (obliczenia równoległe i rozproszone)

Job Title: Postdoctoral Research Associate
Department: Computer and Information Sciences Department
Department Website: https://www.cis.udel.edu/
Institution: University of Delaware, Newark, DE

Application Deadline: Open Until Filled
Position Start Date: Sep. 1, 2009

Job Categories: Post-Doc
Academic Field(s): Computer Engineering, Computer Science
Job Website: http://gcl.cis.udel.edu/openpositions.php
Apply By E-mail: taufer@acm.org

Job Description:

Applications are invited for a full-time Postdoctoral Research Associate, to begin September 1, 2009, to
work on collaborative research with the U.S. Army Research Laboratory in Aberdeen, MD.
A Ph.D. in Computer Science, Computer Engineering or Computational Science is required.
Candidates should possess a demonstrated potential and strong commitment to quality research.
Candidates having primary interest and expertise in parallel and distributed systems, GPGPU and
scientific applications (with emphasis on Monte Carlo and Molecular Dynamics simulations) will be given
preference.
The initial appointment will be for one year, renewable annually for up to three years by mutual
agreement.
The position may start in September, 2009 or until it is filled.
To apply, send cover letter, CV and contact information for at least three references, to Dr. Michela
Taufer, at: taufer@acm.org

8 cze 2009

Program służący do nauki rozpoznawania częstotliwości dźwięku

Kolejny z projektów studentów inżynierii akustycznej (Marcin Witkowski i Grzegorz Mazur). Opis programu z dokumentacji napisanej przez autorów.

"FreqGen to program służący do nauki rozpoznawania częstotliwości dźwięku, pomocny zwłaszcza dla osób pracujących przy sprzęcie nagłośnieniowym. Poprawna ocena słyszanej częstotliwości pomaga akustykowi między innymi na szybkie wyciszenie dźwięków o częstotliwościach sprzęgających na scenie.

Zadaniem użytkownika jest wybranie zakresu z jakiego pochodzi odtwarzana losowa częstotliwość. Częstotliwości losowane są z zakresu 40-16 000Hz, zaś użytkownik ma wskazać jeden z 26 mniejszych zakresów (tercjowych) z którego ta częstotliwość pochodzi.
Jest to pewna symulacja tzw. korektora tercjowego – urządzenia scenicznego pozwalającego wyciszyć właśnie częstotliwości z zakresów tercjowych.
Każdy odtwarzany dźwięk trwa po naciśnięciu klawisza GRAJ 5 sekund, na życzenie użytkownika może zostać zatrzymany przyciskiem STOP. Użytkownik może ustalić również głośność używając suwaka znajdującego się po prawej stronie.
Po wybraniu konkretnego zakresu tercjowego pojawia się okno z informacją na temat odegranej częstotliwości i poprawności odpowiedzi."


Ściągnij program

6 cze 2009

Konkurencyjność polskich uczelni

Niedawno zakończył się hucznie obchodzony jubileusz 90-lecia AGH. Dostałem 7 Stasziców, które mogę sprzedać na wolnym rynku (Allegro.pl) za 10 zł i pięknie wydaną książkę na temat skarbów AGH. Według rankingu AGH jest piątą najlepszą uczelnią w Polsce. Jak to się ma jednak w porównaniu z konkurencją w innych krajach? Spędziłem kilka lat na uczelniach w innych krajach (Finlandia, Grecja i Anglia). Mogę więc porównać. Z porównania tego wynika, że nie jest dobrze.

Polskie uczelnie są przede wszystkim bardzo zbiurokratyzowane. Przykładowo, na AGH, na 3849 pracowników jedynie 1835 to pracownicy naukowo-dydaktyczni i 210 dydaktyczni. Wyjazd na konferencję naukową wiąże się ze skomplikowaną procedurą zabierającą godziny pracy. Wniosek musi być wydrukowany aż w 5 egzemplarzach i podpisany przez 6 osób. Procedury są tak skomplikowane, że niemożliwym jest ich w pełni poprawne wykonanie. Przejście wniosku przez wszystkie biura zajmuje około tygodnia, podczas gdy rezerwacja samolotu w biurze turystycznym jest ważna zwykle 48 godzin. Gdy wniosek jest już formalnie zatwierdzony cena często jest inna. Jak sprawa wygląda np. na University of York? Pracownik loguje się na odpowiednią stronę internetowa, wypełnia krótką ankietę na temat wyjazdu, czeka aż jedna osoba sprawdzająca zaloguje się i zatwierdzi, po czym można kupować wszystkie niezbędne do wyjazdu rzeczy. W wypadku doktorantów konieczne jest dodatkowo wpisanie opinii przez promotora.

Rekrutacja studentów. Pokolenia zaczynające w tej chwili studia jest niżem demograficznym, tak więc w Polsce obecnie ciężko o kandydatów na studia. Co poszczególne wydziały robią aby ich znaleźć? Ich zdaniem sporo, w porównaniu do tego co robi czołówka światowa bardzo niewiele. Angielskie uczelnie organizują bardzo często dni otwarte ściągając na nie tysiące uczniów i rodziców, wysyłają pracowników do szkół średnich, rozsyłają po świecie prospekty, rekrutują za granicą, organizują stypendia i ciekawe praktyki. Coraz częściej organizują uroczystości wręczenia dyplomów za granicą, aby ułatwić rodzinom przybycie na nie, a nawet budują całe kampusy rozrzucone po świecie. Absolwenci uczelni pomagają finansowo aby utrzymać prestiż uczelni z których otrzymali dyplomy. Chciałem przekazać swój 1 % podatku na taki cel. Szukałem i znalazłem tylko niezachęcająco wyglądającą stronę organizacji absolwentów, która zupełnie nie opisuje jak wydaje zdobyte pieniądze. Polskie uczelnie zbyt często oferują kierunki studiów nie kierując się ich przydatnością absolwentom. Decydenci wydają się zupełnie nie zauważać, że kapitalizm wchodzi także do edukacji.

Działalność naukowa polskich uczelni w porównaniu do świata jest również kwestionowalna. Wielu polskich uczonych przekonuje, że prowadzi badania na tematy które nigdy nie były jeszcze rozwiązane. Praktyka jednak wykazuje co innego. Polski styl prowadzenia nauki nie zachęca do studiowania literatury i sprawdzenia istniejących rozwiązań. Doktorant na brytyjskiej, szanującej się uczelni zwykle poświęca cały pierwszy rok wyłącznie na czytanie na temat opublikowanych rozwiązań powiązanych z tym czego ma dotyczyć jego doktorat. Polscy promotorzy rzadko do tego zachęcają, a prawie nigdy tego nie wymuszają. Nie mamy też grup czytelniczych, a seminaria są prowadzone często na takim poziomie i w taki sposób, że trudno zachęcić ludzi do przychodzenia na nie. Zresztą znalezienie chętnych do referowania również nie jest proste.

AGH, Politechnika Wrocławska i kilka innych uczelni wydały w ciągu ostatnich lat duże pieniądze na kreowanie swoich wizerunków, na wzór korporacyjny. Jakie są efekty
poza wydanymi pieniędzmi? Jakieś są. Nowe loga, atrakcyjniesze strony internetowe, ujednolicone prezentacje, gadżety, a czasami nawet szablony LaTeXowe.

Dużym problemem na polskich uczelniach jest niechęć ludzi do komputerów. Szokującym jest, że jest to bardzo często zjawisko także na uczelniach technicznych, nawet na wydziałach informatycznych. Pracownicy masowo nie odpowiadają na emaile, boją się automatyzacji czegokolwiek (elektroniczne indeksy, wspomniany elektroniczny system delegowania pracowników, itp.). Trudno się w efekcie dziwić, że obcokrajowcy nie chcą studiować w Polsce. Ich pierwszy kontakt jest zwykle internetowy. W moim przypadku około 80%-90% emaili nie doczekuje się odpowiedzi, wliczając w to korespondencje do jednostek odpowiedzialnych za promocję i kontakty uczelni. Warto podkreślić, że piszę
po polsku, więc jest łatwiej odpowiedzieć. Obcokrajowiec straci zainteresowanie uczelnią o której w jego kraju nie jest głośno po pierwszym emailu, jeśli pozostanie on bez wciągającej odpowiedzi.

Do tego dochodzi jeszcze olbrzymi problem niegospodarności. To już jednak osobny temat.

Edukacja wyższa powinna być pokrywana nie tylko z podatków. Uczelnie powinny dostawać środki silnie uzależnione od rankingów. Jak największa ilość przedmiotów powinna być obieralna. Powinno się zwolnić ludzi którzy niewiele robią, a dać wyższe pensje reszcie, która przejęłaby ich obowiązki.

1 cze 2009

Najpopularniejsze słowa w języku polskim

Poniżej przedstawiam listę 300 najpopularniejszych słów w języku polskim, zebraną z wykorzystaniem tekstów zawierającychw sumie 269 milionów słów. Liczby po słowach są udziałem danego słowa w języku. W tej wersji zamieszczam wszystkie słowa, tak jak przedstawił to komputer wraz z błędami, takimi jak angielskie słowa i pojedyncze litery.

. 0,060663222
w 0,031438997
i 0,018003276
na 0,014989314
z 0,0139002
się 0,013733981
do 0,010106477
nie 0,010071599
to 0,006219967
że 0,005826183
jest 0,005238953
o 0,004970104
a 0,004876955
1 0,003788531
od 0,003586235
po 0,003328101
przez 0,003106692
2 0,003105817
0 0,003045727
procent 0,0027537
za 0,002747959
3 0,002696055
jak 0,002648366
roku 0,002314594
co 0,002248845
ale 0,002213622
5 0,00207705
tym 0,002014712
dla 0,002011001
jego 0,001935342
4 0,001876315
tak 0,001702058
6 0,001666694
r 0,001658192
oraz 0,00164761
są 0,001645549
był 0,001580711
tego 0,001538959
już 0,001492806
czy 0,001461836
ma 0,001444666
ze 0,001441979
tylko 0,001439217
też 0,001420538
pod 0,001366344
jako 0,001334027
może 0,001321163
jej 0,001319225
jednak 0,001318222
ich 0,00126622
7 0,001263092
10 0,00118221
go 0,001175501
8 0,001156087
który 0,00113173
0 0,00110934
zł 0,00109789
było 0,001078082
20 0,001076017
także 0,001042792
lub 0,001034821
które 0,001029027
przy 0,001012958
być 0,001007921
będzie 0,000991208
przed 0,000988091
9 0,000985094
ten 0,000943311
jeszcze 0,000930496
lat 0,000928294
tej 0,000921839
by 0,000861668
12 0,000855473
była 0,000845473
15 0,000837209
bardzo 0,000819586
gdy 0,000806468
50 0,000801367
został 0,00079486
mu 0,000790656
sobie 0,00074686
również 0,000745654
kiedy 0,000744423
we 0,000732016
nad 0,000731291
latach 0,000726806
nawet 0,000723394
można 0,000719735
11 0,000713921
30 0,000713864
2006 0,00071238
mnie 0,00070443
2007 0,000693092
niż 0,000687601
21 0,000678293
22 0,00067619
bez 0,00067524
jeśli 0,000672619
18 0,000669499
linki 0,000663093
25 0,000656434
polski 0,00065196
tys 0,000648628
14 0,000644013
mi 0,000641624
między 0,000638979
13 0,000636168
on 0,000630639
więc 0,000630463
16 0,000625935
osób 0,000624518
zewnętrzne 0,000621978
gdzie 0,000620279
polsce 0,000617074
19 0,000608871
the 0,000600027
miejscowość 0,000598557
cest 0,000591863
s 0,000586927
tu 0,00058608
która 0,000585422
u 0,000585095
mln 0,000584965
tych 0,000575597
innymi 0,000571246
17 0,000570943
pan 0,000566577
były 0,000564608
m 0,000560312
23 0,000558258
powiedział 0,000556573
miał 0,000553235
ją 0,000551441
teraz 0,00054176
tam 0,000537732
bo 0,000534897
te 0,000531309
nich 0,000528906
według 0,000516693
podczas 0,000516278
nim 0,000501327
których 0,00049819
urodzony 0,00049388
aby 0,00049355
rd1 0,000492136
miejsce 0,000491407
danych 0,000485146
ja 0,000480084
24 0,000468039
rok 0,000467244
ii 0,00045623
natomiast 0,000453852
align 0,000452846
pracy 0,000450848
1998 0,000450398
40 0,000446349
zobacz 0,000443243
center 0,000441843
je 0,000436622
innych 0,000433228
wszystko 0,000431726
cet 0,000428268
dwa 0,000428222
jeden 0,000427199
potem 0,00042697
coś 0,000426618
miejscu 0,00042017
nic 0,000417518
którzy 0,000417173
26 0,00041641
e 0,000414609
mają 0,000412952
sposób 0,000410602
100 0,000408864
ta 0,000407563
którym 0,000404692
bank 0,000404664
czasie 0,000404516
niego 0,000398877
więcej 0,000398652
kilka 0,000397653
raz 0,000397301
pierwszy 0,000396686
wiele 0,000396538
żeby 0,000396112
której 0,000394361
ok 0,000392964
obecnie 0,000390329
właśnie 0,000384318
n 0,000383129
k 0,000383069
stanie 0,000381215
27 0,000371657
de 0,000371408
60 0,000371024
ponad 0,00036815
wśród 0,000367907
wszystkich 0,000367552
lecz 0,000366947
będą 0,000366747
bardziej 0,00036669
usa 0,000366391
28 0,000364017
wieku 0,000363802
rynku 0,000363141
została 0,000362701
wszystkie 0,000361132
później 0,000359672
albo 0,000358153
akcji 0,00035804
przykład 0,00035709
gmina 0,000356524
80 0,000356207
ludzi 0,00035575
sam 0,000350586
of 0,000349872
wieś 0,000348001
b 0,000344588
kraju 0,000344441
nas 0,000343494
pani 0,000342295
którego 0,000341335
dwóch 0,000340554
wielu 0,000340241
miasta 0,000339182
2005 0,000338235
mogą 0,00033654
ani 0,000333884
iż 0,000331249
2004 0,000330472
czas 0,00032904
czasu 0,000328235
im 0,000327556
70 0,000326222
ci 0,00032515
t 0,000321565
względem 0,000321104
siebie 0,000320791
inne 0,000320672
90 0,000317618
części 0,000317572
29 0,000316503
dobrze 0,00031606
ona 0,000315764
sa 0,000315303
prawa 0,000315015
takie 0,000314684
część 0,000314674
usd 0,000313513
państwa 0,0003118
polska 0,000311617
świata 0,000311339
wtedy 0,000310446
niej 0,000309654
razem 0,000308873
należy 0,000307962
trzeba 0,000307941
gminie 0,00030207
maja 0,000301964
2000 0,000301718
31 0,000300807
trzy 0,000298717
około 0,000298331
grupy 0,000295291
warszawa 0,000295129
strony 0,000291724
aż 0,000291309
nigdy 0,000289758
nr 0,000288122
zawsze 0,000286849
czyli 0,000286015
art 0,000285744
1990 0,000285044
poza 0,000280461
miasto 0,000278529
czym 0,000275831
miała 0,000273471
p 0,000273288
swoje 0,000273042
choć 0,000272514
temu 0,00027206
mam 0,000271916
ciągu 0,000271694
prawo 0,000271153
domu 0,000269756
osoby 0,000269506
wszystkim 0,000269436
chyba 0,000268954
jeżeli 0,000268841
życia 0,000268747
jednym 0,000268384
2008 0,000266333
francji 0,000265971
dlatego 0,000264726
kilometrów 0,00026455
35 0,00026449
stycznia 0,000262647
mówi 0,000261859
dzięki 0,000261803
1975 0,000261729

29 maj 2009

Projekty studentów - Gra w statki

W ramach przedmiotu Języki Programowania poprosiłem studentów o zrobienie projektów. Kilka z nich, tych powiązanych z grami i z akustyką udostępnię na blogu.

Na początek gra w statki zrealizowana przez Bartosza Dittmara i Bartosza Pawłowicza. Program działa w konsoli, ale algorytm gry przez komputer jest bardzo skuteczny. Poniżej fragmenty opisu wykonanego przez autorów:

"Pisanie programu rozpoczęliśmy od napisania funkcji wyświetlania plansz gracza i komputera (na początku jeszcze pustych). Następnie zajęliśmy się stawianiem statków graczy przy zachowaniu zasad obowiązujących w grze. Kolejny krok to wykonywanie strzelania przez gracza i efekty strzału widoczne na planszy w zależności od miejsca które zostało trafione w tym także automatyczne obtoczenie zestrzelonego statku pudłami (ponieważ tam nie mógłby stać żaden statek). Późniejsze prace dotyczyły w większości stworzenia jak najbardziej efektywnego algorytmu postępowania dla gracza komputerowego, który opisany jest w dalszej części dokumentacji. W międzyczasie trwały także prace nad estetyką projektu (np. wprowadzenie kolorów oraz menu początkowego).

[...]

-int jakikierunek(int t, int s, int q) - sprawdzenie jak najprawdopodobniej ustawiony jest trafiony statek, zlicza ilość wolnych pól w każdym kierunku (wartość maksymalna zależy od rozmiaru największego pozostałego statku) i analizuje wynik zwracając kierunek w którym zostanie oddany strzał (kierunek: 0-prawo 1-lewo 2-góra 3-dół)

-int goradol, int lewoprawo – funkcje sprawdzają w którym kierunku najlepiej oddać kolejny strzał gdy wiemy już czy trafiony statek jest ustawiony pionowo lub poziomo

-int szukanie(int q) - sprawdzenie czy istnieją miejsca o większym prawdopodobieństwie wystąpienia największego niezatopionego statku (rozmiar określa q) na podstawie odpowiedniej analizy zmiennych wynikowych z funkcji spionowo i spoziomo; funkcja zwraca zmienną krzyzyk określającą jakich miejsc ma szukać komputer"




Ściągnij program