szyfrowanie głosu

1

Cześć.

Czytałem wczoraj sobie taki artykół w internecie:
http://www.tl2000.pl/produkty[...]_gamma/jak_dziala_szyfrowanie

I tak sobie zastanawiam się, czy dało by radę zrobić to w C#. Chodzi głównie o to szyfrowanie głosu, na razie nie mam pojęcia jak za to się zabrać. Zacząłem poszukiwania na ten temat (czyli: dokumentacja, fragment kodu programu, przykładowy program w C#), ale nic nie znalazłem, może pod złym hasłem szukałem. :(

Może coś podobnego robiliście i wiecie jak za to się zabrać?
Jak tak to proszę o pomoc.

Guest

0

Da się.

http://www.codeproject.com/KB[...]VoiceChatApplicationInCS.aspx

Masz tu komunikator audio.
Wydaje mi się ze wystarczyło by szyfrować pakiety ;)

0

Dzięki konserwa, ale ja mam problem z tym szyfrowaniem głosu. A w tym przykładzie nie widziałem jak to się robi. Ale dobre i tyle. :(

0

chodzi co o konkretne szyfrowanie czy coś ?

0

Chodzi o szyfrowanie.

0
  List<byte> soundBytes = new List<byte>(File.ReadAllBytes(@"C:\Users\Public\Music\Sample Music\a_barf.wav"));

            //jakies gówniane rozkodowanie
           for (int i = 45; i <= soundBytes.Count - 1; i++)
            {
                soundBytes[i] = (byte)(soundBytes[i] - i);//tu mozna wpisac własne kodowanie
            }

            //dekodowanie jakies gówniane
            for (int i = 45; i <= soundBytes.Count - 1; i++)
           {
               soundBytes[i] = (byte)(soundBytes[i] + i);//tu mozna wpisac własne dekodowanie
           }
            MemoryStream memo = new MemoryStream(soundBytes.GetRange(0,soundBytes.Count).ToArray(), true);
            System.Media.SoundPlayer myPlayer = new System.Media.SoundPlayer(memo);
            myPlayer.Play();

Kodowanie pliku Wav. Jak widać to tylko kwestia wybranego kodowania i zmieniania bajtów :) tu od 45 bo plik wav ma jakies tam gówniane informacje wcześniej.

Co do kodowania telefony mają różne jedne łatwiejsze inne trudniejsze które wybierzesz takie będzie.

0

Mam jeszcze jedno pytanie, a jak bym zrobił, zamiast tak:

List<byte> soundBytes = new List<byte>(File.ReadAllBytes**(@"C:\Users\Public\Music\Sample Music\a_barf.wav")**);

podawania ścieżki do pliku (ręcznie), tylko za pomocą openfiledialog podaje ścieżkę dzwiękową pliku .mp3 i .wav. Też zadziała ten mechanizm?

0

do pliku Wav tak do mp3 nie ponieważ SoundPlayer nie obsługuje mp3 plików.
Zresztą MP3 ma inną budowę.

MP3
ID: String[3]; // czy Tag istnieje?
Title : String[30]; // tytuł
Artist : String[30]; // wykonawca
Album : String[30]; // album
Year : String[4]; // rok wydania
Comment : String[30]; // komentarz
Genre : String[30]; // typ ? np. POP, Techno, Jazz itp.

plik Wav
https://ccrma.stanford.edu/courses/422/projects/WaveFormat/

Zobacz ze kodowanie dźwięku zaczyna się od 45(powinno od 44 ale 45 niech będzie) ponieważ niżej znajdują sie informacje o pliku.

Może oda mi się napisać przykład na mikrofon jak ściągnę DirectX sdk.

0

Kodowanie pliku Wav. Jak widać to tylko kwestia wybranego kodowania i zmieniania bajtów :) tu od 45 bo plik wav ma jakies tam gówniane informacje wcześniej.

Co? Format .wav (tak jak np. .png) jest typu RIFF -> co oznacza że nie ma podziału typu "nagłówek i dane" tylko dzieli się na chunki z których każdy ma swój nagłówek i wewnętrzną budowę.
Niech zgadnę zobaczyłeś obrazek na stronie i więcej nie szukałeś? :)
A z mp3 jest jeszcze fajniej, dzieli się na ramki z których każda jest niezależna od pozostałych. Nie ma też żadnego nagłówka pliku. Możesz wrzucić cokolwiek na początek i dalej będzie działać.

Nvm, po co omijać jakiekolwiek dane skoro zaszyfrowany plik się i tak do niczego nie nada. Szyfrujcie wszystko i będzie dobrze :]

0
Co? Format .wav (tak jak np. .png) jest typu RIFF -> co oznacza że nie ma podziału typu "nagłówek i dane" tylko dzieli się na chunki z których każdy ma swój nagłówek i wewnętrzną budowę.

Ale jeżeli je zmieni plik przestanie działać.
a on chciał zakodować tylko dźwięk.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0