Нужна помощь с программным кодом

RuguRene

Новичок
Пользователь
Дек 16, 2020
13
0
1
Короче я должен создать и отправить звуковой сигнал в котором зашифровано сообщение. Сообщение создать/перевести в сигнал я могу, но вот отправить и получить как то не выходит, помогите, прилагаю код для отправки и получения
Спасибо большое заранее


Python:
import sounddevice as sd
import soundfile as sf
import numpy as np
from scipy import signal
import matplotlib.pyplot as plt
import wave
import time
import socket
import os
#-----------------------CREATION DICTIONNAIRE-----------------------
def creer_dict():
n=256
return{chr(i):i for i in range(n)}

#----------------------------COMPRESSION-----------------------------

def encode_lzw(texte):
dico = creer_dict()
dict_size = len(dico)
w=""
result=[]
for c in texte:
wc = w + c
if wc in dico:
w = wc
else:
result.append(dico[w])
dico[wc] = dict_size
dict_size += 1
w = c
if w:
result.append(dico[w])
return result

#--------------(ENCODAGE)CONVERSION DECIMAL-BINAIRE---------------

def conv_bin(decimal_chaine):
result=[]
for i in range (0, len(decimal_chaine)):
result.append(bin(decimal_chaine)[2:])
return result

#-------------------------GENERRATION ET MODULATION----------------------------------------

def modulation(bin_chaine):
chaine_binaire=str()
for i in range (0, len(bin_chaine)-1):
chaine_binaire += bin_chaine
print(chaine_binaire)
f = 21000
w = 2*f
x = []
y = []
pas = 1/f
a = 0
for i in range(0, len(chaine_binaire)-1) :
for t in np.arange(0,0.01,pas):
x.append(a+t)
if (chaine_binaire, chaine_binaire[i+1]) == ("0", "0"):
amp = 0
elif (chaine_binaire, chaine_binaire[i+1]) == ("0", "1"):
amp = 1
elif (chaine_binaire, chaine_binaire[i+1])== ("1", "0"):
amp = 2
elif (chaine_binaire, chaine_binaire[i+1]) == ("1", "1"):
amp = 3
y.append(amp*np.sin(w*(a+t)))
a=a+t
plt.plot(x,y)
plt.title('Signal')
plt.xlabel('x')
plt.ylabel('y')
plt.show()
sf.write("signalmodule.wav", y, f)
input("")


chaine = input('Ecrire : ')
creer_dict()
decimal_chaine = encode_lzw(chaine)
print(decimal_chaine)
bin_chaine = conv_bin(decimal_chaine)
print(bin_chaine)

modulation(bin_chaine)

signal_porteur = 'signalmodule.wav'
data, reading = sf.read(signal_porteur)



play = sd.play(data, reading)
sd.wait()


socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
host, port = ('localhost', 4548)

import socket
adresseIP = "93.4.249.98" # Ici, le poste local
port = 50000 # Se connecter sur le port 50000
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client.connect((adresseIP, port))
print("Connecté au serveur")
client.send("Bonjour, je suis le client".encode("utf-8"))
reponse = client.recv(255)
print(reponse.decode("utf-8"))
print("Connexion fermée")
client.close()





И код для получения

import socket
import sounddevice as sd
import soundfile as sf
import numpy as np
from scipy import signal
import matplotlib.pyplot as plt
import time

def BinDec (b) :
n=0
for i in range (7):
n=n+b[len(b)-(i+1)]*(2^i)
return n


socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
host, port = ('', 4548)
socket.bind((host, port))
socket.listen(5)
client, address = socket.accept()
print("New connexion")

liste =['1000101', '1010011', '1000011', '1000001', '1010000', '1000101', '1001011', '0110001', '0110111']

def creer_dict():
n=256
return{chr(i):i for i in range(n)}

def inverse_dict(dico):
return { v:k for k,v in dico.items() }

def decodde_lzw(texte):
dico = creer_dict
dico = inverse_dict(dico)
dict_size = len(dico)
result = ""
w =chr(texte.pop(0))
result += w
for k in decimal_chaine:
if k in dico:
entry = w + w[0]
elif k == dict_size:
entry = w + w[0]
result += entry

dico[dict_size] = w + entry[0]
dict_size += 1

w =entry
return result

def conv_bindec(liste):
k = len(liste)
x = 0
liste2 = []
for i in range (k):
n = liste[x]
resultat=0
nchaine=str(n)
nliste=list(nchaine)
pgexposant=len(nliste)
for i in range(pgexposant):
int(i)
ajout=int(nliste)*2**(pgexposant-1-i)
resultat=resultat+ajout
x = x + 1
liste2.append(resultat)
print(liste2)
return

#liste_dec = conv_bindec(liste)
#print(liste_dec)

#texte = decodde_lzw(liste_dec)
#print(texte)

def filtrage():
Fc = 20000 #Fréquence de coupure
Fe = 44100 #Fréquence d'échantillonage

#chercher le fichier son et lire le signal
signalaudio = 'signalmoduleconf.wav'
data, reading = sf.read(signalaudio)
#application du filtre passe haut
filtre_passe_haut = signal.firwin(101, Fc, fs = Fe, pass_zero = False)
signalaudio = signal.lfilter(filtre_passe_haut, [1.0], data)

#lire le fichier son
play = sd.play(signalaudio, reading)
statust = sd.wait()

plt.plot(signalaudio)
plt.title('Signal')
plt.xlabel('x')
plt.ylabel('y')
plt.show()

filtrage()

while True:
data = []
data = client.recv(256)
for i in range(0, len(data)):
data.decode("utf8")
print(data)
n = BinDec(data)
print(n)


client.close()
socket.close()/CODE]
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 567
454
83
отступы не соблюдены... попробуйте скопировать ваш код и запустить... и зачем плодить темы можно изменить существующую...
 

RuguRene

Новичок
Пользователь
Дек 16, 2020
13
0
1
отступы не соблюдены... попробуйте скопировать ваш код и запустить... и зачем плодить темы можно изменить существующую...
в смысле отступы
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 567
454
83
в смысле отступы
вы сами код писали? вы не видите что то странное с ним? попробуйте скопировать и запустить его
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 567
454
83
судя по комментариям в коде код не ваш, понятно...
и вообще код писал человек не русско- и не англо- язычный...

где то взял код но что то не работает...
помогите с тем не знаю с чем...
 
Последнее редактирование:

RuguRene

Новичок
Пользователь
Дек 16, 2020
13
0
1
судя по комментариям в коде код не ваш, понятно...
и вообще код писал человек не русско- и не англо- язычный...

где то взял код но что то не работает...
помогите с тем не знаю с чем...
так я во Франции живу ну да ладно, тебе видимо виднее хули
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 567
454
83
так я во Франции живу ну да ладно, тебе видимо виднее хули
раз на то пошло то ты пиздабол...
что значит какие отступы... ты питон знаешь вообще? ты не видишь что их вообще в коде нет? в питоне отступы это часть синтаксиса к твоему сведению хули...
француз блять хуев...
 

RuguRene

Новичок
Пользователь
Дек 16, 2020
13
0
1
раз на то пошло то ты пиздабол...
что значит какие отступы... ты питон знаешь вообще? ты не видишь что их вообще в коде нет? в питоне отступы это часть синтаксиса к твоему сведению хули...
француз блять хуев...
ебаклак ты сука жалостливый мне вообще похуй веришь ты мне или нет, я имею полное право не знать что такое отступы в ебучем питоне, так как моя жизнь никак с этой хуйней не пересекается. Мне нужно сделать программу и я попросил помощи, я сделал кое какую часть над которой я сидел 2 дня, но конечно тебе как помойной крысе на это похуй, раз нихуя не знаешь то сиди тихо и не выебывайся
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 567
454
83
чет не досидел видать, уебан
че сидел если основы не знаешь не понятно...
 

RuguRene

Новичок
Пользователь
Дек 16, 2020
13
0
1
чет не досидел видать, уебан
че сидел если основы не знаешь не понятно...
нахуй мне твои основы если в программе с помощью которой я пишу они нихуя не значат
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 567
454
83
нахуй мне твои основы если в программе с помощью которой я пишу они нихуя не значат
ты даже код не мог правильно скинуть людям чтоб тебе помогли, кто тут ебаклак еще посмотреть надо...
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 567
454
83
нахуй мне твои основы если в программе с помощью которой я пишу они нихуя не значат
это че за программа такая расскажи...
 

RuguRene

Новичок
Пользователь
Дек 16, 2020
13
0
1
это че за программа такая расскажи...
jupyter
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 567
454
83
понятно... там то да ниче не значат...
 

RuguRene

Новичок
Пользователь
Дек 16, 2020
13
0
1
ты даже код не мог правильно скинуть людям чтоб тебе помогли, кто тут ебаклак еще посмотреть надо...
а откуда мне знать как и куда скидывать припиздок, я только что тут зарегистрировался чтобы попросить помощи, воин ты диванный
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 567
454
83
пиши еще куда нибудь, на киберфорум напиши там у людей фантазия хорошая...
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 567
454
83
а откуда мне знать как и куда скидывать припиздок, я только что тут зарегистрировался чтобы попросить помощи, воин ты диванный
для ебанутых закрепленая тема есть Как правильно составить вопрос и не получить бан?
но тебе то все равно, ты француз и в юпитере пишешь без отступов...
 

RuguRene

Новичок
Пользователь
Дек 16, 2020
13
0
1
пиши еще куда нибудь, на киберфорум напиши там у людей фантазия хорошая...
уже написал
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 567
454
83
кинь сылочку посмотрю...
 

RuguRene

Новичок
Пользователь
Дек 16, 2020
13
0
1
 

RuguRene

Новичок
Пользователь
Дек 16, 2020
13
0
1
 

Форум IT Специалистов