Mossy1022 / Smart-Memos

Super-human brainstorming and note-taking by smart transcribing your voice! This involves a complete transcript, a summary, an expansion on the concepts presented, and a fully customizable analysis of it for any use case you can think of!
MIT License
53 stars 3 forks source link

file not found #2

Closed KennyDenvers closed 3 months ago

KennyDenvers commented 5 months ago

Hi! I am curious to try the plugin but I am getting an error (see screenshot below). I was looking for a documentation if a specific path was required, but couldn't find one. The audio file is stored in the root folder of my Obsidian vault. Maybe you can help.

image
NaturallyAsh commented 4 months ago

I am getting the same error when I try to transcribe a pre-recorded mp3 file that I dropped into my vault. I will note that the plugin worked when I tried it on a file generated by the Obsidian audio recorder.

Mossy1022 commented 4 months ago

@KennyDenvers @NaturallyAsh

Hey! I just pushed a new release that might fix this issue (1.1.0). It looks at whatever you have set at the "Default location for new attachments" within the "Files and Links" tab of obsidian settings. I've just added that bit to the readme.

If you had it pre-recorded somewhere and changed that setting afterwards, it's possible it may not find the file. I can work on adding the ability to add a custom path if that happens, but you should be able to resolve it by moving where the file was originally recorded to that path, or vice versa.

Let me know if this works/helps :)

sbsamarski commented 4 months ago

I also get the same error. The path in the note was originally only the unique MD5 file name, but stored in the _resources folder, in notename.resources subfolder, as defined in "Default location for new attachments". I also tried adding the full relative path before the name of the file, but still get the error.

Is it possible to change the whatever system you use for finding the files? Something isn't right.

Mossy1022 commented 4 months ago

Heard. I haven't been able to reproduce this issue to see what's going wrong with your Obsidian environments, but I will update the methods for finding files to ensure it'll have ways to find them if the default ways fail for whatever reason. I'll be getting back from a trip later tonight and should have new update for you by tomorrow.

Mossy1022 commented 4 months ago

Also just a note, I would test seeing about putting your attachments in a directory/path that doesn't contain special characters (like a underscores, commas, spaces, apostrophes etc.) to see if there's an issue with them that's not being accounted for when finding the paths.

@sbsamarski Can you check if removing the "_" before "resources" might possibly resolve that?

mattjparkerr commented 4 months ago

My vault itself, has a file name with an underscore in the name of the vault, I posted screenshot on another log, but same issues file handling problem. I posted screenshot in that issue log from the dev console. Let me know if you need me to test anything more than happy. Thank you for your work on this plugin for obsidian.. also this is very similar to Cleft Notes (seperate app) not through obsidian.

Mossy1022 commented 4 months ago

Ok, appreciate the help in troubleshooting! I referenced some other plugins that simply do raw transcriptions on the files and have updated my methods for finding file paths that should resolve the issue 😁

I just pushed a new release (v1.1.2). Please update Smart Memos to that and let me know if that resolves your issue. If not, I'll push another release for more console logs to help me troubleshoot. Obsidian guidelines wants you to remove them whenever possible, so I'll just create a temporary release to help debug if this doesn't fix your issue.

mattjparkerr commented 4 months ago

@Mossy1022 updated and was just able to test, works thank you!

KennyDenvers commented 4 months ago

@Mossy1022: Confirming @mattjparkerr - works for me as well! Thanks!

Mossy1022 commented 4 months ago

😁 Awesome. Thanks guys, enjoy!

Just to fill you in for what's coming, I'm working on adding an option for a local AI model to transcribe as well as creating the ability to save prompt templates since there are seemingly infinite use cases for this depending on what type of notes/brainstorming/analysis you're trying to do at a given time.

If you guys have any more suggestions that might be helpful to tack on to this, please let me know in another issue. Thanks again for using the plugin. I hope it serves you well :)

mattjparkerr commented 4 months ago

@Mossy1022 my only immediate suggestion are:

  1. Include in command palette a shortcut for smart memo
  2. Once the recording/ start begins is there a way to move the window or minimize it (or have header bar for controls) That way the user can essentially read through a note/ reference material and speak aloud. I think this will help with usability. I find once the smart memo recording control dialogue comes up I want to be view some references (like the smart connections vis) or a smart connections chat and put my own thoughts/ anaylsis to it in spoken form.
Mossy1022 commented 4 months ago

Oooo great suggestions, thanks!

Mossy1022 commented 4 months ago

@mattjparkerr Since #1 was a simple addition, I just created another release (v1.1.3) that you can update to that has the command palette option.

sbsamarski commented 4 months ago

I still have the "no file found in the text" issue after the update just a few minutes ago.

I created an "Untitled" note in Notes folder (the name of the vault is "Obsidian Vault"), and drag a file named "2A528814A8E3134BFFB0C01832EEF7C0_MD5.aac" into the note (which puts it into the "Untitled.resources" subfolder under the "_resources" subfolder, which is the default location for new attachments), position a cursor below the file, start Smart transcribe, and get the "no file found" error. I tried renaming the file to "2A528814A8E3134BFFB0C01832EEF7C0.aac" (without the "_MD5"), and then also moving the attachment file into the "_resources" subfolder and also into the "Notes" folder, but still get the same error.

Initially the file was in a "Daily Notes" folder with a yyyy-mm-dd file naming system, so I moved it into the folder and note with simple names.

It's strange because if I click on the file it opens without problems in media player. I can also move it to other notes, which means Obsidian can see its location.

Actually, I just tried to record the audio for the first time (previously I imported an already existing file), but I get the error "Failed to handle audio recording" after pressing the Stop button.

Next I tried recording audio with Obsidian (it records a webm audio file) and then tried the Smart transcribe. This time it started, but stopped straight away with the error "Request failed, status 429".

I have no idea what this could be???

I just tried a few more times, and it looks like it can't find audio files with aac extension, regardless of placement, but it can find webm files IF the link is just a name without a subfolder. However, in that case it still reports the error 429.

For example, the file: ![[92E121440303AE9645A7B155CD44F45B.webm]] is found, but it reports the error 429.

The file: ![[_resources/Untitled.resources/bc520342e464869a322b21f3ae23bc25_MD5.webm]] is not found at all.

The file: ![[2A528814A8E3134BFFB0C01832EEF7C0_MD5.aac]] is not found at all (aac extension).

Of course, Obsidian sees all the files just fine.

Mossy1022 commented 4 months ago

@sbsamarski Please update to 1.1.4 and let me know if that works. I've reverted the changes I just made to where they were before, although not sure how they could have impacted finding the files. Should be available for update in a minute or so.

Mossy1022 commented 4 months ago

Wait a moment actually, need to fix a build issue.

Mossy1022 commented 4 months ago

@sbsamarski Ok let me know if that resolves it. It's the same code as the release that fixed it for you. To confirm this file type and everything was working prior to the newer update?

sbsamarski commented 4 months ago

I just updated and nothing has changed with the above 3 examples. Additionally, now the record option is missing.

Mossy1022 commented 4 months ago

Ok and it was just working with those files before? The record option meaning the option from the command pallete? I reverted the code so that option should be gone and only shown as the microphone on the left.

Mossy1022 commented 4 months ago

@mattjparkerr Can you update to 1.1.4 when you get the chance and see if the issue you were experiencing before has returned?

Mossy1022 commented 4 months ago

@sbsamarski Wait this seems to be a separate issue (at least for 429). A 429 error typically means "too many requests". That's not a find file issue. Testing very quickly might have been pinging the openAI end points to transcribe a little too rapidly to where it overloaded. Might be worth checking out your openAI account details/status to see what's up.

I'd also wait like a minute or so and try again to see what happens.

Mossy1022 commented 4 months ago

@sbsamarski "Servers implement rate limiting to prevent overuse, abuse, or denial-of-service attacks. When a client exceeds the allowed number of requests in a specified time frame, the server responds with a 429 status code."

sbsamarski commented 4 months ago

No, the plugin never worked before (which I also reported a few days ago), so I don't think reverting can help. It also couldn't find the file in the previous version.

I don't have a paid ChatGPT account and I set the GPT 4o model, so maybe that causes the error? I just tried all of the available models, and they all give the same error.

I don't have any other AI plugins installed in Obsidian or on my computer, so there can't possibly be too many requests or any overuse.

mattjparkerr commented 4 months ago
Screenshot 2024-07-08 at 3 23 44 PM

@Mossy1022 tested 1.1.4, fails to handle recording and gives error. Also the command palette feature went away. I had no problems with 1.1.2 and 1.1.3 was able to use the command palette option.

Mossy1022 commented 4 months ago

Oh I'm sorry @sbsamarski, I thought I was talking to you when KennyDenvers confirmed it was working for him.

If you don't have a paid account then there will definitely be a harder cutoff rate limit to how many request to the API you can do over a period of time. It doesn't matter if you don't have any other AI plugins. Just one alone can reach the limit and quite easily with the unpaid version, similar to if you're in a single chat using chatgpt and will hit a limit after sending enough messages in a period of time.

@mattjparkerr I will just remove the latest releases for now to 1.1.2 since I know that was working for everyone and I'll add the command palette option later.

Not sure how downgrading shows up in Obsidian so it might require a reinstall of the plugin.

sbsamarski commented 4 months ago

OK, thanks for the clarification about the paid ChatGPT requirement. I didn't know.

However, I was still getting the file not found error in every version in 2 out of 3 listed examples above, which has nothing to do with the actual transcription.

Mossy1022 commented 4 months ago

@sbsamarski Ok I found one resolution to your issue! It's not checking for .acc extension types, so that makes sense why it wouldn't find the the file. I will add that in right now and create another release for 1.1.3

sbsamarski commented 4 months ago

OK, but it also couldn't find the file when it's within 2 subfolders. The note's name is "Untitled" and it's the only one by that name in the folder. Example: ![[_resources/Untitled.resources/bc520342e464869a322b21f3ae23bc25_MD5.webm]]

Mossy1022 commented 4 months ago

Oh wait, I'm sorry. I have it in the readme:

Support for Multiple Audio Formats: Supports mp3, mp4, mpeg, mpga, wav, webm audio formats.

It seems Openai doesn't support .acc file types for transcription, so it won't matter if it finds the file :/ It'd have be converted to another format via a free online converter and then imported. I'll see what I can do for adding that extension type, but considering I'd need to use an entirely different library that might be farther in the future compared to the other priorities right now. I'll also look to see if I can check for .acc extension and convert it within the app, but that update will most likely take some time and only work for desktop.

As for that other example, I'll work on a regex that should be able to handle it and update you soon with the new release. Thanks for providing all the detailed information. It really helps!

sbsamarski commented 4 months ago

No worries. Thanks for making such a useful plugin!

As for the file path - isn't it written in the attachment link? If it's not an absolute path then the path in the link is relative to the note folder itself. Or if it's just a file without a path then it's in the default folder (or its subfolders, as in the example), as set up in the default location for attachments setting. Hm, I'd think Obsidian has some API for giving you the file location? It's kinda strange that you have to look for it if it's already in the note and Obsidian has it already indexed...

Mossy1022 commented 4 months ago

It does have an API for giving file location, not sure why it's as complicated. I've just troubleshooted on my end with updated code and it feels like there's no way it can't work with yours unless there's a regex issue I'm not seeing. I'm just getting that path as is shown on the link within your note that points to the audio file. I've also added a number of console logs that should help see what the exact problem is when you try to transcribe.

I've just made a new release for 1.1.3 that should resolve the issue. Let me know if that works for you.

@mattjparkerr I've added back the "Record smart memo" command to the command palette as well in this release.

mattjparkerr commented 4 months ago

I uninstalled and reinstalled to downgrade to 1.1.3 , works on the Mac version of obsidian. However the iOS version having the same file handling error.. tried to perform same uninstall and reinstall of the plugin on iOS obsidian

Mossy1022 commented 4 months ago

Oh good catch on iOS. Thanks for testing that. I will keep the same functionality and see what the issue is for iOS.

Mossy1022 commented 4 months ago

@mattjparkerr Ok so interesting. I have no problems on my iOS, so I can't really debug what the issue is. What version are you using for iOS? I'm using 18, though I feel that shouldn't matter.

When you reinstalled on iOS did you remember to add in the API key?

Mossy1022 commented 4 months ago

@mattjparkerr Wait I think I may have resolved the issue. When you get the chance can you update to 1.1.4 and test?

I've defaulted saving the recordings to the root and added an option in settings to specify a folder path should you want to store them somewhere specific

mattjparkerr commented 3 months ago

@Mossy1022 Sorry did not see your message I have been using the smart memos seems like its working fine. I am using an IOS device to do this on and a mac. I am using default folders with obsidian saving to Icloud directory.

Mossy1022 commented 3 months ago

Beautiful! Thanks Matt 😁 I will mark this as resolved