Wenn ich Tastendrücke über eine Telefonleitung simulieren wollte, könnte ich dann einfach Freizeichen abspielen?

Ich versuche, eine API zusammenzustellen, die mit dem Ärger fertig wird, minutenlang Tasten zu drücken, um sich mit einer Person zu verbinden. "Für Spanisch drücken Sie die 4. Für die Rechnungsstellung drücken Sie die 1. Für ..."

Leider scheint es, dass die meisten programmierbaren Telefondienste keine Wähltöne ausgeben. Aber viele spielen MP3s für Wartemusik. Wenn ich einfach eine MP3-Datei mit dem gewünschten Freizeichen erstellen und über die Leitung abspielen würde, würde das andere Ende das als Tastendruck registrieren? Wie genau müsste es sein?

Woher weiß es, welche Optionen ausgewählt werden sollen?
@IanBland Verarbeitung natürlicher Sprache. Dies ist ein Code-Projekt, um zu sehen, ob mich ein Code zumindest meistens über die anfänglichen Probleme hinwegbringt und mich dann anruft, sobald er eine Verbindung zu einer Person herstellt.
Ich denke, Sie möchten DTMF-Töne erzeugen, wie sie von einer Telefontastatur erzeugt werden, nicht den "Wählton", den die Telefongesellschaft verwendet, um anzuzeigen, dass Sie Ihre Nummer wählen können.

Antworten (2)

DTMF-Tastentöne folgen dieser Tabelle: -

Geben Sie hier die Bildbeschreibung ein

Mit anderen Worten, es werden zwei Töne erzeugt, daher sucht jeder DTMF/Tastenton-Decoder nach zwei gleichzeitigen Tönen. Es ist unwahrscheinlich, dass Sie eine falsche Erkennung auslösen, wenn ein relevanter Ton, der von Ihrem Wählton erzeugt wird, nicht übereinstimmt.

Wenn Sie sich das Datenblatt des MT8870-Tastenton-Decoders ansehen, erhalten Sie eine Vorstellung davon, wo Sie Ihren Wählton einstellen können: -

Geben Sie hier die Bildbeschreibung ein

Jeder Ton unter 500 Hz hat keine Chance, korrekt erkannt zu werden, selbst wenn zwei Töne erzeugt wurden, von denen einer genau auf einer erkennbaren Frequenz liegt.

Natürlich gibt es keine Garantie dafür, dass ein MT8870 verwendet wird, aber es gibt Ihnen ein gewisses Vertrauen bei der Auswahl eines einzelnen Tons unter 500 Hz.

Wie nah muss man sein?
Nun, ein DTMF-Decoder kann zwischen 770 Hz und 697 Hz (obere zwei Reihen) unterscheiden, also sollten Sie nicht näher als die Hälfte dieser Entfernung sein, aber wenn Sie die weltweit verwendeten Wähltöne überprüfen, sind es normalerweise unter 300 Hz.
Die eigentliche Frage ist, ob Sie vielleicht 10 Hz daneben liegen, wird es den Eingang einfach ablehnen und ihn als anderes Audio behandeln
Denken Sie daran, dass Sie beide Töne gleichzeitig erzeugen müssen, damit ein Tasttondetektor funktioniert, weshalb dtmf Dual-Tone-Multi-Frequency bedeutet. Siehe die Bearbeitung meiner Antwort.

Nehmen Sie einen Anruf auf einem anderen Telefon an, das über eine Aufnahmefunktion in hoher Qualität verfügt. Nehmen Sie alle Töne für 0...9, * und # auf. Achten Sie auf störende Handhabungs- und Umgebungsgeräusche. Lassen Sie auch etwas Platz zwischen den Tönen für ein Geräuschmuster. Sie benötigen es im Audio-Editor, um alle stationären Hintergrundgeräusche (= Rauschen, Brummen) zu entfernen.

Das DTMF-System ist darauf ausgelegt, einige Verzerrungen und Frequenzverschiebungen zu tolerieren, daher sollte Ihre Aufnahme zumindest dann in Ordnung sein, wenn das Rauschen gereinigt (=rauschfrei) und gefiltert ist, um frei von Komponenten außerhalb des DTMF-Frequenzbands zu sein.

Clip die Aufnahme als separate Dateien für jeden Sound.

Zu der Frage in der Überschrift : Ja, die Automaten müssen auch Festnetzanrufe verarbeiten, die noch DTMF-Töne zum Drücken haben.

Offtopic : Was für eine tolle Idee!

Ein Tipp: Fügen Sie eine Möglichkeit hinzu, leicht zu hören, vielleicht etwas verzögert, aber von Anfang an, was beantwortet wird, wenn es keine "Drücke 1 für ... "-Sequenz oder Wartemusik gibt, sondern ein richtiger Mensch, der will dir dienen.

Musik und die ausgefeilten Maschinengespräche wie „Sie stehen noch in der Warteschlange“ sollten recht einfach erkannt werden, wenn Sie bereits über eine ernsthafte Feature-Extraction-Software verfügen.

Die gewünschten DTMF-Tonsequenzen können für die meisten gängigen Ziele vorinstalliert und neue gespeichert werden, während Sie gehen.

Viel künstliche Intelligenz-ähnliche Arbeit, aber trotzdem eine tolle Idee!