Nostalgie für die Halbwertszeit - Erstellen eines Präfixes für einen Radiosender, um die Stimme und den Klang des Endes im Stil von Mähdreschern zu empfangen


Es war einmal, als die Bäume groß waren, es gab einen solchen Half-Life-Shooter, dessen Fortsetzung noch erwartet wird - dies ist bereits ein Inbegriff.

Es gab Gegner wie Combines (Combine Soldiers) - Leute, die von den Invasoren verändert wurden.
Während des Spiels konnte man ihre Gespräche im Radio hören - und ich träumte nur von einem solchen Radiosender, der die Stimme so aussehen lässt und den gleichen Klang hat, wenn die Sendung endet.

Nach langer Zeit entschied ich mich immer noch, meinen Traum zu erfüllen.

Die Verhandlungen waren wie folgt:


Zu dieser Zeit habe ich wirklich davon geträumt, dass mein Radiosender mindestens den gleichen Roger-Piepton wie bei diesen Verhandlungen hat. Wer weiß nicht, was ein Roger Piepton ist - ein Signal zum Beenden der Übertragung, das am Ende jeder Nachricht ertönt.

Im Spiel ändert sich sein Ton je nach Soldat, hier ist etwas dazwischen:


Damals war es schwierig für mich, dies zu tun, aber die heutige Entwicklung von Mikroprozessoren hat es möglich gemacht, dies nicht nur leicht zu wiederholen, sondern auch die Stimme zu verlangsamen, so dass es noch mehr dem entspricht, was im Spiel war.

Das Herzstück dieses Programms war der Verarbeiter der Firma ATMEL - ATTINY85.

Und ja - Echtzeit-Audioverarbeitung auf dem winzigen ATTINY85 - das ist durchaus möglich :)

Das Ergebnis der Arbeit am Beispiel der Stimme von Geralt von Rivia


Originalton


Modifizierter Sound


Live klingt nicht so taub und klarer. Hier geschah dies aufgrund der vielen Transformationen und Transcodierungen, aber das Gesamtbild ist meiner Meinung nach verständlich.

Wir können sagen, dass dies alles „nur zum Spaß“ ist. Wenn Sie jedoch die Sprachumwandlung entfernen, können Sie jedem Radiosender einen Roger-Piepton hinzufügen, wenn er über einen Anschluss für Zubehör wie „Kenwood“ (denselben Doppelanschluss) verfügt.

Ich habe es auf dem Baofeng-888 getestet und es hat einfach keinen Roger-Piepton - im Grunde macht die Fähigkeit, dies zu tun oder zum Beispiel zu krabbeln, nicht nur Spaß für sich.

Wie funktioniert die Firmware?


Tatsächlich gibt es dort nichts Kompliziertes.

Es wird ein Peripheriemodus mit niedriger Geschwindigkeit verwendet (über PLLCSR). In diesem Fall kann ATTINY mit 2,7 Volt betrieben werden, was eine Abtastfrequenz von etwa 9 kHz ergibt.

Es war möglich, den Hochgeschwindigkeitsmodus zu verwenden, der eine Frequenz von ungefähr 18 kHz ergeben würde, aber dann wäre es notwendig, eine Versorgungsspannung von 4,5 Volt zu verwenden, und es gab Probleme damit.

Wenn Sie die Sendetaste auf der Tangente drücken, wird ein Interrupt generiert und ATTINY wacht auf, schaltet den Übertragungsmodus zu den Radiosendern ein und verwendet ADC mit einer Frequenz von ca. 8,9 kHz, um die Stimme vom Mikrofon in einen zyklischen Puffer zu digitalisieren:



Wenn der nächste Wert in den Puffer eingegeben wird, wird er mit dem vorherigen gemischt - der Durchschnitt wird gefunden, d.h. Die Formel lautet: (oldValue+newValue)/2.

Dies gibt uns die Möglichkeit, den Fall zu erleben, in dem die alte Bedeutung noch nicht aufgegeben wurde und eine neue bereits ihren Platz eingenommen hat. Und das wird früher oder später passieren, weil Lese- und Schreibgeschwindigkeiten sind unterschiedlich.
Die Zeiger auf den Puffer erhöhen sich nach jeder solchen Operation, wenn sie das Maximum erreichen, werden sie auf Null zurückgesetzt - d.h. an den Anfang des Puffers - deshalb heißt er kreisförmig.

ATTINY hat nicht viel Speicher - nur 500 Bytes, in diesem Fall werden 450 Bytes unter dem Ringpuffer verwendet, weil Speicher wird auch für Variablen und Stapel benötigt.

Der Puffer hat zwei Zeiger - einer sind geschriebene Daten, der andere wird gelesen und das Verhältnis davon legt nur die Lesegeschwindigkeit relativ zur Schreibgeschwindigkeit fest.

Wenn das Lesen von Daten über PWM und nach einem Glättungsfilter übertragen wird, wird daraus Ton, der in den Mikrofonpfad des Radiosenders gelangt.

Übrigens stellt sich durch PWM eine sehr gute Qualität heraus und es kann für jeden Ort verwendet werden, an dem Sie eine Art Sound abspielen müssen (Spieluhren, Geschenke usw.), und ATTINY hat genug Schlussfolgerungen, um sogar SD anzuschließen - und dann können Sie sogar ganze Kompositionen zu spielen.

Aber zurück zu unserem Schema: Wenn Sie die Taste loslassen, hält ATTINY den Übertragungsmodus weiterhin an, stoppt die Digitalisierung und gibt den digitalen Ton des Roger-Pieptons über PWM aus, schaltet dann den Übertragungsmodus aus und geht in den Ruhezustand, um den Stromverbrauch zu senken.

Sound, weil nimmt viel Platz ein - ungefähr 5 Kilobyte - nimmt einen Teil des Speichers für das Programm ein - weil Dieser Speicher reicht für den Code aus - dies löst das Problem des Speichermangels.

Der Grad der Verlangsamung oder Beschleunigung der Stimme sollte in der 0-Adresse von EEPROM ATTINY aufgezeichnet werden und kann dementsprechend im Bereich von 0 bis 255 geändert werden.

Beispiele für Werte:
30 Stimmen beschleunigen
55 unverändert
75 Sprachverlangsamung

Schema


Das Gerät selbst ist eine Tangente (oder vielmehr ein Manipulator) an den Radiosender und arbeitet mit ihm über den Standard-Kenwood-Zubehöranschluss.

Das Schema ist sehr, sehr einfach und leicht „auf dem Knie“ zu montieren.

Ich habe das Mikrofonverstärkermodul bei Aliexpress bestellt und empfehle nur diesen Modultyp, der hier auf dem Foto zu sehen ist. Es wird mit 3-5V betrieben, die Kosten betragen ca. 2 US-Dollar.

Ein Lautsprecher benötigt ca. 8 Ohm, 0,5-1 Watt.

Taste - beliebig, arbeitet an der Schaltung. Jede LED mit der Fähigkeit, mit 3 Volt zu arbeiten, oder mit einem geeigneten Widerstand.



Es gibt eine Funktion, die nicht in diesen Stromkreis gefallen ist: Ein 5-Volt-Netzteil für Zubehör befindet sich im Anschluss für Zubehör, aber speziell beim Baofeng-888 haben die Chinesen etwas falsch gemacht. Es gibt nicht nur 3 Volt, es fällt auch unter Last auf 0,7 Volt ab und natürlich funktioniert die Schaltung nicht.

Um dies zu umgehen, wurde ein winziger DC-DC-Wandler von 1,2 bis 3,3 Volt mit Aliexpress und einem externen Anschluss zum Anschließen einer AA-Batterie hinzugefügt.

Wenn standardmäßig nichts in den Anschluss eingesteckt wird, versucht die Schaltung, vom Radiosender mit Strom versorgt zu werden.

Wie sieht die Schaltungsbaugruppe aus:



Schuldiger der Feier:



So stellen Sie einen Doppelstecker (KENWOOD-Anschluss) für einen Radiosender her:



Zwei Stecker 3.5 und 2.5, zusammengewickelt mit Klebeband - viel ohne.

Gehäuse


Hier gibt es nichts besonders Kompliziertes, das einzige, woran ich basteln musste, ist ein Fenster in Form eines Lambda. Es stellte sich ziemlich schief heraus, aber ein bisschen wie :)

Er machte ein Dremel, klebte es dann mit Klebeband auf die Vorderseite und goss Kleber aus der Klebepistole auf der gegenüberliegenden Seite, ertränkte die LED darin, die aufleuchtet, wenn die Übertragung läuft.

Es ist noch kein externer Stromanschluss vorhanden.

Draußen:



Innen:



Alle zusammen:



Zusammenfassung


Im Allgemeinen erfüllte ich mir meinen Kindheitstraum und obwohl er irrational war, wärmt seine Erfüllung meine erwachsene Seele. Ich hoffe, jemand hat ähnliche Gefühle. :) :)

Firmware


FUSE-Bits für ATTINY85 (8 MHz, Leistung> = 2,7 V):

0xE2 NIEDRIG
0xDD HIGH
0xFF ERWEITERT

Laden Sie Firmware-Dateien herunter
In naher Zukunft werde ich versuchen, die Quellen all dessen zu kämmen und darzulegen.



Hinweis


Da mein Bruder nicht mit UFOs zusammengearbeitet hat, habe ich beschlossen, diesen Artikel in meinem eigenen Namen auf Habré zu veröffentlichen. Als ich es gesammelt habe, war ich als Kind glücklich. Und ich dachte, dass sie die Aufmerksamkeit der Habrasociety verdient.

Sie lebt mit mir beim Radiosender YAESU und arbeitet gut, angetrieben vom Sender selbst.

Neue Firmware-Versionen und zugehörige Dateien finden Sie auf dem Blog protocoder.ru meines Bruders.

Nun, da ich direkt an der Entwicklung beteiligt war und dasselbe selbst zusammengestellt habe, werde ich versuchen, alle Fragen dazu zu beantworten.

Source: https://habr.com/ru/post/de443158/


All Articles