add how to
This commit is contained in:
@@ -53,6 +53,11 @@ class Application(tk.Tk):
|
|||||||
self.menubar.add_cascade(label="Playback", menu=playback_menu)
|
self.menubar.add_cascade(label="Playback", menu=playback_menu)
|
||||||
playback_menu.add_command(label="Play Last Audio", command=self.play_last_audio)
|
playback_menu.add_command(label="Play Last Audio", command=self.play_last_audio)
|
||||||
|
|
||||||
|
# Help menu
|
||||||
|
help_menu = Menu(self.menubar, tearoff=0)
|
||||||
|
self.menubar.add_cascade(label="Help", menu=help_menu)
|
||||||
|
help_menu.add_command(label="How to Use", command=self.show_instructions)
|
||||||
|
|
||||||
def initialize_gui(self):
|
def initialize_gui(self):
|
||||||
self.device_index = tk.StringVar(self)
|
self.device_index = tk.StringVar(self)
|
||||||
self.device_index_2 = tk.StringVar(self)
|
self.device_index_2 = tk.StringVar(self)
|
||||||
@@ -111,16 +116,56 @@ class Application(tk.Tk):
|
|||||||
webbrowser.open('https://www.scorchsoft.com')
|
webbrowser.open('https://www.scorchsoft.com')
|
||||||
|
|
||||||
|
|
||||||
|
def show_instructions(self):
|
||||||
|
instruction_window = tk.Toplevel(self)
|
||||||
|
instruction_window.title("How to Use")
|
||||||
|
instruction_window.geometry("500x600") # Width x Height
|
||||||
|
|
||||||
|
instructions = """How to Use Scorchsoft Text to Mic:
|
||||||
|
|
||||||
|
1. Install VB-Cable if you haven't already
|
||||||
|
https://vb-audio.com/Cable/
|
||||||
|
This tool creates a virtual microphone on your Windows computer or Mac. Once installed you can then trigger audio to be played on this virual cable.
|
||||||
|
|
||||||
|
2. Open the Text to Mic app by Scorchsoft, and input your OpenAPI key. How to set up an API key:
|
||||||
|
https://platform.openai.com/docs/quickstart/account-setup
|
||||||
|
(note that this may require you to add your billing details to OpenAI's playground before a key can be generated)
|
||||||
|
|
||||||
|
3. Choose a voice that you prefer for the speech synthesis.
|
||||||
|
|
||||||
|
4. Select a playback device. I recommend you select one device to be your headphones, and the other the virtuall microphone installed above (Which is usually labelled "Cable Input (VB-Audio))"
|
||||||
|
|
||||||
|
3. Enter the text in the provided text area that you want to convert to speech.
|
||||||
|
|
||||||
|
4. Click 'Submit' to hear the spoken version of your text.
|
||||||
|
|
||||||
|
5. The 'Play Last Audio' button can be used to replay the last generated speech output.
|
||||||
|
|
||||||
|
6. You can change the API key at any time under the 'Settings' menu.
|
||||||
|
|
||||||
|
This tool was brought to you by Scorchsoft - We build custom apps to your requirements. Please contact us if you have a requirement for a custom app project.
|
||||||
|
"""
|
||||||
|
|
||||||
|
tk.Label(instruction_window, text=instructions, justify=tk.LEFT, wraplength=480).pack(padx=10, pady=10)
|
||||||
|
|
||||||
|
# Add a button to close the window
|
||||||
|
ttk.Button(instruction_window, text="Close", command=instruction_window.destroy).pack(pady=(10, 0))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def get_api_key(self):
|
def get_api_key(self):
|
||||||
|
|
||||||
|
self.show_instructions() # Show the "How to Use" modal after setting the key
|
||||||
|
|
||||||
api_key = os.getenv("OPENAI_API_KEY")
|
api_key = os.getenv("OPENAI_API_KEY")
|
||||||
|
if not api_key: # No API key found in the environment
|
||||||
|
api_key = simpledialog.askstring("API Key", "Enter your OpenAI API Key:", parent=self)
|
||||||
if not api_key: # Only ask if .env has no API key
|
if api_key:
|
||||||
api_key = simpledialog.askstring("API Key", "Enter your OpenAI API Key:")
|
|
||||||
|
|
||||||
if api_key:
|
|
||||||
print(f"\nAPI Key: {api_key }\n")
|
|
||||||
self.save_api_key(api_key)
|
self.save_api_key(api_key)
|
||||||
|
messagebox.showinfo("API Key Set", "The OpenAI API Key has been updated successfully.")
|
||||||
|
|
||||||
return api_key
|
return api_key
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user