Page 1 of 1

Ton aufnehmen mit AHk

Posted: 02 Apr 2018, 10:59
by Folllast
Hallo,

habt ihr ne Idee ob mehr oder weniger direkt mit AHK das aufnehmen von Ton vom Mikrofon möglich ist?

Re: Ton aufnehmen mit AHk

Posted: 02 Apr 2018, 12:17
by LuckyJoe
... 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

Re: Ton aufnehmen mit AHk

Posted: 02 Apr 2018, 14:49
by garry
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

Re: Ton aufnehmen mit AHk

Posted: 03 Apr 2018, 05:56
by Folllast
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!

Re: Ton aufnehmen mit AHk

Posted: 03 Apr 2018, 08:29
by BoBo
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 ?

Re: Ton aufnehmen mit AHk

Posted: 03 Apr 2018, 23:17
by Folllast
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.

Re: Ton aufnehmen mit AHk

Posted: 04 Apr 2018, 00:13
by BoBo
Die tonqualität dürfte vorrangig vom micro abhängen (?)

Re: Ton aufnehmen mit AHk

Posted: 04 Apr 2018, 01:30
by just me
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

Re: Ton aufnehmen mit AHk

Posted: 04 Apr 2018, 02:13
by nnnik

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.

Re: Ton aufnehmen mit AHk

Posted: 04 Apr 2018, 02:34
by BoBo
Da haben die beiden herren natürlich absolut recht. Danke für den hinweis (wurde nun ebenfalls in "meinem" script berücksichtigt). :thumbup:

Re: Ton aufnehmen mit AHk

Posted: 04 Apr 2018, 03:10
by nnnik
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
}

Re: Ton aufnehmen mit AHk

Posted: 04 Apr 2018, 22:32
by BoBo
Ist davon auszugehen, das bei angabe eines zu hohen wertes für die samplerate der maximal mögliche als default verwendet wird?

Re: Ton aufnehmen mit AHk

Posted: 05 Apr 2018, 03:08
by nnnik
Keine Ahnung aber ich kann den Unterschied zwischen 41 und 48 khz nicht so stark raushören, da mein Mikro schrott ist.

Re: Ton aufnehmen mit AHk

Posted: 05 Apr 2018, 05:28
by garry
ich habe ein externes Gerät , z.B. Radio LINE-OUT mit Computer MIC-Eingang verbunden ( mit Widerstand 220 k-Ohm , evtl höher )

Re: Ton aufnehmen mit AHk

Posted: 05 Apr 2018, 06:13
by nnnik
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

Re: Ton aufnehmen mit AHk

Posted: 08 Apr 2018, 06:06
by Folllast
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.