C64Power Forum
Software => Software => Oprogramowanie dla PC, emulatory => Wątek zaczęty przez: Zbych w 16 Lipca 2016, 17:24
-
Maiłem chwilę wolnego czasu więc przeszukałem net i znalazłem aktualne źródła "silnika" SID używanego w VICE. W zasadzie są tam używane 3 silniki ale wybrałem ten który ponoć ma najlepsze brzmienie - reSID-fp (z biblioteki libsidplayfp). Skompilowałem, dołączyłem do źródeł mojego plugina którego troszkę przerobiłem i wygląda na to że działa i czuć a raczej słychać różnicę w stosunku do poprzedniej wersji, która działała na zwykłym reSID, np. po ustawieniu na 6581 na niektórych songach słychać że filtry są przesterowane (brzmi to teraz bardziej jak SID z mojego "chlebaka"), jest też lepsza kompatybilność - odtwarza teraz prawidłowo sidy z "Fantasmolytic", oczywiście pliki na 2SID oraz 3SID też są prawidłowo rozpoznawane i odtwarzane. Jedyny minus to taki że ta biblioteka ma większe wymagania obliczeniowe dlatego podczas przewijania utworu trwa to ciut dłużej. Można jeszcze się pokusić o dodanie konfiguracji do zmiany charakterystyki filtrów, ale to może kiedyś w przyszłości.
Instrukcja: plik należy wypakować do katalogu ...\Winamp\Plugins. Plugin pojawi się pod nazwą "Winamp SIDplayer libsidplayfp", w konfiguracji pluginu można wskazać plik z "...HVSC\Documents\SongLengths.txt" co by rozpoznawał czas trwania utworów lub ustawić limit czasu - przydatne jeśli mamy playlistę która ma automatycznie odtwarzać kolejne pliki.
Plugin udostępniam na GoogleDrive, bo jakoś moja prośba o rejestracjęna CSDB została olana.
https://drive.google.com/open?id=0B1do1DNBLNjyd05QRHZQNzBzTmM (https://drive.google.com/open?id=0B1do1DNBLNjyd05QRHZQNzBzTmM)
-
...bo jakoś moja prośba o rejestracjęna CSDB została olana.
Nie masz czego żałować.
Potestuje, dzięki !
-
Działa elegancko. Pzdr :)
-
Cieszę się że ktoś jeszcze używa Winampa i przyda mu się ten plugin :)
Nie zwróciłem na to wcześniej uwagi: jak w konfiguracji pluginu ustawi się odtwarzanie stereo to w przypadku plików 2sid i 3sid dźwięk jest faktycznie rozdzielany na lewy i prawy kanał (nie wiem na jakiej zasadzie jest to robione dla 3sid), tylko niestety w trybie stereo podczas przewijania bardzo często się wywala - muszę to zbadać dlaczego, dla mono nie zauważyłem takiego problemu.
-
Poprawiłem i wrzuciłem nową wersję, teraz już nie powinno się wywalać, ale przy stereo jeszcze dłużej trwa przewijanie więc trzeba z tym uważać, zwłaszcza jak się przewija wstecz bo wtedy następuje dekodowanie całości od początku aż do miejsca ustawienia suwaka.
-
Da się to jakoś ogarnąć ?
-
Da się to jakoś ogarnąć ?
Znaczy co? Jeśli chodzi ci o emulację SIDa to nie wiem ;) nie zaglądałem do środka, przyjrzałem się tylko z zewnątrz, jeśli myślisz tylko o dekodowaniu dźwięku to spokojnie bez problemu do ogarnięcia, wszystko jest ładnie podzielone na bloki - konfigurujesz silnik (uboga emulacja C64) tworzysz obiekt emulatora samego SIDa (reSID-fp) wrzucasz go do silnika potem ładujesz plik SIDa, znowu wrzucasz do silnika i wywołujesz "play" które wypełnia zadany bufor danymi audio do podanej wielkości. Są źródła playera na których można się wzorować.
Jeśli chodzi ci o przetwarzanie sygnałów przez reSIDa to niestety jak dla mnie czarna magia (wygląda to jak FFT tylko tak z 10x bardziej skomplikowane), nawet tam nie zaglądam. Są tam jakieś generatory waveformów, "resampler", coś do filtrów, tak na szybko jak zerknąłem to jest to łanie "okomentowane".
Jak chcesz tylko statyczną wersję biblioteki libsidplayfp pod windwos to mogę udostępnić źródła + projekt do VC2015 (ale samej biblioteki bez plugina), na sourceforge jest źródło ale z samymi makefilami.
Mogę jeszcze dodać że w źródłach są 4 rodzaje emulatory SIDów - reSID-fp to ten który użyłem, reSid (stary), hardSid - tym można wysterować kartę do PC z prawdziwym sidem, oraz exSid - coś do wysterowania SIDa na USB nie wiem nie słyszałem o takim czymś. Tych pozostałych "budowniczych" do SIDów nie dołączałem do projektu ale źródła zostawiłem.
-
Sama wtyka do Winampa ma już chyba z 11 lat. Kiedyś się nią bawiłem. Odpaliłem Twoją wtykę, gra ładnie. :) Dobra robota.
Marzeniem byłoby, gdyby wtyka była na tyle inteligentna, że by pozwalała każdy odtwarzany plik .sid scrobblować na last.fm :)
-
Dodałem tryb "pseudo stereo" czyli osobne sidy dla lewego i prawego kanału, oczywiście możliwość niezależnego wyboru typu sida pierwszego i drugiego, oraz możliwość włączenia/wyłączenia dowolnego kanału sida, co ciekawie brzmi właśnie w trybie pseudostereo w którym możemy np. głos 1 pozostawić na kanale lewym, 2 na obu, a 3 na prawym. Oczywiście tryb wyjściowy music być ustawiony na stereo.
-
Jak ktoś chce obejrzeć źródła to udostępniam:
https://drive.google.com/file/d/0B1do1DNBLNjyVjhSY1RCTTZ6UFU (https://drive.google.com/file/d/0B1do1DNBLNjyVjhSY1RCTTZ6UFU)
-
Ponieważ okazało się że wersjonowanie plików na Google Drive nie działa tak jak myślałem, to z każdą nową wersją muszę aktualizować link do pliku >:(
W związku z tym jeszcze raz umieszczam link do plugina i źródeł.
Plugin: https://drive.google.com/open?id=0B1do1DNBLNjyV2Zzd0lacHpsd28 (https://drive.google.com/open?id=0B1do1DNBLNjyV2Zzd0lacHpsd28)
Źródła: https://drive.google.com/open?id=0B1do1DNBLNjyVjhSY1RCTTZ6UFU (https://drive.google.com/open?id=0B1do1DNBLNjyVjhSY1RCTTZ6UFU)
-
Dodałem modyfikację odnośnie wyświetlania informacji w playliście, można teraz ustawić swój format wyświetlania danych, separatory poszczególnych elementów nazwy, dodatkowo można w widoku playlisty wyświetlać dane z bazy STIL - oznacza to że (po wskazaniu ścieżki do HVSC i odtwarzaniu pliku z katalogu HVSC) można poza informacjami z pliku SID wyświetlać też np. tytuły subsongów.
Dla przykładu po załadowaniu muzyki z The Last Ninja w liście obok nazwy głównej i numeru subsongu pokaże się jego nazwa np.
The Last Ninja * (Subsong 1) The Wilderness * Ben Daglish & Anthony Lees
Niestety tak jak wspomniałem to działa tylko gdy odtwarzany plik znajduje się w katalogu HVSC więc jeśli mamy gdzieś "luzem" swoją wybraną muzykę to wyświetlą nam się tylko podstawowe informacje z pliku SID i na razie nic na to nie poradzę bo tak jest skonstruowana baza STIL - utwory są powiązane na podstawie ścieżki HVSC, dlaczego nie zrobiono tego tak jak bazę czasu trwania, czyli po sumie kontrolnej - nie mam pojęcia.
Link do pluginu: https://drive.google.com/open?id=0B1do1DNBLNjybUFWaTV6bGEyVUU (https://drive.google.com/open?id=0B1do1DNBLNjybUFWaTV6bGEyVUU)
-
otwarcie i zamknięcie okna konfiguracji wyłącza utwór nawet jeśli nie dokonywaliśmy żadnych zmian.
wrzuć na csdb, dostaniesz lepszy feedback.
-
otwarcie i zamknięcie okna konfiguracji wyłącza utwór nawet jeśli nie dokonywaliśmy żadnych zmian.
wrzuć na csdb, dostaniesz lepszy feedback.
Taaa od grpz i innych łysych obywateli RFN. To już lepiej na lemon64.
-
otwarcie i zamknięcie okna konfiguracji wyłącza utwór nawet jeśli nie dokonywaliśmy żadnych zmian.
wrzuć na csdb, dostaniesz lepszy feedback.
Tak ma być :) Po prostu konfiguracja plugina się zmienia a nie sprawdzam po kolei wszystkie pola czy coś faktycznie się zmieniło tylko wymuszam przeładowanie konfigu i wtedy musiało by coś wyzwolić ponowne wysłanie polecenia play i to najlepiej od początku, nie bardzo wiem jak to zrobić, a nie chce przekombinować.
Wrzucę na lemona... później.
-
(y)
btw. tryb pseudo stereo to... ?
-
(y)
btw. tryb pseudo stereo to... ?
Możliwość przypisania dowolnego kanału SIDa do lewego lub prawego kanału stereo i/lub przypisanie różnych typów SIDa do różnych kanałów stereo.
-
No no, Twoja wtyczka póki co potrafi więcej, niż wtyczka do słuchania plików .sid w AIMP-ie. Do szczęścia brakuje możliwości scrobblowania dla last.fm. :-)
-
Zawsze znajdzie się ktoś kto pyta mnie o źródła więc w końcu wrzuciłem na GitHuba: https://github.com/zbych-r/in_sidplay2 (https://github.com/zbych-r/in_sidplay2)
Co do last.fm to dało by się coś takiego zrobić, można by było dodać jakiś przycisk w oknie z informacją o utworze (wywoływane przez Alt+3), tylko żeby to działało to user musiałby najpierw się zalogować. Żeby skorzystać z api w last.fm trzeba najpierw zarejestrować siebie i swoją aplikację. Jak będę się nudził to może się zarejestruję, poszukam jakiegoś klienta restowego dla C/C++ i coś pokombinuję.
-
Ktoś prosił mnie żeby zrobić poprawkę błędu który pojawia się w starszej wersji Winampa (tak, niektórzy korzystają jeszcze z wersji 2.95 to chyba ta co miała dużo skinów).
Na starszej wersji dla plików z susbongami pierwszy subsong nie miał aktualizowanego tytułu i wyświetlała się tylko nazwa pliku.
W nowszej wersji Winampa problem ten objawiał się tym że brakowało w playliście tylko wyświetlania wartości czasu dla pierwszego subsongu, ale aktualizował się on po rozpoczęciu odtwarzania.
Jak ktoś miał włączoną opcję żeby wszystkie tytuły/metadane plików były odczytywane po załadowaniu playlisty to nie było tego problemu (domyślnie jest włączone że są odczytywane w tle).
Link do biblioteki: https://drive.google.com/open?id=1NjOXfVqjPbU_rnvJtSfqWdYremLykBvq (https://drive.google.com/open?id=1NjOXfVqjPbU_rnvJtSfqWdYremLykBvq)
Oczywiście jak ktoś ma ochotę to może sobie skompilować po swojemu z GITa
-
Ktoś prosił mnie żeby zrobić poprawkę błędu który pojawia się w starszej wersji Winampa (tak, niektórzy korzystają jeszcze z wersji 2.95 to chyba ta co miała dużo skinów).
Ktoś korzysta z Winampa w 2018? :o
-
Ktoś prosił mnie żeby zrobić poprawkę błędu który pojawia się w starszej wersji Winampa (tak, niektórzy korzystają jeszcze z wersji 2.95 to chyba ta co miała dużo skinów).
Ktoś korzysta z Winampa w 2018? :o
A jest jakaś inna ciekawa alternatywa pod Windows?
-
Ktoś prosił mnie żeby zrobić poprawkę błędu który pojawia się w starszej wersji Winampa (tak, niektórzy korzystają jeszcze z wersji 2.95 to chyba ta co miała dużo skinów).
Ktoś korzysta z Winampa w 2018? :o
A jest jakaś inna ciekawa alternatywa pod Windows?
AIMP. Polecam. Może do niego wtyczkę przerobić?
-
... niektórzy korzystają jeszcze z wersji 2.95 ...
Ja tam taki dinozaur, że jeszcze korzystam z wersji 2.81 hihi
Niestety Twój nowszy plugin pokazuje jeden tytuł dla wszystkich SIDów, a starszy nie miał z tym u mnie żadnych problemów.
Na starszym nie było paska do przewijania, a w nowszym się pojawił, ale i tak nie działa w ogóle przesuwanie
Tak tylko zgłaszam dla wiadomości, bo mnie tam obojętne na jakim pluginie odsłuchuję muzyczek :)
-
Zrobiłem 2 poprawki które wykryłem przy okazji robienia pluginu dla AIMPa:
1. Błąd - gdy ktoś w opcjach nie ma zaznaczonego limitu odtwarzania lub wskazanego pliku songlength.txt, w takim przypadku wywalało się obliczanie czasu trwania i w efekcie nie generowały się tytuły, a na playliście pozostawały tylko nazwy plików.
2. Dodałem w opcjach na liście częstotliwości odtwarzania dodatkową pozycję - 48000Hz, nie wiem w jaki sposób Winamp sobie z tym radzi (czy robi resampling czy faktycznie tak odtwarza) ale wiać sobie radzi.
Ja różnicy nie czuję chociaż w Ghouls'n'Ghosts w subsongu 8 od 1:27 jest taki charakterystyczny instrument i wydaje mi się że brzmi lepiej na 48kHz
Oczywiście przy takiej częstotliwości przewijanie utworu trwa jeszcze dłużej ale nieczęsto się z tego korzysta
Link do pobrania: https://drive.google.com/open?id=1phAxcfi4PuwwQiV0G1pvkaL3OIgIMMJa (https://drive.google.com/open?id=1phAxcfi4PuwwQiV0G1pvkaL3OIgIMMJa)