Autor Wątek: lepsza wersja beep  (Przeczytany 5128 razy)

Offline rhdbisgrt

  • Użytkownik

  • +1
# Październik 20, 2012, 12:50:42
Windowsowy Beep(int,int) potrafi odtworzyc dzwiek o danej czestotliowsi przez dany w milisekundach kawalek czasu. Szukam czegos takiego (do prostego odtwarzania syntetycznych dzwiekow) tylko pozbawione wad beepa

1) niech gra przez zwykly glosnik a nie na speakerze
2) beep jesli puszcze beep() beep() robi przerwy w dzwieku a chcialbym by to sie ladnie laczylo
3) zeby byla regulacja glosnosci

najlepiej

4) zeby bylo to w systemie (winapi)

ew

4) dodatkowe parametry co do postaci tego syntetycznego dzwieku (cos w rodzaju zapodawania envelope) moglby sie przydac
5) ew mogloby sie przydac mozliwosc rownoleglego odgrywania tych tunes

Jak nie ma w systemie to ew jakas mala darmowa dllka lub libka do dowolnego uzytku - ale najlepiej jakbym mogl osiagnac to w winapi (a na robienieu dzwieku slabo sie znam choc kiedys odgrywalem costam przez WaveOut, nie potrzebne jest mi jednak odgrywanie dowolnych sampli
tylko szukam ulepszonego syntetycznego beepa)

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline Reg

  • Administrator
    • Adam Sawicki - Home Page

# Październik 20, 2012, 13:22:11
O ile mi wiadomo, nie ma czegoś takiego. Innymi słowy - to nie jest takie proste jakbyś chciał. Chyba, że na Google uda się znaleźć jakąś zewnętrzną bibliotekę, która robi to co opisujesz.

W WinAPI najbliższa temu jest funkcja PlaySound. Możesz odegrać dźwięk z pliku lub z pamięci, ale jego dane tak czy inaczej trzeba wypełnić samemu.

Offline kubera

  • Użytkownik
    • Prywatna strona

# Październik 20, 2012, 17:05:00
Też chętnie się dowiem.

P. S.
PlaySound nie polecam. Wprawdzie ma bardzo niskie wymagania do funkcjonowania,
to pozwala zagrać maks. jeden dźwięk w danym momencie i ma kiepski timming.
Posiada on niewiele wspólnego z generatorem dźwięku, to proste API do odtworzenia pliku lub zasobu Wave.

Offline kubera

  • Użytkownik
    • Prywatna strona

# Październik 20, 2012, 17:08:54
A może samemu napisać takie narzędzie? To może być dość proste.
Stworzyć plik dźwiękowy o stałym tonie.
Następnie poprzez XAudio2 lub inną technologię, regulować głośność oraz mnożnik częstotliwości wyjściowej.
Oczywiście trzeba takiego wave zdobyć.

Offline Karol

  • Użytkownik

  • +1
# Październik 20, 2012, 17:12:16
Myślę, że bez własnej generacji sinusoidek (banalnie prosta sprawa) i waveout'a nie wiele się zdziała.

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

  • +2
# Październik 20, 2012, 17:58:28
Cytuj
P. S.
PlaySound nie polecam. Wprawdzie ma bardzo niskie wymagania do funkcjonowania,
to pozwala zagrać maks. jeden dźwięk w danym momencie i ma kiepski timming.
No popatrz. A wszystkie moje czterokilówki na tym chodzą i nie dość, że grają więcej niż jeden dźwięk to i mają timing perfekcyjny. ;)

Offline kubera

  • Użytkownik
    • Prywatna strona

# Październik 20, 2012, 18:01:55
U mnie przestawało grać jeden dzwięk, jak zapuszczałem drugi z resource-ów.
Ten program jest nawet w Internecie dostępny.
Może się mylę, moja wiedza ma wyłącznie charakter praktyczny.
Nie znam pełnej semantyki tej funkcji.

Offline rhdbisgrt

  • Użytkownik

# Październik 20, 2012, 19:12:00
No popatrz. A wszystkie moje czterokilówki na tym chodzą i nie dość, że grają więcej niż jeden dźwięk to i mają timing perfekcyjny. ;)

Szczerze mowiac to w chaos teory to dzwiek masz raczej ponury i kiepski. Co do swojego pytania to znalazlem ze ew mozna cos podobnego zrobic przez midi, za czestotliowsc odpowiada nuta a za  wave rodzaj instrumentu - sprawdzilem i to jakos dziala (zalezy co chce sie zrobic, a ja chcialem mw cos takiego co mozna miec przez midi, wiec mozna uznac ze tak mozna, jakos dziala)
« Ostatnia zmiana: Październik 20, 2012, 19:15:28 wysłana przez rhdbisgrt »

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

  • +3
# Październik 20, 2012, 19:17:39
Cytuj
Szczerze mowiac to w chaos teory to dzwiek masz raczej ponury i kiepski.
PlaySound może także odgrywać dźwięki nieponure i niekiepskie.

Offline rhdbisgrt

  • Użytkownik

# Październik 20, 2012, 19:35:31
PlaySound może także odgrywać dźwięki nieponure i niekiepskie.

No mozna tez uzyc, a czy te wersja ktora gra z ramu
wymaga by tam lezala kopia pliku wav z wavowym headerem czy mozna zapodac 'czystego' (np monotonicznego 16) sampla?

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

# Październik 20, 2012, 20:14:09
Cytuj
wymaga by tam lezala kopia pliku wav z wavowym headerem czy mozna zapodac 'czystego' (np monotonicznego 16) sampla?
Wymaga, ale ja nie widzę w tym problemu. Po prosu przed czystym 8/16-bitowym mono/stereofonicznym samplem musi być dodatkowe 44 bajtów.

Offline rhdbisgrt

  • Użytkownik

# Październik 20, 2012, 21:28:03
Wymaga, ale ja nie widzę w tym problemu. Po prosu przed czystym 8/16-bitowym mono/stereofonicznym samplem musi być dodatkowe 44 bajtów.
OK

Offline rhdbisgrt

  • Użytkownik

# Październik 25, 2012, 19:39:26
No popatrz. A wszystkie moje czterokilówki na tym chodzą i nie dość, że grają więcej niż jeden dźwięk to i mają timing perfekcyjny. ;)

A możesz przyblizyć ile bajtów tam poszło na muze?
Zgaduje ze to bylo generowane proceduralnie w jakims
malym loopie w asmie ?

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

# Październik 25, 2012, 19:48:49
Cytuj
A możesz przyblizyć ile bajtów tam poszło na muze?
Około 900 na muzę ze wszystkimi danymi po kompresji (synteza+instrumenty+nuty).

Cytuj
Zgaduje ze to bylo generowane proceduralnie w jakims
malym loopie w asmie ?
Zwykła synteza subtractive. W asmie, ale loopów było więcej i nie były szczególnie małe. :)

Offline rhdbisgrt

  • Użytkownik

# Październik 25, 2012, 20:02:06
Około 900 na muzę ze wszystkimi danymi po kompresji (synteza+instrumenty+nuty).
Zwykła synteza subtractive. W asmie, ale loopów było więcej i nie były szczególnie małe. :)

Hmm, zaskoczyla mnie ta odpowiedz (duzo i bardziej
skomplikowana metoda niz myslalem) NIe wystarczy
po prostu napisac jakiegos loopa ktory wypelni
wav-bufor jakimis tam wartosciami ? Ta muze ktora
pamietm z youtubowego filmiku to bylo tylko cos
w rodzaju postepnego buuuuum, buuuuuuum i tak
w kólko - slabo pamietam ale lini melodycznej to tam
nie bylo