Autor Wątek: Sample z .wav do RAM - jak?  (Przeczytany 39017 razy)

Abrimaal

  • *****
  • Wiadomości: 965
  • Miejsce pobytu:
    Lemmingrad
  • Zamulator
    • Games for ULA plus
Odp: Sample z .wav do RAM - jak?
« Odpowiedź #15 dnia: 2014.08.15, 21:17:29 »
Niby wszystko gra jak powinno, tylko dane 2 sekundowego sampla po przycięciu zajmują 14kB.
Myślę teraz o kompresji stratnej danych, czyli napisania procedury w assemblerze i niezbyt wiem jak się za to zabrać.

Program analizowałby po 4 bity danych. W przypadku 4 zer lub jedynek zapisywałby dwa zera lub dwie jedynki.
Dla dwóch jedynek i dwóch zer w dowolnej kolejności, zapisałby 1 i 0.
Dla trzech zer i jedynki byłyby dwa zera, podobnie dla trzech jedynek i zera zapisałby dwie jedynki.

Poradzi ktoś jak coś takiego napisać? jakie instrukcje będą przydatne? Może łatwiej analizować cały bajt?
AY Music, ULA plus.

sect0r

  • *****
  • Wiadomości: 698
  • Miejsce pobytu:
    Oltedal/NO
  • speccyholic
Odp: Sample z .wav do RAM - jak?
« Odpowiedź #16 dnia: 2014.08.15, 21:34:41 »
2sek sampla 14kb :O
Szarak # DivIDE+ # MasakratorFM DeluXe by Zaxon

trojacek

  • *****
  • Wiadomości: 6831
  • Miejsce pobytu:
    Warszawa
Odp: Sample z .wav do RAM - jak?
« Odpowiedź #17 dnia: 2014.08.15, 21:45:16 »

Gelip

  • *****
  • Wiadomości: 765
    • Sysprep WinXP SP2 64-bit for pure UEFI with ACPI, AHCI, NVMe, USB 3.x
Odp: Sample z .wav do RAM - jak?
« Odpowiedź #18 dnia: 2014.08.15, 21:49:59 »
Jest co najmniej kilka samplerów na ZX Spectrum. VM2 ma najładniejszy interfejs spośród wszystkich mi znanych. Spróbuj może inny sampler np. Kmiot Sampler, Edit Sampler, być może któryś zapisuje dane skompresowane lub w innym formacie. Kmiot ładnie nagrywa ale zdaje się iż sampel też dużo zajmuje ok. 30kB
« Ostatnia zmiana: 2014.08.15, 21:58:14 wysłana przez Gelip »
"Byte" Personal Computer
Брестское ПО средств вычислительной техники

Abrimaal

  • *****
  • Wiadomości: 965
  • Miejsce pobytu:
    Lemmingrad
  • Zamulator
    • Games for ULA plus
Odp: Sample z .wav do RAM - jak?
« Odpowiedź #19 dnia: 2014.08.15, 23:33:37 »
Może to Cię natchnie: http://en.wikipedia.org/wiki/Continuously_variable_slope_delta_modulation

To wygląda na zadanie dla astrofizyka  :o

Nie chcę rezygnować z gotowego sampla, tylko myślę o skróceniu go o połowę częściowo uśredniając dane.
Ustawienie opóźnienia w playerze, czy dwukrotne wywołanie to już będzie wizja artystyczna.

Tutaj i tak będzie potrzebny podwójny licznik i analiza statystyczna.
Mniej więcej to by wyglądało tak:

- pobranie bajtu z adresu licznika do A, sprawdzenie każdego bitu i zapisanie ich wartości w tymczasowej pamięci
- to samo dla drugiego bajtu
- operacje porównania 4 pierwszych wartości, czyli bitów 0-3 pierwszego bajtu i decyzje zależnie od zawartości (tu djaboł siedzi)
- zapisanie wyniku do pamięci
- powtórzenie czynności dla zapisanych wcześniej wartości bitów 4-7
- powtórzenie dla drugiego bajtu, co w efekcie da 8 zapisanych komórek pamięci
- rekonstrukcja bajtu z pamięci
- zapisanie go pod adres licznika
- zwiększenie licznika odczytu o 2, a zapisu o 1 bajt
- da capo al fine

Znacznie prościej będzie przerobić procedurę rejestrowania dźwięku, żeby działała wolniej i zapisywała mniej danych.
Spróbuję tego i jeszcze raz poproszę o wgranie sampli.

« Ostatnia zmiana: 2014.08.15, 23:46:50 wysłana przez Abrimaal »
AY Music, ULA plus.

Abrimaal

  • *****
  • Wiadomości: 965
  • Miejsce pobytu:
    Lemmingrad
  • Zamulator
    • Games for ULA plus
Odp: Sample z .wav do RAM - jak?
« Odpowiedź #20 dnia: 2014.08.16, 02:21:36 »
Jest co najmniej kilka samplerów na ZX Spectrum...

Jeśli mógłbyś, weź jeszcze raz Voice Manipulator 2 i ustaw prędkość na połowę, wgrywając sample jeden po drugim, bez przerw.
To najprostsza metoda. Jeśli się nie zmieszczą na raz, to niech będzie więcej plików, ja już sobie przytnę.
Szkoda że nie udaje mi sie wgrać, pokombinował bym z ustawieniami.

AY Music, ULA plus.

Gelip

  • *****
  • Wiadomości: 765
    • Sysprep WinXP SP2 64-bit for pure UEFI with ACPI, AHCI, NVMe, USB 3.x
Odp: Sample z .wav do RAM - jak?
« Odpowiedź #21 dnia: 2014.08.16, 17:40:20 »
Nie wiem czy to dokładnie połowa ale w plikach z80 jest ustawiona prędkość nagrywania a nie domyślna programu.
"Byte" Personal Computer
Брестское ПО средств вычислительной техники

Abrimaal

  • *****
  • Wiadomości: 965
  • Miejsce pobytu:
    Lemmingrad
  • Zamulator
    • Games for ULA plus
Odp: Sample z .wav do RAM - jak?
« Odpowiedź #22 dnia: 2014.08.18, 00:06:29 »
Dzieki.

Wniosek taki, że do sampli instrumentów i niskiego głosu ("oh, shit" wyszło kapitalnie) taka prędkość wystarcza.
Co do pozostałych to jeszcze spróbuję wyregulować opóźnienie, może wolniej odtwarzane będą miały mniej szumu.

Wnioski dla mnie: nie używać pogłosów do 1-bitowych sampli i obcinać wszystko co niepotrzebne equalizerem.
AY Music, ULA plus.

Gelip

  • *****
  • Wiadomości: 765
    • Sysprep WinXP SP2 64-bit for pure UEFI with ACPI, AHCI, NVMe, USB 3.x
Odp: Sample z .wav do RAM - jak?
« Odpowiedź #23 dnia: 2014.11.25, 20:03:58 »
Odnośnie Voice Manipulator 2 to pobawiłem się trochę i okazuje się iż program ma 32 poziomy prędkości odtwarzania i nagrywania. Domyślna prędkość to 30, wówczas można nagrać ok. 13 sekund. Jeśli zmniejszymy prędkość do minimum czyli 1 to można wtedy nagrać aż ok. 1:14 min ale przy odtwarzaniu dźwięk jest mocno cyfrowy - że tak powiem. Prędkość 1 to trochę mało ale spokojnie można nagrywać przy prędkości np. 15 i wówczas nagramy ok. 44 sekund i dźwięk będzie w miarę rozpoznawalny.
"Byte" Personal Computer
Брестское ПО средств вычислительной техники

ZbyniuR

  • *****
  • Wiadomości: 3333
  • Miejsce pobytu:
    Carlisle w UK
  • CPC AGA PSX
Odp: Sample z .wav do RAM - jak?
« Odpowiedź #24 dnia: 2014.11.25, 20:36:03 »
A nie da się na żywo doczytywać z nośnika?
- Jeśli masz w domu światło i wodę, tzn. że masz światłowód. ;)

RafalM

  • *****
  • Wiadomości: 1133
  • Miejsce pobytu:
    Sulejówek
Odp: Sample z .wav do RAM - jak?
« Odpowiedź #25 dnia: 2014.11.25, 20:59:08 »
Cytuj
A nie da się na żywo doczytywać z nośnika?

Jeśli masz na myśli magnetofon,to kiepsko to widzę ;)

A poważnie mówiąc da się. W końcu używając  nowych wynalazków można odtwarzać nie tylko dźwięk ale i całe filmy,np:

http://www.youtube.com/watch?v=ooi9rpx6ECM



ZbyniuR

  • *****
  • Wiadomości: 3333
  • Miejsce pobytu:
    Carlisle w UK
  • CPC AGA PSX
Odp: Sample z .wav do RAM - jak?
« Odpowiedź #26 dnia: 2014.11.25, 22:33:19 »
Miałem na myśli Divide.
- Jeśli masz w domu światło i wodę, tzn. że masz światłowód. ;)

Abrimaal

  • *****
  • Wiadomości: 965
  • Miejsce pobytu:
    Lemmingrad
  • Zamulator
    • Games for ULA plus
Odp: Sample z .wav do RAM - jak?
« Odpowiedź #27 dnia: 2015.02.05, 01:04:56 »
Znajdujący się w Archiwum program LMOWA nie bardzo nadaje się jako syntezator mowy, brakuje w nim wielu fonemów obecnych nie tylko w polskim: Sz/Ś/Sh, Ż/Rz/Zh, Ł/W itd.
Może jednak przydać się jako ciekawy generator efektów, wypróbujcie :)

AY Music, ULA plus.

sect0r

  • *****
  • Wiadomości: 698
  • Miejsce pobytu:
    Oltedal/NO
  • speccyholic
Odp: Sample z .wav do RAM - jak?
« Odpowiedź #28 dnia: 2015.02.05, 16:44:38 »
Miałem na myśli Divide.

To ja przy okazji zapytam, czy da rade w locie czytać i odtwarzać sample z nośnika w DivIDE ?
Co ogranicza i jaka jest prędkość przesyłu danych do pamięci, no i jak to się ma w stosunku do prędkości pamięci?
Szarak # DivIDE+ # MasakratorFM DeluXe by Zaxon

Abrimaal

  • *****
  • Wiadomości: 965
  • Miejsce pobytu:
    Lemmingrad
  • Zamulator
    • Games for ULA plus
Odp: Sample z .wav do RAM - jak?
« Odpowiedź #29 dnia: 2015.10.02, 04:49:21 »
Kto mógłby "na dziś" wgrać i podrzucić ten efekt? Jest w formacie .wav. Taka szybkość VM2 chyba wystarczy, jeśli będzie słaba jakość, to można trochę podkręcić.
AY Music, ULA plus.