Ton aufnehmen mit AHk

Stelle Fragen zur Programmierung mit Autohotkey

Moderator: jNizM

Folllast
Posts: 91
Joined: 24 Jan 2018, 04:57

Ton aufnehmen mit AHk

02 Apr 2018, 10:59

Hallo,

habt ihr ne Idee ob mehr oder weniger direkt mit AHK das aufnehmen von Ton vom Mikrofon möglich ist?
User avatar
LuckyJoe
Posts: 335
Joined: 02 Oct 2013, 09:52

Re: Ton aufnehmen mit AHk

02 Apr 2018, 12:17

... hab ich zufällig im Netzt gefunden, aber ich kann dir dabei nicht weiterhelfen ;)
https://rosettacode.org/wiki/Record_sound#AutoHotkey

Viel Erfolg!
VG - Lucky Joe
Herzliche Grüße aus dem Rheinland
Lucky Joe
garry
Posts: 3740
Joined: 22 Dec 2013, 12:50

Re: Ton aufnehmen mit AHk

02 Apr 2018, 14:49

externe Programme mit Level-Meter
hatte früher gebraucht , Line-out zu Computer MIC-Eingang mit einem Widerstand ca 220 k-Ohm

MP3DirectCut =
http://mpesch3.de1.cc/mp3dc.html
No23 recorder ( Win10 ? ) =
http://www.no23.de/no23web/MP3_OGG_Aufn ... nload.aspx

mit streamripper.exe kann man streaming Radio aufnehmen
Folllast
Posts: 91
Joined: 24 Jan 2018, 04:57

Re: Ton aufnehmen mit AHk

03 Apr 2018, 05:56

Also ich bin jetzt aktuell auf der Spur und versuche ein unsichtbares Fenster von Audacity fernzusteuern, allerdings funktioniert das noch nicht. Hierzu melde ich mich ggf. nochmal.
Die Möglichkeiten mp3directcut und N23 recorder habe ich auchnoch auf der Liste.

Vielen Dank erstmal für das schnelle Feedback!
BoBo
Posts: 6564
Joined: 13 May 2014, 17:15

Re: Ton aufnehmen mit AHk

03 Apr 2018, 08:29

Das von LuckyJoe empfohlene/verlinkte script funktioniert (bei mir) einwandfrei! IMHO wäre es somit nicht zwingend notwendig ein third party-tool einzubinden :thumbup:

Spoiler
PS. hätte ja stark angenommen, das Audacity via command line triggerbar ist. Dieses "feature" hat aber scheinbar nie genug likes bekommen, um die entwickler entsprechend zu motivieren. :thumbdown: Alternativ wär vll ein versuch via ControlSend möglich: http://manual.audacityteam.org/man/keyb ... rence.html ?
Folllast
Posts: 91
Joined: 24 Jan 2018, 04:57

Re: Ton aufnehmen mit AHk

03 Apr 2018, 23:17

Hallo,

controlsend versuche ich die ganze zeit, das funktioniert bei mir aber partout nicht mit der HDWN. wahrscheinlich bin ich zu doof.

Die Möglichkeit mit der Lösung direkt in AHK habe ich auch als erster versucht, allerdings klang es als hätte ich es mit dem Gameboy aufgenommen und wieder abgespielt... ich fande die Tonqualität nicht zufriedenstellend.
BoBo
Posts: 6564
Joined: 13 May 2014, 17:15

Re: Ton aufnehmen mit AHk

04 Apr 2018, 00:13

Die tonqualität dürfte vorrangig vom micro abhängen (?)
just me
Posts: 9424
Joined: 02 Oct 2013, 08:51
Location: Germany

Re: Ton aufnehmen mit AHk

04 Apr 2018, 01:30

Hinweis eines in dieser Hinsicht Ahnungslosen:
Die Tonqualität mag sich auch durch die im Rosetta-Code auskommentierten Anweisungen beeinflussen lassen. DIe möglichen Parameter für "set " sind hier aufgeführt: set command
User avatar
nnnik
Posts: 4500
Joined: 30 Sep 2013, 01:01
Location: Germany

Re: Ton aufnehmen mit AHk

04 Apr 2018, 02:13

Code: Select all

name := "sample"
waitsec := 5
Tooltip Recording %name%.wav
MCI_SendString("close all wait")
MCI_SendString("open new type waveaudio alias " . name)
MCI_SendString("set " . name . " time format ms wait")
MCI_SendString("set " . name . " bitspersample 16 wait")
MCI_SendString("set " . name . " channels 1 wait")
MCI_SendString("set " . name . " samplespersec 96000 wait")
MCI_SendString("set " . name . " alignment 1 wait")
MCI_SendString("record " . name)
Sleep waitsec*1000
MCI_SendString("stop " . name . " wait")
MCI_SendString("save " . name . " """ . name . ".wav""")
Tooltip Finished ... Playing
MCI_SendString("delete " . name)
MCI_SendString("close " . name . " wait")
MCI_SendString("open """ . name . ".wav"" type waveaudio alias " . name)
MCI_SendString("play " . name . " wait")
MCI_SendString("close " . name . " wait")
Tooltip
Return

MCI_SendString(p_lpszCommand,ByRef r_lpszReturnString="",p_hwndCallback=0) { ;thanks jballi ( I removed potentially harmful AutoHotkey.net links )
	VarSetCapacity(r_lpszReturnString,512,0)
	Return DllCall("winmm.dll\mciSendString" . (A_IsUnicode ? "W":"A")
		,"Str",p_lpszCommand						;-- lpszCommand
		,"Str",r_lpszReturnString					;-- lpszReturnString
		,"UInt",512									;-- cchReturn
		,A_PtrSize ? "Ptr":"UInt",p_hwndCallback	;-- hwndCallback
		,"Cdecl Int")								;-- Return type
}
Wenn man mit einer ordentlichen Samplerate arbeitet dürften hier keine Limitationen auftreten.
Recommends AHK Studio
BoBo
Posts: 6564
Joined: 13 May 2014, 17:15

Re: Ton aufnehmen mit AHk

04 Apr 2018, 02:34

Da haben die beiden herren natürlich absolut recht. Danke für den hinweis (wurde nun ebenfalls in "meinem" script berücksichtigt). :thumbup:
User avatar
nnnik
Posts: 4500
Joined: 30 Sep 2013, 01:01
Location: Germany

Re: Ton aufnehmen mit AHk

04 Apr 2018, 03:10

Wenn man eine ordentlich MCI_SendString funktion verwendet funktioniert alles um ein vielfaches besser.
So habe ich nähmlich gemerkt, dass mein Mikro keine 96000 khz samplerate und nicht mehr als 8 bit Qualität unterstützt.

Code: Select all

name := "sample"
waitsec := 5
Tooltip Recording %name%.wav
offset := -1

MCI_SendString("close all wait")
MCI_SendString("open new type waveaudio alias " . name)
MCI_SendString("set " . name . " time format ms wait")
MCI_SendString("set " . name . " bitspersample 8 wait")
MCI_SendString("set " . name . " channels 1 wait")
MCI_SendString("set " . name . " samplespersec 48000 wait")
MCI_SendString("set " . name . " alignment 1 wait")
MCI_SendString("record " . name)
Sleep waitsec*1000
MCI_SendString("stop " . name . " wait")
MCI_SendString("save " . name . " """ . name . ".wav""")
Tooltip Finished ... Playing
MCI_SendString("delete " . name)
MCI_SendString("close " . name . " wait")
MCI_SendString("open """ . name . ".wav"" type waveaudio alias " . name)
MCI_SendString("play " . name . " wait")
MCI_SendString("close " . name . " wait")
Tooltip
Return

MCI_SendString(p_lpszCommand,ByRef r_lpszReturnString="",p_hwndCallback=0) {
	VarSetCapacity(r_lpszReturnString,512,0)
	
	if error := DllCall("winmm.dll\mciSendString", "Str",p_lpszCommand, "Str",r_lpszReturnString, "UInt",A_IsUnicode ? 256 : 512 , A_PtrSize ? "Ptr":"UInt", p_hwndCallback, "Cdecl Int")
	{
		r_lpszErrorString := ""	
		VarSetCapacity(r_lpszErrorString,258,0)
		DllCall( "winmm.dll\mciGetErrorString", "UInt", error, "Str", r_lpszErrorString, "UInt", A_IsUnicode ? 129 : 258 )
		Throw exception( "MCI Error: " . error . "`n" . r_lpszErrorString,"", p_lpszCommand )
	}
	return r_lpszReturnString
}
Recommends AHK Studio
BoBo
Posts: 6564
Joined: 13 May 2014, 17:15

Re: Ton aufnehmen mit AHk

04 Apr 2018, 22:32

Ist davon auszugehen, das bei angabe eines zu hohen wertes für die samplerate der maximal mögliche als default verwendet wird?
User avatar
nnnik
Posts: 4500
Joined: 30 Sep 2013, 01:01
Location: Germany

Re: Ton aufnehmen mit AHk

05 Apr 2018, 03:08

Keine Ahnung aber ich kann den Unterschied zwischen 41 und 48 khz nicht so stark raushören, da mein Mikro schrott ist.
Recommends AHK Studio
garry
Posts: 3740
Joined: 22 Dec 2013, 12:50

Re: Ton aufnehmen mit AHk

05 Apr 2018, 05:28

ich habe ein externes Gerät , z.B. Radio LINE-OUT mit Computer MIC-Eingang verbunden ( mit Widerstand 220 k-Ohm , evtl höher )
User avatar
nnnik
Posts: 4500
Joined: 30 Sep 2013, 01:01
Location: Germany

Re: Ton aufnehmen mit AHk

05 Apr 2018, 06:13

Naja ich könnte einen 2ten input hinzufügen und dann schauen ob sich die Qualität verändert.
Aber ich hab das Gefühl, dass die .dll es nicht wert ist im Vergleich zur BASS.dll
Recommends AHK Studio
Folllast
Posts: 91
Joined: 24 Jan 2018, 04:57

Re: Ton aufnehmen mit AHk

08 Apr 2018, 06:06

nnnik wrote:Naja ich könnte einen 2ten input hinzufügen und dann schauen ob sich die Qualität verändert.
Aber ich hab das Gefühl, dass die .dll es nicht wert ist im Vergleich zur BASS.dll
ich habe starke hintergrundgeräusche, selbst wenn das mikrofon aus ist. Ich werde es auch mit der bass.dll versuchen, obwohl die nicht direkt AHK unterstützt.

Return to “Ich brauche Hilfe”

Who is online

Users browsing this forum: gero and 31 guests