eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaKodowanie dźwięku w starych urządzeniach / EPROM › Re: Kodowanie dźwięku w starych urządzeniach / EPROM
  • Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!3.eu.feeder.erj
    e.net!feeder.erje.net!usenet.goja.nl.eu.org!aioe.org!news.chmurka.net!.POSTED.s
    .v.chmurka.net!not-for-mail
    From: a...@h...invalid (Arnold Ziffel)
    Newsgroups: pl.misc.elektronika
    Subject: Re: Kodowanie dźwięku w starych urządzeniach / EPROM
    Date: Sun, 19 Jun 2022 06:38:22 +0000 (UTC)
    Organization: news.chmurka.net
    Message-ID: <6...@h...invalid>
    References: <4...@g...com>
    NNTP-Posting-Host: s.v.chmurka.net
    Mime-Version: 1.0
    Content-Type: text/plain; charset=ISO-8859-2
    Content-Transfer-Encoding: 8bit
    Injection-Date: Sun, 19 Jun 2022 06:38:22 +0000 (UTC)
    Injection-Info: vps.chmurka.net; posting-account="arnold";
    posting-host="s.v.chmurka.net:172.24.44.20"; logging-data="9525";
    mail-complaints-to="abuse-news.(at).chmurka.net"
    User-Agent: tin/2.6.1-20211226 ("Convalmore") (Linux/5.10.92-v7+ (armv7l))
    Cancel-Lock: sha1:hl0hEUvvZAWq6jIBkz1+tvS5rMc=
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:772655
    [ ukryj nagłówki ]

    Piotr C <k...@g...com> wrote:

    > Wątpie czy ktoś coś poradzi ale nie mam innego pomysłu.

    Pobawiłem się chwilę:

    https://drive.google.com/file/d/1u-abfSvp7zs7VBmyQ4w
    svffRkREyJcbZ/view

    Baza do dalszych zabaw:

    #v+
    #include <stdio.h>
    #include <assert.h>
    #include <inttypes.h>

    int main(void)
    {
    FILE *ifp, *ofp;
    uint8_t value = 0x80;
    uint8_t dir = 0;

    ifp = fopen("VOICE_ROM_TMS27C010A.BIN", "rb");
    ofp = fopen("output.raw", "wb");
    assert(ifp);
    assert(ofp);

    for (;;)
    {
    const uint8_t ch = fgetc(ifp);
    int i;

    if (feof(ifp))
    break;

    for (i = 0; i < 8; ++i)
    {
    if (dir ^ !!(ch & (1 << i)))
    {
    if (value == 0xff)
    dir ^= 1;
    else
    value++;
    }
    else
    {
    if (value == 0x00)
    dir ^= 1;
    else
    value--;
    }

    fputc(value, ofp);
    }
    }

    fclose(ofp);
    fclose(ifp);

    return 0;
    }
    #v-

    I potem komenda:

    sox -b 8 -c 1 -e unsigned-integer -r 22050 -t raw output.raw output.wav

    Na pewno należałoby sparsować strukturę i resetować dekoder przy każdym
    nowym komunikacie -- to powinno usunąć DC bias.

    --
    Gdybyś była owocem, to byłabyś najsłodszą truskawką. A gdybyś była
    warzywem, to odwiedzałbym cię codziennie w szpitalu.

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: